vendors~main.app.js 2.4 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084
  1. (window["webpackJsonp"] = window["webpackJsonp"] || []).push([["vendors~main"],{
  2. /***/ "./node_modules/chart.js/auto/auto.esm.js":
  3. /*!************************************************!*\
  4. !*** ./node_modules/chart.js/auto/auto.esm.js ***!
  5. \************************************************/
  6. /*! exports provided: default */
  7. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8. "use strict";
  9. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dist_chart_esm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dist/chart.esm */ \"./node_modules/chart.js/dist/chart.esm.js\");\n\n\n_dist_chart_esm__WEBPACK_IMPORTED_MODULE_0__[\"Chart\"].register(..._dist_chart_esm__WEBPACK_IMPORTED_MODULE_0__[\"registerables\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_dist_chart_esm__WEBPACK_IMPORTED_MODULE_0__[\"Chart\"]);\n\n\n//# sourceURL=webpack:///./node_modules/chart.js/auto/auto.esm.js?");
  10. /***/ }),
  11. /***/ "./node_modules/chart.js/dist/chart.esm.js":
  12. /*!*************************************************!*\
  13. !*** ./node_modules/chart.js/dist/chart.esm.js ***!
  14. \*************************************************/
  15. /*! exports provided: defaults, Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, Decimation, DomPlatform, DoughnutController, Element, Filler, Interaction, Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, SubTitle, Ticks, TimeScale, TimeSeriesScale, Title, Tooltip, _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales */
  16. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  17. "use strict";
  18. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Animation\", function() { return Animation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Animations\", function() { return Animations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ArcElement\", function() { return ArcElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BarController\", function() { return BarController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BarElement\", function() { return BarElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BasePlatform\", function() { return BasePlatform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BasicPlatform\", function() { return BasicPlatform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BubbleController\", function() { return BubbleController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CategoryScale\", function() { return CategoryScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Chart\", function() { return Chart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DatasetController\", function() { return DatasetController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Decimation\", function() { return plugin_decimation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DomPlatform\", function() { return DomPlatform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DoughnutController\", function() { return DoughnutController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Element\", function() { return Element; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Filler\", function() { return plugin_filler; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Interaction\", function() { return Interaction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Legend\", function() { return plugin_legend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineController\", function() { return LineController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineElement\", function() { return LineElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LinearScale\", function() { return LinearScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LogarithmicScale\", function() { return LogarithmicScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PieController\", function() { return PieController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PointElement\", function() { return PointElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PolarAreaController\", function() { return PolarAreaController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RadarController\", function() { return RadarController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RadialLinearScale\", function() { return RadialLinearScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scale\", function() { return Scale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScatterController\", function() { return ScatterController; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SubTitle\", function() { return plugin_subtitle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Ticks\", function() { return Ticks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TimeScale\", function() { return TimeScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TimeSeriesScale\", function() { return TimeSeriesScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Title\", function() { return plugin_title; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Tooltip\", function() { return plugin_tooltip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_adapters\", function() { return adapters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_detectPlatform\", function() { return _detectPlatform; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"animator\", function() { return animator; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"controllers\", function() { return controllers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"elements\", function() { return elements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layouts\", function() { return layouts; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"plugins\", function() { return plugins; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerables\", function() { return registerables; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registry\", function() { return registry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scales\", function() { return scales; });\n/* harmony import */ var _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chunks/helpers.segment.js */ \"./node_modules/chart.js/dist/chunks/helpers.segment.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaults\", function() { return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"]; });\n\n/*!\n * Chart.js v3.5.0\n * https://www.chartjs.org\n * (c) 2021 Chart.js Contributors\n * Released under the MIT License\n */\n\n\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n const me = this;\n if (me._request) {\n return;\n }\n me._running = true;\n me._request = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"r\"].call(window, () => {\n me._update();\n me._request = null;\n if (me._running) {\n me._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n const me = this;\n let remaining = 0;\n me._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n me._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n me._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n me._lastDate = date;\n if (remaining === 0) {\n me._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"c\"])(from || transparent);\n const c1 = c0.valid && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"c\"])(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([cfg.to, to, currentValue, cfg.from]);\n const from = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"e\"][cfg.easing] || _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"e\"].linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n const me = this;\n if (me._active) {\n me._notify(false);\n const currentValue = me._target[me._prop];\n const elapsed = date - me._start;\n const remain = me._duration - elapsed;\n me._start = date;\n me._duration = Math.floor(Math.max(remain, cfg.duration));\n me._total += elapsed;\n me._loop = !!cfg.loop;\n me._to = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([cfg.to, to, currentValue, cfg.from]);\n me._from = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n const me = this;\n if (me._active) {\n me.tick(Date.now());\n me._active = false;\n me._notify(false);\n }\n }\n tick(date) {\n const me = this;\n const elapsed = date - me._start;\n const duration = me._duration;\n const prop = me._prop;\n const from = me._from;\n const loop = me._loop;\n const to = me._to;\n let factor;\n me._active = from !== to && (loop || (elapsed < duration));\n if (!me._active) {\n me._target[prop] = to;\n me._notify(true);\n return;\n }\n if (elapsed < 0) {\n me._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = me._easing(Math.min(1, Math.max(0, factor)));\n me._target[prop] = me._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].animation);\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('animations', {\n _fallback: 'animation',\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(otherValue) && (singleMode || (value === 0 || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(value) === Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive) {\n for (const meta of vScale.getMatchingVisibleMetas('bar').reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true);\n stack._bottom = getLastIndexInStack(stack, vScale, false);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return Object.assign(Object.create(parent),\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return Object.assign(Object.create(parent), {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const me = this;\n const meta = me._cachedMeta;\n me.configure();\n me.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n me.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const me = this;\n const chart = me.chart;\n const meta = me._cachedMeta;\n const dataset = me.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = me.getScaleForId(xid);\n meta.yScale = me.getScaleForId(yid);\n meta.rScale = me.getScaleForId(rid);\n meta.iScale = me.getScaleForId(iid);\n meta.vScale = me.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"u\"])(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const me = this;\n const dataset = me.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = me._data;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(data)) {\n me._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"u\"])(_data, me);\n const meta = me._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"l\"])(data, me);\n }\n me._syncList = [];\n me._data = data;\n }\n }\n addElements() {\n const me = this;\n const meta = me._cachedMeta;\n me._dataCheck();\n if (me.datasetElementType) {\n meta.dataset = new me.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const me = this;\n const meta = me._cachedMeta;\n const dataset = me.getDataset();\n let stackChanged = false;\n me._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n me._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(me, meta._parsed);\n }\n }\n configure() {\n const me = this;\n const config = me.chart.config;\n const scopeKeys = config.datasetScopeKeys(me._type);\n const scopes = config.getOptionScopes(me.getDataset(), scopeKeys, true);\n me.options = config.createResolver(scopes, me.getContext());\n me._parsing = me.options.parsing;\n }\n parse(start, count) {\n const me = this;\n const {_cachedMeta: meta, _data: data} = me;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (me._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(data[start])) {\n parsed = me.parseArrayData(meta, data, start, count);\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(data[start])) {\n parsed = me.parseObjectData(meta, data, start, count);\n } else {\n parsed = me.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(me, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(item, xAxisKey), index),\n y: yScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n value = applyStack(stack, parsedValue, this._cachedMeta.index, {all: true});\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const me = this;\n const meta = me._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = me._getOtherScale(scale);\n const stack = canStack && meta._stacked && {keys: getSortedDatasetIndices(me.chart, true), values: null};\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, value, parsed, otherValue;\n function _skip() {\n parsed = _parsed[i];\n value = parsed[scale.axis];\n otherValue = parsed[otherScale.axis];\n return !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(value) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n me.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n me.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = me.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const me = this;\n const meta = me._cachedMeta;\n me.configure();\n me._cachedDataOpts = {};\n me.update(mode || 'default');\n meta._clip = toClip(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(me.options.clip, defaultClip(meta.xScale, meta.yScale, me.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const me = this;\n const ctx = me._ctx;\n const chart = me.chart;\n const meta = me._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = me._drawStart || 0;\n const count = me._drawCount || (elements.length - start);\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const me = this;\n const dataset = me.getDataset();\n let context;\n if (index >= 0 && index < me._cachedMeta.data.length) {\n const element = me._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(me.getContext(), index, element));\n context.parsed = me.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = me.$context ||\n (me.$context = createDatasetContext(me.chart.getContext(), me.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = me.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const me = this;\n const active = mode === 'active';\n const cache = me._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = me.enableOptionSharing && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = me.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(me._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(me.getDataset(), scopeKeys);\n const names = Object.keys(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].elements[elementType]);\n const context = () => me.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const me = this;\n const chart = me.chart;\n const cache = me._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = me.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(me._type, transition);\n const scopes = config.getOptionScopes(me.getDataset(), scopeKeys);\n options = config.createResolver(scopes, me.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const me = this;\n const data = me._data;\n const elements = me._cachedMeta.data;\n for (const [method, arg1, arg2] of me._syncList) {\n me[method](arg1, arg2);\n }\n me._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n me.parse(0, count);\n }\n if (numData > numMeta) {\n me._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n me._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const me = this;\n const meta = me._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new me.dataElementType();\n }\n if (me._parsing) {\n move(meta._parsed);\n }\n me.parse(start, count);\n if (resetNewElements) {\n me.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const me = this;\n const meta = me._cachedMeta;\n if (me._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _onDataPush() {\n const count = arguments.length;\n this._syncList.push(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._syncList.push(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._syncList.push(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n this._syncList.push(['_removeElements', start, count]);\n this._syncList.push(['_insertElements', start, arguments.length - 2]);\n }\n _onDataUnshift() {\n this._syncList.push(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale) {\n if (!scale._cache.$bar) {\n const metas = scale.getMatchingVisibleMetas('bar');\n let values = [];\n for (let i = 0, ilen = metas.length; i < ilen; i++) {\n values = values.concat(metas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"_\"])(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(scale) {\n const values = getAllScaleValues(scale);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(obj, iAxisKey), i);\n parsed.push(parseValue(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = me.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n const me = this;\n me.enableOptionSharing = true;\n super.initialize();\n const meta = me._cachedMeta;\n meta.stack = me.getDataset().stack;\n }\n update(mode) {\n const me = this;\n const meta = me._cachedMeta;\n me.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = me;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = me._getRuler();\n const firstOpts = me.resolveDataElementOptions(start, mode);\n const sharedOptions = me.getSharedOptions(firstOpts);\n const includeOptions = me.includeOptions(mode, sharedOptions);\n me.updateSharedOptions(sharedOptions, mode, firstOpts);\n for (let i = start; i < start + count; i++) {\n const parsed = me.getParsed(i);\n const vpixels = reset || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(parsed[vScale.axis]) ? {base, head: base} : me._calculateBarValuePixels(i);\n const ipixels = me._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || me.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n setBorderSkipped(properties, properties.options || bars[i].options, stack, index);\n me.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const me = this;\n const meta = me._cachedMeta;\n const iScale = meta.iScale;\n const metasets = iScale.getMatchingVisibleMetas(me._type);\n const stacked = iScale.options.stacked;\n const ilen = metasets.length;\n const stacks = [];\n let i, item;\n for (i = 0; i < ilen; ++i) {\n item = metasets[i];\n if (!item.controller.options.grouped) {\n continue;\n }\n if (typeof dataIndex !== 'undefined') {\n const val = item.controller.getParsed(dataIndex)[\n item.controller._cachedMeta.vScale.axis\n ];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(val) || isNaN(val)) {\n continue;\n }\n }\n if (stacked === false || stacks.indexOf(item.stack) === -1 ||\n\t\t\t\t(stacked === undefined && item.stack === undefined)) {\n stacks.push(item.stack);\n }\n if (item.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const me = this;\n const opts = me.options;\n const meta = me._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(me.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(iScale);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: me._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const me = this;\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = me;\n const actualBase = baseValue || 0;\n const parsed = me.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? me.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(value) !== Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (me.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const me = this;\n const scale = ruler.scale;\n const options = me.options;\n const skipNull = options.skipNull;\n const maxBarThickness = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? me._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = me._getStackIndex(me.index, me._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(me.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const me = this;\n const meta = me._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (me.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(me._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n interaction: {\n mode: 'index'\n },\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = [];\n let i, ilen, item;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n item = data[i];\n parsed.push({\n x: xScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(item, xAxisKey), i),\n y: yScale.parse(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(item, yAxisKey), i),\n _custom: item && item.r && +item.r\n });\n }\n return parsed;\n }\n getMaxOverflow() {\n const {data, _parsed} = this._cachedMeta;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size() / 2, _parsed[i]._custom);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = me.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const me = this;\n const points = me._cachedMeta.data;\n me.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const {iScale, vScale} = me._cachedMeta;\n const firstOpts = me.resolveDataElementOptions(start, mode);\n const sharedOptions = me.getSharedOptions(firstOpts);\n const includeOptions = me.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && me.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = me.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n me.updateElement(point, i, properties, mode);\n }\n me.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"o\"])(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"o\"])(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], startY, endY);\n const minX = calcMin(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"], startX, endX);\n const minY = calcMin(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"] + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = +data[i];\n }\n }\n _getRotation() {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(this.options.rotation - 90);\n }\n _getCircumference() {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(this.options.circumference);\n }\n _getRotationExtents() {\n let min = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"];\n let max = -_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"];\n const me = this;\n for (let i = 0; i < me.chart.data.datasets.length; ++i) {\n if (me.chart.isDatasetVisible(i)) {\n const controller = me.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const me = this;\n const chart = me.chart;\n const {chartArea} = chart;\n const meta = me._cachedMeta;\n const arcs = meta.data;\n const spacing = me.getMaxBorderWidth() + me.getMaxOffset(arcs) + me.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"k\"])(me.options.cutout, maxSize), 1);\n const chartWeight = me._getRingWeight(me.index);\n const {circumference, rotation} = me._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"m\"])(me.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / me._getVisibleDatasetWeightTotal();\n me.offsetX = offsetX * outerRadius;\n me.offsetY = offsetY * outerRadius;\n meta.total = me.calculateTotal();\n me.outerRadius = outerRadius - radiusLength * me._getRingWeightOffset(me.index);\n me.innerRadius = Math.max(me.outerRadius - radiusLength * chartWeight, 0);\n me.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const me = this;\n const opts = me.options;\n const meta = me._cachedMeta;\n const circumference = me._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return me.calculateCircumference(meta._parsed[i] * circumference / _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n }\n updateElements(arcs, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const chart = me.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : me.innerRadius;\n const outerRadius = animateScale ? 0 : me.outerRadius;\n const firstOpts = me.resolveDataElementOptions(start, mode);\n const sharedOptions = me.getSharedOptions(firstOpts);\n const includeOptions = me.includeOptions(mode, sharedOptions);\n let startAngle = me._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += me._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = me._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + me.offsetX,\n y: centerY + me.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || me.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n me.updateElement(arc, i, properties, mode);\n }\n me.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const chart = me.chart;\n const labels = chart.data.labels || [];\n const value = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n const me = this;\n let max = 0;\n const chart = me.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n if (controller !== me) {\n controller.configure();\n }\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n update(mode) {\n const me = this;\n const meta = me._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = me.chart._animationsDisabled;\n let {start, count} = getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n me._drawStart = start;\n me._drawCount = count;\n if (scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._datasetIndex = me.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = me.resolveDatasetElementOptions(mode);\n if (!me.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = me.options.segment;\n me.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n me.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked} = me._cachedMeta;\n const firstOpts = me.resolveDataElementOptions(start, mode);\n const sharedOptions = me.getSharedOptions(firstOpts);\n const includeOptions = me.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const spanGaps = me.options.spanGaps;\n const maxGapLength = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = me.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && me.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = me.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? me.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n properties.parsed = parsed;\n if (includeOptions) {\n properties.options = sharedOptions || me.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n me.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n me.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const me = this;\n const meta = me._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(me.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(me.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\nfunction getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Math.min(\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Math.max(\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(_parsed, iScale.axis, max).hi + 1,\n animationsDisabled ? 0 : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(points, axis, iScale.getPixelForValue(max)).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const me = this;\n const meta = me._cachedMeta;\n const chart = me.chart;\n const labels = chart.data.labels || [];\n const value = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _updateRadius() {\n const me = this;\n const chart = me.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n me.outerRadius = outerRadius - (radiusLength * me.index);\n me.innerRadius = me.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const me = this;\n const reset = mode === 'reset';\n const chart = me.chart;\n const dataset = me.getDataset();\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = me._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"];\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / me.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += me._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + me._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(dataset.data[i]) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: me.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n me.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const dataset = this.getDataset();\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(dataset.data[index]) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const me = this;\n const vScale = me._cachedMeta.vScale;\n const parsed = me.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n update(mode) {\n const me = this;\n const meta = me._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = me.resolveDatasetElementOptions(mode);\n if (!me.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n me.updateElement(line, undefined, properties, mode);\n }\n me.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const me = this;\n const dataset = me.getDataset();\n const scale = me._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = me.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, dataset.data[i]);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n me.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass ScatterController extends LineController {\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction getRelativePosition(e, chart) {\n if ('native' in e) {\n return {\n x: e.x,\n y: e.y\n };\n }\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"x\"])(e, chart);\n}\nfunction evaluateAllVisibleItems(chart, handler) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n let index, data, element;\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n ({index, data} = metasets[i]);\n for (let j = 0, jlen = data.length; j < jlen; ++j) {\n element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"z\"] : _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"];\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction optimizedEvaluateItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition) {\n const items = [];\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(position, chart.chartArea, chart._minPadding)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n optimizedEvaluateItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition) {\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n let items = [];\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(position, chart.chartArea, chart._minPadding)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (intersect && !element.inRange(position.x, position.y, useFinalPosition)) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(center, chart.chartArea, chart._minPadding) && !element.inRange(position.x, position.y, useFinalPosition)) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n };\n optimizedEvaluateItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getAxisItems(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const items = [];\n const axis = options.axis;\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateAllVisibleItems(chart, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n intersectsItem = true;\n }\n });\n if (options.intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition)\n : getNearestItems(chart, position, axis, false, useFinalPosition);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition) :\n getNearestItems(chart, position, axis, false, useFinalPosition);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n return getIntersectItems(chart, position, axis, useFinalPosition);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition);\n },\n x(chart, e, options, useFinalPosition) {\n options.axis = 'x';\n return getAxisItems(chart, e, options, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n options.axis = 'y';\n return getAxisItems(chart, e, options, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('layout', {\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h);\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"E\"])(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"E\"])(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"G\"] ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"x\"])(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(canvas);\n const element = container || canvas;\n const observer = new MutationObserver(entries => {\n const parent = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(element);\n entries.forEach(entry => {\n for (let i = 0; i < entry.addedNodes.length; i++) {\n const added = entry.addedNodes[i];\n if (added === element || added === parent) {\n listener(entry.target);\n }\n }\n });\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(canvas);\n if (!container) {\n return;\n }\n const observer = new MutationObserver(entries => {\n entries.forEach(entry => {\n for (let i = 0; i < entry.removedNodes.length; i++) {\n if (entry.removedNodes[i] === canvas) {\n listener();\n break;\n }\n }\n });\n });\n observer.observe(container, {childList: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(canvas);\n if (!container) {\n return;\n }\n const resize = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"F\"])((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"F\"])((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"C\"])(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"D\"])(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"I\"])() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(this.x) && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(this.y);\n }\n getProps(props, final) {\n const me = this;\n const anims = this.$animations;\n if (!final || !anims) {\n return me;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : me[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route('scale.ticks', 'color', '', 'color');\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route('scale.grid', 'color', '', 'borderColor');\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route('scale.grid', 'borderColor', '', 'borderColor');\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route('scale.title', 'color', '', 'color');\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('scales', {\n _fallback: 'scale',\n});\n_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"K\"])(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(majorStart, 0);\n const end = Math.min(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.font, fallback);\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(options.padding);\n const lines = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return Object.assign(Object.create(parent), {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return Object.assign(Object.create(parent), {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Y\"])(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, left, right);\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, bottom, top);\n rotation = position === 'left' ? -_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"] : _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"];\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n const me = this;\n me.options = options.setContext(me.getContext());\n me.axis = options.axis;\n me._userMin = me.parse(options.min);\n me._userMax = me.parse(options.max);\n me._suggestedMin = me.parse(options.suggestedMin);\n me._suggestedMax = me.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_userMin, Number.POSITIVE_INFINITY);\n _userMax = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_userMin, _suggestedMin),\n max: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(_userMax, _suggestedMax),\n minDefined: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(_userMin),\n maxDefined: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(_userMax)\n };\n }\n getMinMax(canStack) {\n const me = this;\n let {min, max, minDefined, maxDefined} = me.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = me.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(me, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n return {\n min: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(min, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(max, min)),\n max: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(max, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(min, max))\n };\n }\n getPadding() {\n const me = this;\n return {\n left: me.paddingLeft || 0,\n top: me.paddingTop || 0,\n right: me.paddingRight || 0,\n bottom: me.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const me = this;\n const tickOpts = me.options.ticks;\n const sampleSize = tickOpts.sampleSize;\n me.beforeUpdate();\n me.maxWidth = maxWidth;\n me.maxHeight = maxHeight;\n me._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n me.ticks = null;\n me._labelSizes = null;\n me._gridLineItems = null;\n me._labelItems = null;\n me.beforeSetDimensions();\n me.setDimensions();\n me.afterSetDimensions();\n me._maxLength = me.isHorizontal()\n ? me.width + margins.left + margins.right\n : me.height + margins.top + margins.bottom;\n if (!me._dataLimitsCached) {\n me.beforeDataLimits();\n me.determineDataLimits();\n me.afterDataLimits();\n me._range = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"N\"])(me, me.options.grace);\n me._dataLimitsCached = true;\n }\n me.beforeBuildTicks();\n me.ticks = me.buildTicks() || [];\n me.afterBuildTicks();\n const samplingEnabled = sampleSize < me.ticks.length;\n me._convertTicksToLabels(samplingEnabled ? sample(me.ticks, sampleSize) : me.ticks);\n me.configure();\n me.beforeCalculateLabelRotation();\n me.calculateLabelRotation();\n me.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n me.ticks = autoSkip(me, me.ticks);\n me._labelSizes = null;\n }\n if (samplingEnabled) {\n me._convertTicksToLabels(me.ticks);\n }\n me.beforeFit();\n me.fit();\n me.afterFit();\n me.afterUpdate();\n }\n configure() {\n const me = this;\n let reversePixels = me.options.reverse;\n let startPixel, endPixel;\n if (me.isHorizontal()) {\n startPixel = me.left;\n endPixel = me.right;\n } else {\n startPixel = me.top;\n endPixel = me.bottom;\n reversePixels = !reversePixels;\n }\n me._startPixel = startPixel;\n me._endPixel = endPixel;\n me._reversePixels = reversePixels;\n me._length = endPixel - startPixel;\n me._alignToPixels = me.options.alignToPixels;\n }\n afterUpdate() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n const me = this;\n if (me.isHorizontal()) {\n me.width = me.maxWidth;\n me.left = 0;\n me.right = me.width;\n } else {\n me.height = me.maxHeight;\n me.top = 0;\n me.bottom = me.height;\n }\n me.paddingLeft = 0;\n me.paddingTop = 0;\n me.paddingRight = 0;\n me.paddingBottom = 0;\n }\n afterSetDimensions() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n const me = this;\n me.chart.notifyPlugins(name, me.getContext());\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(me.options[name], [me]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const me = this;\n const tickOpts = me.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(tickOpts.callback, [tick.value, i, ticks], me);\n }\n }\n afterTickToLabelConversion() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const me = this;\n const options = me.options;\n const tickOpts = options.ticks;\n const numTicks = me.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!me._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !me.isHorizontal()) {\n me.labelRotation = minRotation;\n return;\n }\n const labelSizes = me._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(me.chart.width - maxLabelWidth, 0, me.maxWidth);\n tickWidth = options.offset ? me.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = me.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, me.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"O\"])(Math.min(\n Math.asin(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n me.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterCalculateLabelRotation, [this]);\n }\n beforeFit() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.beforeFit, [this]);\n }\n fit() {\n const me = this;\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = me;\n const display = me._isVisible();\n const isHorizontal = me.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = me.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = me.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && me.ticks.length) {\n const {first, last, widest, highest} = me._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(me.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(me.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n me._calculatePadding(first, last, sin, cos);\n }\n }\n me._handleMargins();\n if (isHorizontal) {\n me.width = me._length = chart.width - me._margins.left - me._margins.right;\n me.height = minSize.height;\n } else {\n me.width = minSize.width;\n me.height = me._length = chart.height - me._margins.top - me._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const me = this;\n const {ticks: {align, padding}, position} = me.options;\n const isRotated = me.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && me.axis === 'x';\n if (me.isHorizontal()) {\n const offsetLeft = me.getPixelForTick(0) - me.left;\n const offsetRight = me.right - me.getPixelForTick(me.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n me.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * me.width / (me.width - offsetLeft), 0);\n me.paddingRight = Math.max((paddingRight - offsetRight + padding) * me.width / (me.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n me.paddingTop = paddingTop + padding;\n me.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n const me = this;\n if (me._margins) {\n me._margins.left = Math.max(me.paddingLeft, me._margins.left);\n me._margins.top = Math.max(me.paddingTop, me._margins.top);\n me._margins.right = Math.max(me.paddingRight, me._margins.right);\n me._margins.bottom = Math.max(me.paddingBottom, me._margins.bottom);\n }\n }\n afterFit() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n const me = this;\n me.beforeTickToLabelConversion();\n me.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n me.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n const me = this;\n let labelSizes = me._labelSizes;\n if (!labelSizes) {\n const sampleSize = me.options.ticks.sampleSize;\n let ticks = me.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n me._labelSizes = labelSizes = me._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(label) && !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(label)) {\n width = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Q\"])(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(nestedLabel) && !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(nestedLabel)) {\n width = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Q\"])(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n const me = this;\n if (me._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = me._startPixel + decimal * me._length;\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"R\"])(me._alignToPixels ? Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(me.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const me = this;\n const ticks = me.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(me.getContext(), index, tick));\n }\n return me.$context ||\n\t\t\t(me.$context = createScaleContext(me.chart.getContext(), me));\n }\n _tickSize() {\n const me = this;\n const optionTicks = me.options.ticks;\n const rot = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = me._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return me.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const me = this;\n const axis = me.axis;\n const chart = me.chart;\n const options = me.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = me.isHorizontal();\n const ticks = me.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(me.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(me.bottom);\n ty1 = me.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(me.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = me.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(me.right);\n tx1 = me.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(me.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = me.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(me.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(me.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(me.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = grid.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(me, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n me._ticksLength = ticksLength;\n me._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const me = this;\n const axis = me.axis;\n const options = me.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = me.isHorizontal();\n const ticks = me.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = me.bottom - hTickAndPadding;\n textAlign = me._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = me.top + hTickAndPadding;\n textAlign = me._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = me._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = me._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = me.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = me._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = me.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = me._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = me._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(me.getContext(i));\n pixel = me.getPixelForTick(i) + optionTicks.labelOffset;\n font = me._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n if (isHorizontal) {\n x = pixel;\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const me = this;\n const {position, ticks} = me.options;\n const rotation = -Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const me = this;\n const {position, ticks: {crossAlign, mirror, padding}} = me.options;\n const labelSizes = me._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n textAlign = 'left';\n x = me.right + padding;\n } else {\n x = me.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = me.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n textAlign = 'right';\n x = me.left + padding;\n } else {\n x = me.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = me.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n const me = this;\n if (me.options.ticks.mirror) {\n return;\n }\n const chart = me.chart;\n const position = me.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: me.left, bottom: chart.height, right: me.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: me.top, left: 0, bottom: me.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const me = this;\n const grid = me.options.grid;\n if (!me._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = me.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(me.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const me = this;\n const grid = me.options.grid;\n const ctx = me.ctx;\n const items = me._gridLineItems || (me._gridLineItems = me._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const me = this;\n const {chart, ctx, options: {grid}} = me;\n const borderOpts = grid.setContext(me.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(me.getContext(0)).lineWidth;\n const borderValue = me._borderValue;\n let x1, x2, y1, y2;\n if (me.isHorizontal()) {\n x1 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, me.left, axisWidth) - axisWidth / 2;\n x2 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, me.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, me.top, axisWidth) - axisWidth / 2;\n y2 = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"S\"])(chart, me.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const me = this;\n const optionTicks = me.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = me.ctx;\n const area = me._computeLabelArea();\n if (area) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"U\"])(ctx, area);\n }\n const items = me._labelItems || (me._labelItems = me._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"W\"])(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(title.font);\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(position)) {\n offset += padding.bottom;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n const me = this;\n if (!me._isVisible()) {\n return;\n }\n me.drawBackground();\n me.drawGrid(chartArea);\n me.drawBorder();\n me.drawTitle();\n me.drawLabels(chartArea);\n }\n _layers() {\n const me = this;\n const opts = me.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(opts.grid && opts.grid.z, -1);\n if (!me._isVisible() || me.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw(chartArea) {\n me.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw(chartArea) {\n me.drawBackground();\n me.drawGrid(chartArea);\n me.drawTitle();\n }\n }, {\n z: gz + 1,\n draw() {\n me.drawBorder();\n }\n }, {\n z: tz,\n draw(chartArea) {\n me.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const me = this;\n const metas = me.chart.getSortedVisibleDatasetMetas();\n const axisID = me.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === me.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(opts.font);\n }\n _maxDigits() {\n const me = this;\n const fontSize = me._resolveTickFontOptions(0).lineHeight;\n return (me.isHorizontal() ? me.width : me.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const me = this;\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = me.register(proto);\n }\n const items = me.items;\n const id = item.id;\n const scope = me.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (me.override) {\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"][scope]) {\n delete _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"][scope][id];\n if (this.override) {\n delete _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a0\"])(Object.create(null), [\n parentScope ? _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].get(parentScope) : {},\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].get(scope),\n item.defaults\n ]);\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n const me = this;\n [...args].forEach(arg => {\n const reg = typedRegistry || me._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === me.plugins && arg.id)) {\n me._exec(method, reg, arg);\n } else {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(arg, item => {\n const itemReg = typedRegistry || me._getRegistryForType(item);\n me._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a1\"])(method);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(component['before' + camelMethod], [], component);\n registry[method](component);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n const me = this;\n if (hook === 'beforeInit') {\n me._init = me._createDescriptors(chart, true);\n me._notify(me._init, chart, 'install');\n }\n const descriptors = filter ? me._descriptors(chart).filter(filter) : me._descriptors(chart);\n const result = me._notify(descriptors, chart, hook, args);\n if (hook === 'destroy') {\n me._notify(descriptors, chart, 'stop');\n me._notify(me._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n }\n }\n return plugins;\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, plugins, options, all) {\n const result = [];\n const context = chart.getContext();\n for (let i = 0; i < plugins.length; i++) {\n const plugin = plugins[i];\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, plugin, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, plugin, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n return config.createResolver(scopes, context, [''], {scriptable: false, indexable: false, allKeys: true});\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a7\"])(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a7\"])(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a7\"])(scale, [_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].scales[scale.type], _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"f\"])(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][type] || {}, key));\n keys.forEach(key => addIfFound(scopes, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"], key));\n keys.forEach(key => addIfFound(scopes, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a2\"], key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"][type] || {},\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].datasets[type] || {},\n {type},\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"],\n _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a2\"]\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a3\"])(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a4\"])(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(context)\n ? Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a4\"])(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a5\"])(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a6\"])(proxy);\n for (const prop of names) {\n if ((isScriptable(prop) && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a3\"])(proxy[prop]))\n || (isIndexable(prop) && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(proxy[prop]))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.5.0\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"I\"])() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nclass Chart {\n constructor(item, userConfig) {\n const me = this;\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), me.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n const context = me.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a8\"])();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this.scale = undefined;\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a9\"])(() => this.update('resize'), options.resizeDelay || 0);\n instances[me.id] = me;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(me, 'complete', onAnimationsComplete);\n animator.listen(me, 'progress', onAnimationProgress);\n me._initialize();\n if (me.attached) {\n me.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n const me = this;\n me.notifyPlugins('beforeInit');\n if (me.options.responsive) {\n me.resize();\n } else {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aa\"])(me, me.options.devicePixelRatio);\n }\n me.bindEvents();\n me.notifyPlugins('afterInit');\n return me;\n }\n clear() {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ab\"])(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const me = this;\n const options = me.options;\n const canvas = me.canvas;\n const aspectRatio = options.maintainAspectRatio && me.aspectRatio;\n const newSize = me.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || me.platform.getDevicePixelRatio();\n me.width = newSize.width;\n me.height = newSize.height;\n me._aspectRatio = me.aspectRatio;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aa\"])(me, newRatio, true)) {\n return;\n }\n me.notifyPlugins('resize', {size: newSize});\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(options.onResize, [me, newSize], me);\n if (me.attached) {\n if (me._doResize()) {\n me.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const me = this;\n const options = me.options;\n const scaleOpts = options.scales;\n const scales = me.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: me.ctx,\n chart: me\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(scales, (scale) => {\n layouts.configure(me, scale, scale.options);\n layouts.addBox(me, scale);\n });\n }\n _updateMetasets() {\n const me = this;\n const metasets = me._metasets;\n const numData = me.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n me._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n me._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const me = this;\n const {_metasets: metasets, data: {datasets}} = me;\n if (metasets.length > datasets.length) {\n delete me._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n me._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const me = this;\n const newControllers = [];\n const datasets = me.data.datasets;\n let i, ilen;\n me._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = me.getDatasetMeta(i);\n const type = dataset.type || me.config.type;\n if (meta.type && meta.type !== type) {\n me._destroyDatasetMeta(i);\n meta = me.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, me.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = me.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(me, i);\n newControllers.push(meta.controller);\n }\n }\n me._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n const me = this;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.data.datasets, (dataset, datasetIndex) => {\n me.getDatasetMeta(datasetIndex).controller.reset();\n }, me);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const me = this;\n const config = me.config;\n config.update();\n me._options = config.createResolver(config.chartOptionScopes(), me.getContext());\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.scales, (scale) => {\n layouts.removeBox(me, scale);\n });\n const animsDisabled = me._animationsDisabled = !me.options.animation;\n me.ensureScalesHaveIDs();\n me.buildOrUpdateScales();\n const existingEvents = new Set(Object.keys(me._listeners));\n const newEvents = new Set(me.options.events);\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ac\"])(existingEvents, newEvents) || !!this._responsiveListeners !== me.options.responsive) {\n me.unbindEvents();\n me.bindEvents();\n }\n me._plugins.invalidate();\n if (me.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = me.buildOrUpdateControllers();\n me.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = me.data.datasets.length; i < ilen; i++) {\n const {controller} = me.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n me._minPadding = minPadding;\n me._updateLayout(minPadding);\n if (!animsDisabled) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(newControllers, (controller) => {\n controller.reset();\n });\n }\n me._updateDatasets(mode);\n me.notifyPlugins('afterUpdate', {mode});\n me._layers.sort(compare2Level('z', '_idx'));\n if (me._lastEvent) {\n me._eventHandler(me._lastEvent, true);\n }\n me.render();\n }\n _updateLayout(minPadding) {\n const me = this;\n if (me.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(me, me.width, me.height, minPadding);\n const area = me.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n me._layers = [];\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n me._layers.push(...box._layers());\n }, me);\n me._layers.forEach((item, index) => {\n item._idx = index;\n });\n me.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n const me = this;\n const isFunction = typeof mode === 'function';\n if (me.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\n me._updateDataset(i, isFunction ? mode({datasetIndex: i}) : mode);\n }\n me.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const me = this;\n const meta = me.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (me.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n me.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n const me = this;\n if (me.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(me)) {\n if (me.attached && !animator.running(me)) {\n animator.start(me);\n }\n } else {\n me.draw();\n onAnimationsComplete({chart: me});\n }\n }\n draw() {\n const me = this;\n let i;\n if (me._resizeBeforeDraw) {\n const {width, height} = me._resizeBeforeDraw;\n me._resize(width, height);\n me._resizeBeforeDraw = null;\n }\n me.clear();\n if (me.width <= 0 || me.height <= 0) {\n return;\n }\n if (me.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = me._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(me.chartArea);\n }\n me._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(me.chartArea);\n }\n me.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const me = this;\n const metasets = me._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n const me = this;\n if (me.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = me.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n me._drawDataset(metasets[i]);\n }\n me.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const me = this;\n const ctx = me.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = me.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (me.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"U\"])(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? me.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? me.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"W\"])(ctx);\n }\n args.cancelable = false;\n me.notifyPlugins('afterDatasetDraw', args);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const me = this;\n const dataset = me.data.datasets[datasetIndex];\n const metasets = me._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = {chart: this, type: 'chart'});\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const me = this;\n const mode = visible ? 'show' : 'hide';\n const meta = me.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n me.update();\n } else {\n me.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n me.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const me = this;\n const meta = me._metasets && me._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n delete me._metasets[datasetIndex];\n }\n }\n destroy() {\n const me = this;\n const {canvas, ctx} = me;\n let i, ilen;\n me.stop();\n animator.remove(me);\n for (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\n me._destroyDatasetMeta(i);\n }\n me.config.clearCache();\n if (canvas) {\n me.unbindEvents();\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ab\"])(canvas, ctx);\n me.platform.releaseContext(ctx);\n me.canvas = null;\n me.ctx = null;\n }\n me.notifyPlugins('destroy');\n delete instances[me.id];\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const me = this;\n const listeners = me._listeners;\n const platform = me.platform;\n const _add = (type, listener) => {\n platform.addEventListener(me, type, listener);\n listeners[type] = listener;\n };\n const listener = function(e, x, y) {\n e.offsetX = x;\n e.offsetY = y;\n me._eventHandler(e);\n };\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n const me = this;\n if (!me._responsiveListeners) {\n me._responsiveListeners = {};\n }\n const listeners = me._responsiveListeners;\n const platform = me.platform;\n const _add = (type, listener) => {\n platform.addEventListener(me, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(me, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (me.canvas) {\n me.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n me.attached = true;\n me.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n me.attached = false;\n _remove('resize', listener);\n _add('attach', attached);\n };\n if (platform.isAttached(me.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n const me = this;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me._listeners, (listener, type) => {\n me.platform.removeEventListener(me, type, listener);\n });\n me._listeners = {};\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me._responsiveListeners, (listener, type) => {\n me.platform.removeEventListener(me, type, listener);\n });\n me._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const me = this;\n const lastActive = me._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = me.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ad\"])(active, lastActive);\n if (changed) {\n me._active = active;\n me._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const me = this;\n const hoverOptions = me.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n me.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n me.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const me = this;\n const args = {event: e, replay, cancelable: true};\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.type);\n if (me.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = me._handleEvent(e, replay);\n args.cancelable = false;\n me.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n me.render();\n }\n return me;\n }\n _handleEvent(e, replay) {\n const me = this;\n const {_active: lastActive = [], options} = me;\n const hoverOptions = options.hover;\n const useFinalPosition = replay;\n let active = [];\n let changed = false;\n let lastEvent = null;\n if (e.type !== 'mouseout') {\n active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n lastEvent = e.type === 'click' ? me._lastEvent : e;\n }\n me._lastEvent = null;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(e, me.chartArea, me._minPadding)) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(options.onHover, [e, active, me], me);\n if (e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu') {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(options.onClick, [e, active, me], me);\n }\n }\n changed = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ad\"])(active, lastActive);\n if (changed || replay) {\n me._active = active;\n me._updateHoverStyles(active, lastActive, replay);\n }\n me._lastEvent = lastEvent;\n return changed;\n }\n}\nconst invalidatePlugins = () => Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"]\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"$\"]\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], startAngle - _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"]);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"af\"])(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(o.innerStart, 0, innerLimit),\n innerEnd: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"]) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"]);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"]);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"], outerStartAdjustedAngle);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"];\n if (circumference % _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] === 0) {\n endAngle += _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"];\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"], startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle) {\n const {options} = element;\n const inner = options.borderAlign === 'inner';\n if (!options.borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = options.borderWidth * 2;\n ctx.lineJoin = 'round';\n } else {\n ctx.lineWidth = options.borderWidth;\n ctx.lineJoin = 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ae\"])(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const betweenAngles = circumference >= _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"o\"])(angle, startAngle, endAngle);\n const withinRadius = (distance >= innerRadius + rAdjust && distance <= outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const me = this;\n const {options, circumference} = me;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n me.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n me.fullCircles = circumference > _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] ? Math.floor(circumference / _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]) : 0;\n if (circumference === 0 || me.innerRadius < 0 || me.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (me.startAngle + me.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (me.circumference >= _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"]) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, me, radiusOffset, spacing);\n drawBorder(ctx, me, radiusOffset, spacing, endAngle);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderDash, options.borderDash));\n ctx.lineDashOffset = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"am\"];\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"an\"];\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aj\"];\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ak\"];\n }\n return _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"al\"];\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && line.segments.length === 1) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const me = this;\n const options = me.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !me._pointsUpdated) {\n const loop = options.spanGaps ? me._loop : me._fullLoop;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ag\"])(me._points, options, chartArea, loop, indexAxis);\n me._pointsUpdated = true;\n }\n }\n set points(points) {\n const me = this;\n me._points = points;\n delete me._segments;\n delete me._path;\n me._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ah\"])(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const me = this;\n const options = me.options;\n const value = point[property];\n const points = me.points;\n const segments = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ai\"])(me, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const me = this;\n const segments = me.segments;\n const segmentMethod = _getSegmentMethod(me);\n let loop = me._loop;\n start = start || 0;\n count = count || (me.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, me, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const me = this;\n const options = me.options || {};\n const points = me.points || [];\n if (!points.length || !options.borderWidth) {\n return;\n }\n ctx.save();\n draw(ctx, me, start, count);\n ctx.restore();\n if (me.animated) {\n me._pointsUpdated = false;\n me._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const me = this;\n const options = me.options;\n if (me.skip || options.radius < 0.1 || !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"y\"])(me, area, me.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ao\"])(ctx, options, me.x, me.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aq\"])(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ar\"])(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const options = this.options;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ap\"] : addNormalRectPath;\n const inflateAmount = 0.33;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = options.borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount, outer));\n ctx.fillStyle = options.backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n enableBorderRadius: true,\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(minIndex) && !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a\"])([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (meta.type !== 'line') {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\nfunction decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(target) && Math.floor(target) === target) {\n if (fill[0] === '-' || fill[0] === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n let target = null;\n let horizontal;\n if (fill === 'start') {\n target = scale.bottom;\n } else if (fill === 'end') {\n target = scale.top;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(fill)) {\n target = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n target = scale.getBasePixel();\n }\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(target)) {\n horizontal = scale.isHorizontal();\n return {\n x: horizontal ? target : null,\n y: horizontal ? null : target\n };\n }\n return null;\n}\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const target = [];\n const start = options.reverse ? scale.max : scale.min;\n const end = options.reverse ? scale.min : scale.max;\n let i, center, value;\n if (fill === 'start') {\n value = start;\n } else if (fill === 'end') {\n value = end;\n } else if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"i\"])(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n if (options.grid.circular) {\n center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction buildStackLine(source) {\n const {chart, scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(chart, index);\n linesBelow.push(createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nconst isLineAndNotInHideAnimation = (meta) => meta.type === 'line' && !meta.hidden;\nfunction getLinesBelow(chart, index) {\n const below = [];\n const metas = chart.getSortedVisibleDatasetMetas();\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (isLineAndNotInHideAnimation(meta)) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (pointValue >= firstValue && pointValue <= lastValue) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\nfunction getTarget(source) {\n const {chart, fill, line} = source;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return createBoundaryLine(boundary, line);\n}\nfunction createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _clip(ctx, target, clipY) {\n ctx.beginPath();\n target.path(ctx);\n ctx.lineTo(target.last().x, clipY);\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"at\"])(start);\n end = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"at\"])(end);\n }\n return {property, start, end};\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = findSegmentEnd(start, end, points);\n const bounds = getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ai\"])(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"as\"])(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\nfunction _fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n _clip(ctx, target, area.top);\n _fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n _clip(ctx, target, area.bottom);\n }\n _fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction drawfill(ctx, source, area) {\n const target = getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"U\"])(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"W\"])(ctx);\n }\n}\nvar plugin_filler = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw) {\n drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (source) {\n drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!source || source.fill === false || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n const me = this;\n me.maxWidth = maxWidth;\n me.maxHeight = maxHeight;\n me._margins = margins;\n me.setDimensions();\n me.buildLabels();\n me.fit();\n }\n setDimensions() {\n const me = this;\n if (me.isHorizontal()) {\n me.width = me.maxWidth;\n me.left = me._margins.left;\n me.right = me.width;\n } else {\n me.height = me.maxHeight;\n me.top = me._margins.top;\n me.bottom = me.height;\n }\n }\n buildLabels() {\n const me = this;\n const labelOpts = me.options.labels || {};\n let legendItems = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(labelOpts.generateLabels, [me.chart], me) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, me.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, me.chart.data));\n }\n if (me.options.reverse) {\n legendItems.reverse();\n }\n me.legendItems = legendItems;\n }\n fit() {\n const me = this;\n const {options, ctx} = me;\n if (!options.display) {\n me.width = me.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = me._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (me.isHorizontal()) {\n width = me.maxWidth;\n height = me._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = me.maxHeight;\n width = me._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n me.width = Math.min(width, options.maxWidth || me.maxWidth);\n me.height = Math.min(height, options.maxHeight || me.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const me = this;\n const {ctx, maxWidth, options: {labels: {padding}}} = me;\n const hitboxes = me.legendHitBoxes = [];\n const lineWidths = me.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n me.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const me = this;\n const {ctx, maxHeight, options: {labels: {padding}}} = me;\n const hitboxes = me.legendHitBoxes = [];\n const columnSizes = me.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n me.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n const me = this;\n if (!me.options.display) {\n return;\n }\n const titleHeight = me._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = me;\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(rtl, me.left, me.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.left + padding, me.right - me.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.left + padding, me.right - me.lineWidths[row]);\n }\n hitbox.top += me.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.top + titleHeight + padding, me.bottom - me.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.top + titleHeight + padding, me.bottom - me.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += me.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n const me = this;\n if (me.options.display) {\n const ctx = me.ctx;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"U\"])(ctx, me);\n me._draw();\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"W\"])(ctx);\n }\n }\n _draw() {\n const me = this;\n const {options: opts, columnSizes, lineWidths, ctx} = me;\n const {align, labels: labelOpts} = opts;\n const defaultColor = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].color;\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(opts.rtl, me.left, me.width);\n const labelFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n me.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineWidth, 1);\n ctx.fillStyle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.fillStyle, defaultColor);\n ctx.lineCap = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineDashOffset, 0);\n ctx.lineJoin = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxWidth * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ao\"])(ctx, drawOptions, centerX, centerY);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ar\"])(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ap\"])(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = me.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.left + padding, me.right - lineWidths[0]),\n y: me.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: me.left + padding,\n y: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.top + titleHeight + padding, me.bottom - columnSizes[0].height),\n line: 0\n };\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"av\"])(me.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n me.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(me.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > me.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.left + padding, me.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > me.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, me.top + titleHeight + padding, me.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aw\"])(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : me.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ax\"])(me.ctx, opts.textDirection);\n }\n drawTitle() {\n const me = this;\n const opts = me.options;\n const titleOpts = opts.title;\n const titleFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(titleOpts.font);\n const titlePadding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(opts.rtl, me.left, me.width);\n const ctx = me.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = me.left;\n let maxWidth = me.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...me.lineWidths);\n y = me.top + topPaddingPlusHalfFontSize;\n left = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(opts.align, left, me.right - maxWidth);\n } else {\n const maxHeight = me.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(opts.align, me.top, me.bottom - maxHeight - opts.labels.padding - me._computeTitleHeight());\n }\n const x = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Y\"])(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(titleOpts.font);\n const titlePadding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n const me = this;\n let i, hitBox, lh;\n if (x >= me.left && x <= me.right && y >= me.top && y <= me.bottom) {\n lh = me.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (x >= hitBox.left && x <= hitBox.left + hitBox.width && y >= hitBox.top && y <= hitBox.top + hitBox.height) {\n return me.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const me = this;\n const opts = me.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = me._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove') {\n const previous = me._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(opts.onLeave, [e, previous, me], me);\n }\n me._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(opts.onHover, [e, hoveredItem, me], me);\n }\n } else if (hoveredItem) {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(opts.onClick, [e, hoveredItem, me], me);\n }\n }\n}\nfunction isListened(type, opts) {\n if (type === 'mousemove' && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const me = this;\n const opts = me.options;\n me.left = 0;\n me.top = 0;\n if (!opts.display) {\n me.width = me.height = me.right = me.bottom = 0;\n return;\n }\n me.width = me.right = maxWidth;\n me.height = me.bottom = maxHeight;\n const lineCount = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(opts.text) ? opts.text.length : 1;\n me._padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(opts.padding);\n const textSize = lineCount * Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(opts.font).lineHeight + me._padding.height;\n if (me.isHorizontal()) {\n me.height = textSize;\n } else {\n me.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, bottom, top);\n rotation = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"] * -0.5;\n } else {\n titleX = right - offset;\n titleY = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Z\"])(align, top, bottom);\n rotation = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"P\"] * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const me = this;\n const ctx = me.ctx;\n const opts = me.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + me._padding.top;\n const {titleX, titleY, maxWidth, rotation} = me._drawArgs(offset);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"Y\"])(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"az\"])(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip._chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.bodyFont);\n const titleFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.titleFont);\n const footerFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2) : 0;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(body, (bodyItem) => {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.before, maxLineWidth);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.lines, maxLineWidth);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const radiusAndPadding = cornerRadius + caretPadding;\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= radiusAndPadding;\n } else if (xAlign === 'right') {\n x += radiusAndPadding;\n }\n return {\n x: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(x, 0, chart.width - size.width),\n y: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return Object.assign(Object.create(parent), {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._chart = config._chart;\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const me = this;\n const cached = me._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = me._chart;\n const options = me.options.setContext(me.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(me._chart, opts);\n if (opts._cacheable) {\n me._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n const me = this;\n return me.$context ||\n\t\t\t(me.$context = createTooltipContext(me._chart.getContext(), me, me._tooltipItems));\n }\n getTitle(context, options) {\n const me = this;\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(me, [context]);\n const title = callbacks.title.apply(me, [context]);\n const afterTitle = callbacks.afterTitle.apply(me, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const me = this;\n const {callbacks} = options;\n const bodyItems = [];\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(me, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(me, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(me, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const me = this;\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(me, [tooltipItems]);\n const footer = callbacks.footer.apply(me, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(me, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const me = this;\n const active = me._active;\n const data = me._chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(me._chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(me, context));\n labelPointStyles.push(scoped.labelPointStyle.call(me, context));\n labelTextColors.push(scoped.labelTextColor.call(me, context));\n });\n me.labelColors = labelColors;\n me.labelPointStyles = labelPointStyles;\n me.labelTextColors = labelTextColors;\n me.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const me = this;\n const options = me.options.setContext(me.getContext());\n const active = me._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (me.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(me, active, me._eventPosition);\n tooltipItems = me._createItems(options);\n me.title = me.getTitle(tooltipItems, options);\n me.beforeBody = me.getBeforeBody(tooltipItems, options);\n me.body = me.getBody(tooltipItems, options);\n me.afterBody = me.getAfterBody(tooltipItems, options);\n me.footer = me.getFooter(tooltipItems, options);\n const size = me._size = getTooltipSize(me, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(me._chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, me._chart);\n me.xAlign = alignment.xAlign;\n me.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n me._tooltipItems = tooltipItems;\n me.$context = undefined;\n if (properties) {\n me._resolveAnimations().update(me, properties);\n }\n if (changed && options.external) {\n options.external.call(me, {chart: me._chart, tooltip: me, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {cornerRadius, caretSize} = options;\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + cornerRadius + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - cornerRadius - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const me = this;\n const title = me.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(options.rtl, me.x, me.width);\n pt.x = getAlignedX(me, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const me = this;\n const labelColors = me.labelColors[i];\n const labelPointStyle = me.labelPointStyles[i];\n const {boxHeight, boxWidth} = options;\n const bodyFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.bodyFont);\n const colorX = getAlignedX(me, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ao\"])(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ao\"])(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = labelColors.borderWidth || 1;\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2);\n const borderRadius = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ar\"])(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ap\"])(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ap\"])(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = me.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const me = this;\n const {body} = me;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth} = options;\n const bodyFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(options.rtl, me.x, me.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(me, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + 1) : (boxWidth + 2)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = me.labelTextColors[i];\n ctx.fillStyle = textColor;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n me._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"B\"])(me.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const me = this;\n const footer = me.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"au\"])(options.rtl, me.x, me.width);\n pt.x = getAlignedX(me, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const radius = options.cornerRadius;\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + radius, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const me = this;\n const chart = me._chart;\n const anims = me.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(me, me._active, me._eventPosition);\n if (!position) {\n return;\n }\n const size = me._size = getTooltipSize(me, options);\n const positionAndSize = Object.assign({}, position, me._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n me.xAlign = alignment.xAlign;\n me.yAlign = alignment.yAlign;\n me.width = size.width;\n me.height = size.height;\n me.caretX = position.x;\n me.caretY = position.y;\n me._resolveAnimations().update(me, point);\n }\n }\n }\n draw(ctx) {\n const me = this;\n const options = me.options.setContext(me.getContext());\n let opacity = me.opacity;\n if (!opacity) {\n return;\n }\n me._updateAnimationTarget(options);\n const tooltipSize = {\n width: me.width,\n height: me.height\n };\n const pt = {\n x: me.x,\n y: me.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(options.padding);\n const hasTooltipContent = me.title.length || me.beforeBody.length || me.body.length || me.afterBody.length || me.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n me.drawBackground(pt, ctx, tooltipSize, options);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"av\"])(ctx, options.textDirection);\n pt.y += padding.top;\n me.drawTitle(pt, ctx, options);\n me.drawBody(pt, ctx, options);\n me.drawFooter(pt, ctx, options);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ax\"])(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const me = this;\n const lastActive = me._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = me._chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ad\"])(lastActive, active);\n const positionChanged = me._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n me._active = active;\n me._eventPosition = eventPosition;\n me.update(true);\n }\n }\n handleEvent(e, replay) {\n const me = this;\n const options = me.options;\n const lastActive = me._active || [];\n let changed = false;\n let active = [];\n if (e.type !== 'mouseout') {\n active = me._chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n }\n const positionChanged = me._positionChanged(active, e);\n changed = replay || !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ad\"])(active, lastActive) || positionChanged;\n if (changed) {\n me._active = active;\n if (options.enabled || options.external) {\n me._eventPosition = {\n x: e.x,\n y: e.y\n };\n me.update(true, replay);\n }\n }\n return changed;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({_chart: chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n if (tooltip) {\n tooltip.draw(chart.ctx);\n }\n chart.notifyPlugins('afterTooltipDraw', args);\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n beforeBody: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n beforeLabel: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n afterBody: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n beforeFooter: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n footer: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"],\n afterFooter: _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"ay\"]\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: plugin_filler,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index) => typeof raw === 'string'\n ? labels.push(raw) - 1\n : isNaN(raw) ? null : index;\nfunction findOrAddLabel(labels, raw, index) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(index, raw));\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const me = this;\n const {minDefined, maxDefined} = me.getUserBounds();\n let {min, max} = me.getMinMax(true);\n if (me.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = me.getLabels().length - 1;\n }\n }\n me.min = min;\n me.max = max;\n }\n buildTicks() {\n const me = this;\n const min = me.min;\n const max = me.max;\n const offset = me.options.offset;\n const ticks = [];\n let labels = me.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n me._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n me._startValue = me.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const me = this;\n const labels = me.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n const me = this;\n super.configure();\n if (!me.isHorizontal()) {\n me._reversePixels = !me._reversePixels;\n }\n }\n getPixelForValue(value) {\n const me = this;\n if (typeof value !== 'number') {\n value = me.parse(value);\n }\n return value === null ? NaN : me.getPixelForDecimal((value - me._startValue) / me._valueRange);\n }\n getPixelForTick(index) {\n const me = this;\n const ticks = me.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return me.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n const me = this;\n return Math.round(me._startValue + me.getDecimalForPixel(pixel) * me._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(min);\n const maxDefined = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(max);\n const countDefined = !Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aB\"])((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aB\"])(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aC\"])((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aD\"])(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aE\"])(spacing),\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aE\"])(niceMin)\n );\n factor = Math.pow(10, Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aD\"])(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aD\"])(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const me = this;\n const {beginAtZero} = me.options;\n const {minDefined, maxDefined} = me.getUserBounds();\n let {min, max} = me;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(min);\n const maxSign = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"s\"])(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n me.min = min;\n me.max = max;\n }\n getTickLimit() {\n const me = this;\n const tickOpts = me.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(me.max / stepSize) - Math.floor(me.min / stepSize) + 1;\n } else {\n maxTicks = me.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const me = this;\n const opts = me.options;\n const tickOpts = opts.ticks;\n let maxTicks = me.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: me._maxDigits(),\n horizontal: me.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = me._range || me;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aA\"])(ticks, me, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n me.start = me.max;\n me.end = me.min;\n } else {\n me.start = me.min;\n me.end = me.max;\n }\n return ticks;\n }\n configure() {\n const me = this;\n const ticks = me.ticks;\n let start = me.min;\n let end = me.max;\n super.configure();\n if (me.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n me._startValue = start;\n me._endValue = end;\n me._valueRange = end - start;\n }\n getLabelForValue(value) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(value, this.chart.options.locale);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const me = this;\n const {min, max} = me.getMinMax(true);\n me.min = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(min) ? min : 0;\n me.max = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(max) ? max : 1;\n me.handleTickRangeOptions();\n }\n computeTickLimit() {\n const me = this;\n const horizontal = me.isHorizontal();\n const length = horizontal ? me.width : me.height;\n const minRotation = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = me._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(generationOptions.min, Math.pow(10, Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(dataRange.min))));\n let exp = Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"L\"])(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const me = this;\n const {min, max} = me.getMinMax(true);\n me.min = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(min) ? Math.max(0, min) : null;\n me.max = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(max) ? Math.max(0, max) : null;\n if (me.options.beginAtZero) {\n me._zero = true;\n }\n me.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const me = this;\n const {minDefined, maxDefined} = me.getUserBounds();\n let min = me.min;\n let max = me.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (me._zero && me.min !== me._suggestedMin && min === exp(me.min, 0)) {\n setMin(exp(min, -1));\n }\n me.min = min;\n me.max = max;\n }\n buildTicks() {\n const me = this;\n const opts = me.options;\n const generationOptions = {\n min: me._userMin,\n max: me._userMax\n };\n const ticks = generateTicks(generationOptions, me);\n if (opts.bounds === 'ticks') {\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aA\"])(ticks, me, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n me.start = me.max;\n me.end = me.min;\n } else {\n me.start = me.min;\n me.end = me.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined ? '0' : Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"n\"])(value, this.chart.options.locale);\n }\n configure() {\n const me = this;\n const start = me.min;\n super.configure();\n me._startValue = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(start);\n me._valueRange = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(me.max) - Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(start);\n }\n getPixelForValue(value) {\n const me = this;\n if (value === undefined || value === 0) {\n value = me.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return me.getPixelForDecimal(value === me.min\n ? 0\n : (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"J\"])(value) - me._startValue) / me._valueRange);\n }\n getValueForPixel(pixel) {\n const me = this;\n const decimal = me.getDecimalForPixel(pixel);\n return Math.pow(10, me._startValue + decimal * me._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(tickOpts.backdropPadding);\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(tickOpts.font && tickOpts.font.size, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"d\"].font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"b\"])(label) ? label : [label];\n return {\n w: Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aF\"])(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const furthestLimits = {\n l: 0,\n r: scale.width,\n t: 0,\n b: scale.height - scale.paddingTop\n };\n const furthestAngles = {};\n const labelSizes = [];\n const padding = [];\n const valueCount = scale.getLabels().length;\n for (let i = 0; i < valueCount; i++) {\n const opts = scale.options.pointLabels.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i]);\n const plFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = scale.getIndexAngle(i);\n const angle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"O\"])(angleRadians);\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n if (hLimits.start < furthestLimits.l) {\n furthestLimits.l = hLimits.start;\n furthestAngles.l = angleRadians;\n }\n if (hLimits.end > furthestLimits.r) {\n furthestLimits.r = hLimits.end;\n furthestAngles.r = angleRadians;\n }\n if (vLimits.start < furthestLimits.t) {\n furthestLimits.t = vLimits.start;\n furthestAngles.t = angleRadians;\n }\n if (vLimits.end > furthestLimits.b) {\n furthestLimits.b = vLimits.end;\n furthestAngles.b = angleRadians;\n }\n }\n scale._setReductions(scale.drawingArea, furthestLimits, furthestAngles);\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale.getLabels().length;\n const opts = scale.options;\n const tickBackdropHeight = getTickBackdropHeight(opts);\n const outerDistance = scale.getDistanceFromCenterForValue(opts.ticks.reverse ? scale.min : scale.max);\n for (let i = 0; i < valueCount; i++) {\n const extra = (i === 0 ? tickBackdropHeight / 2 : 0);\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i]);\n const angle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"O\"])(scale.getIndexAngle(i));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(backdropColor)) {\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n ctx.fillRect(left - padding.left, top - padding.top, right - left + padding.width, bottom - top + padding.height);\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"]);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction numberOrZero(param) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(param) ? param : 0;\n}\nfunction createPointLabelContext(parent, index, label) {\n return Object.assign(Object.create(parent), {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const me = this;\n me.width = me.maxWidth;\n me.height = me.maxHeight;\n me.paddingTop = getTickBackdropHeight(me.options) / 2;\n me.xCenter = Math.floor(me.width / 2);\n me.yCenter = Math.floor((me.height - me.paddingTop) / 2);\n me.drawingArea = Math.min(me.height - me.paddingTop, me.width) / 2;\n }\n determineDataLimits() {\n const me = this;\n const {min, max} = me.getMinMax(false);\n me.min = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(min) && !isNaN(min) ? min : 0;\n me.max = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(max) && !isNaN(max) ? max : 0;\n me.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n const me = this;\n LinearScaleBase.prototype.generateTickLabels.call(me, ticks);\n me._pointLabels = me.getLabels().map((value, index) => {\n const label = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(me.options.pointLabels.callback, [value, index], me);\n return label || label === 0 ? label : '';\n });\n }\n fit() {\n const me = this;\n const opts = me.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(me);\n } else {\n me.setCenterPoint(0, 0, 0, 0);\n }\n }\n _setReductions(largestPossibleRadius, furthestLimits, furthestAngles) {\n const me = this;\n let radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);\n let radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);\n let radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);\n let radiusReductionBottom = -Math.max(furthestLimits.b - (me.height - me.paddingTop), 0) / Math.cos(furthestAngles.b);\n radiusReductionLeft = numberOrZero(radiusReductionLeft);\n radiusReductionRight = numberOrZero(radiusReductionRight);\n radiusReductionTop = numberOrZero(radiusReductionTop);\n radiusReductionBottom = numberOrZero(radiusReductionBottom);\n me.drawingArea = Math.max(largestPossibleRadius / 2, Math.min(\n Math.floor(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),\n Math.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2)));\n me.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n const me = this;\n const maxRight = me.width - rightMovement - me.drawingArea;\n const maxLeft = leftMovement + me.drawingArea;\n const maxTop = topMovement + me.drawingArea;\n const maxBottom = (me.height - me.paddingTop) - bottomMovement - me.drawingArea;\n me.xCenter = Math.floor(((maxLeft + maxRight) / 2) + me.left);\n me.yCenter = Math.floor(((maxTop + maxBottom) / 2) + me.top + me.paddingTop);\n }\n getIndexAngle(index) {\n const angleMultiplier = _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"T\"] / this.getLabels().length;\n const startAngle = this.options.startAngle || 0;\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"at\"])(index * angleMultiplier + Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n const me = this;\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(value)) {\n return NaN;\n }\n const scalingFactor = me.drawingArea / (me.max - me.min);\n if (me.options.reverse) {\n return (me.max - value) * scalingFactor;\n }\n return (value - me.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(distance)) {\n return NaN;\n }\n const me = this;\n const scaledDistance = distance / (me.drawingArea / (me.max - me.min));\n return me.options.reverse ? me.max - scaledDistance : me.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const me = this;\n const pointLabels = me._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(me.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter) {\n const me = this;\n const angle = me.getIndexAngle(index) - _chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"H\"];\n return {\n x: Math.cos(angle) * distanceFromCenter + me.xCenter,\n y: Math.sin(angle) * distanceFromCenter + me.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const me = this;\n const {backgroundColor, grid: {circular}} = me.options;\n if (backgroundColor) {\n const ctx = me.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(me, me.getDistanceFromCenterForValue(me._endValue), circular, me.getLabels().length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const me = this;\n const ctx = me.ctx;\n const opts = me.options;\n const {angleLines, grid} = opts;\n const labelCount = me.getLabels().length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(me, labelCount);\n }\n if (grid.display) {\n me.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = me.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(me.getContext(index - 1));\n drawRadiusLine(me, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = me.getLabels().length - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(me.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = me.getDistanceFromCenterForValue(opts.ticks.reverse ? me.min : me.max);\n position = me.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(me.xCenter, me.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const me = this;\n const ctx = me.ctx;\n const opts = me.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = me.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(me.xCenter, me.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n me.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(me.getContext(index));\n const tickFont = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"X\"])(optsAtIndex.font);\n offset = me.getDistanceFromCenterForValue(me.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"A\"])(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"V\"])(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"j\"])(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aH\"])(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"a7\"])(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const me = this;\n const options = me.options;\n const adapter = me._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = me.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(me._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(me.getMinMax(false));\n }\n }\n min = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"g\"])(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n me.min = Math.min(min, max - 1);\n me.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const me = this;\n const options = me.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? me.getLabelTimestamps() : me._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n me.min = me._userMin || timestamps[0];\n me.max = me._userMax || timestamps[timestamps.length - 1];\n }\n const min = me.min;\n const max = me.max;\n const ticks = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"aG\"])(timestamps, min, max);\n me._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, me.min, me.max, me._getLabelCapacity(min))\n : determineUnitForFormatting(me, ticks.length, timeOpts.minUnit, me.min, me.max));\n me._majorUnit = !tickOpts.major.enabled || me._unit === 'year' ? undefined\n : determineMajorUnit(me._unit);\n me.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(me, ticks, me._majorUnit);\n }\n initOffsets(timestamps) {\n const me = this;\n let start = 0;\n let end = 0;\n let first, last;\n if (me.options.offset && timestamps.length) {\n first = me.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (me.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = me.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - me.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(start, 0, limit);\n end = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"q\"])(end, 0, limit);\n me._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const me = this;\n const adapter = me._adapter;\n const min = me.min;\n const max = me.max;\n const options = me.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, me._getLabelCapacity(min));\n const stepSize = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"v\"])(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"p\"])(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && me.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const me = this;\n const adapter = me._adapter;\n const timeOpts = me.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const me = this;\n const options = me.options;\n const formats = options.time.displayFormats;\n const unit = me._unit;\n const majorUnit = me._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = me._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"M\"])(formatter, [label, index, ticks], me) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n const me = this;\n return value === null ? NaN : (value - me.min) / (me.max - me.min);\n }\n getPixelForValue(value) {\n const me = this;\n const offsets = me._offsets;\n const pos = me.getDecimalForValue(value);\n return me.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const me = this;\n const offsets = me._offsets;\n const pos = me.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return me.min + pos * (me.max - me.min);\n }\n _getLabelSize(label) {\n const me = this;\n const ticksOpts = me.options.ticks;\n const tickLabelWidth = me.ctx.measureText(label).width;\n const angle = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"t\"])(me.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = me._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const me = this;\n const timeOpts = me.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = me._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(me, [exampleTime], me._majorUnit), format);\n const size = me._getLabelSize(exampleLabel);\n const capacity = Math.floor(me.isHorizontal() ? me.width / size.w : me.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n const me = this;\n let timestamps = me._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = me.getMatchingVisibleMetas();\n if (me._normalized && metas.length) {\n return (me._cache.data = metas[0].controller.getAllParsedValues(me));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(me));\n }\n return (me._cache.data = me.normalize(timestamps));\n }\n getLabelTimestamps() {\n const me = this;\n const timestamps = me._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = me.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(me, labels[i]));\n }\n return (me._cache.labels = me._normalized ? timestamps : me.normalize(timestamps));\n }\n normalize(values) {\n return Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"_\"])(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = Object(_chunks_helpers_segment_js__WEBPACK_IMPORTED_MODULE_0__[\"w\"])(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const me = this;\n const timestamps = me._getTimestampsForTable();\n const table = me._table = me.buildLookupTable(timestamps);\n me._minPos = interpolate(table, me.min);\n me._tableRange = interpolate(table, me.max) - me._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n const me = this;\n let timestamps = me._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = me.getDataTimestamps();\n const label = me.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = me.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = me._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const me = this;\n const offsets = me._offsets;\n const decimal = me.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(me._table, decimal * me._tableRange + me._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\n\n\n\n//# sourceURL=webpack:///./node_modules/chart.js/dist/chart.esm.js?");
  19. /***/ }),
  20. /***/ "./node_modules/chart.js/dist/chunks/helpers.segment.js":
  21. /*!**************************************************************!*\
  22. !*** ./node_modules/chart.js/dist/chunks/helpers.segment.js ***!
  23. \**************************************************************/
  24. /*! exports provided: $, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, _, a, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL, aM, aN, aO, aP, aQ, aR, aS, aT, aU, aV, aW, aX, aY, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z */
  25. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26. "use strict";
  27. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"$\", function() { return overrides; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return toPadding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return each; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return getMaximumSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return _getParentNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return readUsedSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return throttled; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return supportsEventListenerOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return HALF_PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"I\", function() { return _isDomSupported; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"J\", function() { return log10; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"K\", function() { return _factorize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"L\", function() { return finiteOrDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"M\", function() { return callback; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N\", function() { return _addGrace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"O\", function() { return toDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P\", function() { return PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Q\", function() { return _measureText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R\", function() { return _int16Range; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"S\", function() { return _alignPixel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T\", function() { return TAU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"U\", function() { return clipArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"V\", function() { return renderText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"W\", function() { return unclipArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"X\", function() { return toFont; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y\", function() { return _toLeftRightCenter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Z\", function() { return _alignStartEnd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"_\", function() { return _arrayUnique; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return resolve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a0\", function() { return merge; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a1\", function() { return _capitalize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a2\", function() { return descriptors; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a3\", function() { return isFunction; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a4\", function() { return _attachContext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a5\", function() { return _createResolver; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a6\", function() { return _descriptors; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a7\", function() { return mergeIf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a8\", function() { return uid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a9\", function() { return debounce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aA\", function() { return _setMinAndMaxByKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aB\", function() { return niceNum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aC\", function() { return almostWhole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aD\", function() { return almostEquals; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aE\", function() { return _decimalPlaces; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aF\", function() { return _longestText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aG\", function() { return _filterBetween; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aH\", function() { return _lookup; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aI\", function() { return getHoverColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aJ\", function() { return clone$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aK\", function() { return _merger; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aL\", function() { return _mergerIf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aM\", function() { return _deprecated; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aN\", function() { return toFontString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aO\", function() { return splineCurve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aP\", function() { return splineCurveMonotone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aQ\", function() { return getStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aR\", function() { return fontString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aS\", function() { return toLineHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aT\", function() { return PITAU; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aU\", function() { return INFINITY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aV\", function() { return RAD_PER_DEG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aW\", function() { return QUARTER_PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aX\", function() { return TWO_THIRDS_PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aY\", function() { return _angleDiff; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aa\", function() { return retinaScale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ab\", function() { return clearCanvas; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ac\", function() { return setsEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ad\", function() { return _elementsEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ae\", function() { return getAngleFromPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"af\", function() { return _readValueToProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ag\", function() { return _updateBezierControlPoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ah\", function() { return _computeSegments; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ai\", function() { return _boundSegments; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aj\", function() { return _steppedInterpolation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ak\", function() { return _bezierInterpolation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"al\", function() { return _pointInLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"am\", function() { return _steppedLineTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"an\", function() { return _bezierCurveTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ao\", function() { return drawPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ap\", function() { return addRoundedRectPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aq\", function() { return toTRBL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ar\", function() { return toTRBLCorners; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"as\", function() { return _boundSegment; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"at\", function() { return _normalizeAngle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"au\", function() { return getRtlAdapter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"av\", function() { return overrideTextDirection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"aw\", function() { return _textX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ax\", function() { return restoreTextDirection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ay\", function() { return noop; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"az\", function() { return distanceBetweenPoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return isArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return color; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return defaults; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return effects; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return resolveObjectKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return isNumberFinite; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return defined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return isObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return isNullOrUndef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return toPercentage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return listenArrayEvents; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return toDimension; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return formatNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return _angleBetween; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return isNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return _limitValue; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return requestAnimFrame; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return sign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return toRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return unlistenArrayEvents; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return valueOrDefault; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return _lookupByKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return getRelativePosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return _isPointInArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return _rlookupByKey; });\n/*!\n * Chart.js v3.5.0\n * https://www.chartjs.org\n * (c) 2021 Chart.js Contributors\n * Released under the MIT License\n */\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function() {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay);\n } else {\n fn();\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst emptyString = '';\nconst dot = '.';\nfunction indexOfDotOrLength(key, start) {\n const idx = key.indexOf(dot, start);\n return idx === -1 ? key.length : idx;\n}\nfunction resolveObjectKey(obj, key) {\n if (key === emptyString) {\n return obj;\n }\n let pos = 0;\n let idx = indexOfDotOrLength(key, pos);\n while (obj && idx > pos) {\n obj = obj[key.substr(pos, idx - pos)];\n pos = idx + 1;\n idx = indexOfDotOrLength(key, pos);\n }\n return obj;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.1.9\n * https://github.com/kurkle/color#readme\n * (c) 2020 Jukka Kurkela\n * Released under the MIT License\n */\nconst map = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = '0123456789ABCDEF';\nconst h1 = (b) => hex[b & 0xF];\nconst h2 = (b) => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = (b) => (((b & 0xF0) >> 4) === (b & 0xF));\nfunction isShort(v) {\n\treturn eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\n}\nfunction hexParse(str) {\n\tvar len = str.length;\n\tvar ret;\n\tif (str[0] === '#') {\n\t\tif (len === 4 || len === 5) {\n\t\t\tret = {\n\t\t\t\tr: 255 & map[str[1]] * 17,\n\t\t\t\tg: 255 & map[str[2]] * 17,\n\t\t\t\tb: 255 & map[str[3]] * 17,\n\t\t\t\ta: len === 5 ? map[str[4]] * 17 : 255\n\t\t\t};\n\t\t} else if (len === 7 || len === 9) {\n\t\t\tret = {\n\t\t\t\tr: map[str[1]] << 4 | map[str[2]],\n\t\t\t\tg: map[str[3]] << 4 | map[str[4]],\n\t\t\t\tb: map[str[5]] << 4 | map[str[6]],\n\t\t\t\ta: len === 9 ? (map[str[7]] << 4 | map[str[8]]) : 255\n\t\t\t};\n\t\t}\n\t}\n\treturn ret;\n}\nfunction hexString(v) {\n\tvar f = isShort(v) ? h1 : h2;\n\treturn v\n\t\t? '#' + f(v.r) + f(v.g) + f(v.b) + (v.a < 255 ? f(v.a) : '')\n\t\t: v;\n}\nfunction round(v) {\n\treturn v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n\treturn lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n\treturn lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n\treturn lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n\treturn lim(round(v * 100), 0, 100);\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n\tconst m = RGB_RE.exec(str);\n\tlet a = 255;\n\tlet r, g, b;\n\tif (!m) {\n\t\treturn;\n\t}\n\tif (m[7] !== r) {\n\t\tconst v = +m[7];\n\t\ta = 255 & (m[8] ? p2b(v) : v * 255);\n\t}\n\tr = +m[1];\n\tg = +m[3];\n\tb = +m[5];\n\tr = 255 & (m[2] ? p2b(r) : r);\n\tg = 255 & (m[4] ? p2b(g) : g);\n\tb = 255 & (m[6] ? p2b(b) : b);\n\treturn {\n\t\tr: r,\n\t\tg: g,\n\t\tb: b,\n\t\ta: a\n\t};\n}\nfunction rgbString(v) {\n\treturn v && (\n\t\tv.a < 255\n\t\t\t? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n\t\t\t: `rgb(${v.r}, ${v.g}, ${v.b})`\n\t);\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n\tconst a = s * Math.min(l, 1 - l);\n\tconst f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n\treturn [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n\tconst f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n\treturn [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n\tconst rgb = hsl2rgbn(h, 1, 0.5);\n\tlet i;\n\tif (w + b > 1) {\n\t\ti = 1 / (w + b);\n\t\tw *= i;\n\t\tb *= i;\n\t}\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] *= 1 - w - b;\n\t\trgb[i] += w;\n\t}\n\treturn rgb;\n}\nfunction rgb2hsl(v) {\n\tconst range = 255;\n\tconst r = v.r / range;\n\tconst g = v.g / range;\n\tconst b = v.b / range;\n\tconst max = Math.max(r, g, b);\n\tconst min = Math.min(r, g, b);\n\tconst l = (max + min) / 2;\n\tlet h, s, d;\n\tif (max !== min) {\n\t\td = max - min;\n\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\t\th = max === r\n\t\t\t? ((g - b) / d) + (g < b ? 6 : 0)\n\t\t\t: max === g\n\t\t\t\t? (b - r) / d + 2\n\t\t\t\t: (r - g) / d + 4;\n\t\th = h * 60 + 0.5;\n\t}\n\treturn [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n\treturn (\n\t\tArray.isArray(a)\n\t\t\t? f(a[0], a[1], a[2])\n\t\t\t: f(a, b, c)\n\t).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n\treturn calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n\treturn calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n\treturn calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n\treturn (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n\tconst m = HUE_RE.exec(str);\n\tlet a = 255;\n\tlet v;\n\tif (!m) {\n\t\treturn;\n\t}\n\tif (m[5] !== v) {\n\t\ta = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n\t}\n\tconst h = hue(+m[2]);\n\tconst p1 = +m[3] / 100;\n\tconst p2 = +m[4] / 100;\n\tif (m[1] === 'hwb') {\n\t\tv = hwb2rgb(h, p1, p2);\n\t} else if (m[1] === 'hsv') {\n\t\tv = hsv2rgb(h, p1, p2);\n\t} else {\n\t\tv = hsl2rgb(h, p1, p2);\n\t}\n\treturn {\n\t\tr: v[0],\n\t\tg: v[1],\n\t\tb: v[2],\n\t\ta: a\n\t};\n}\nfunction rotate(v, deg) {\n\tvar h = rgb2hsl(v);\n\th[0] = hue(h[0] + deg);\n\th = hsl2rgb(h);\n\tv.r = h[0];\n\tv.g = h[1];\n\tv.b = h[2];\n}\nfunction hslString(v) {\n\tif (!v) {\n\t\treturn;\n\t}\n\tconst a = rgb2hsl(v);\n\tconst h = a[0];\n\tconst s = n2p(a[1]);\n\tconst l = n2p(a[2]);\n\treturn v.a < 255\n\t\t? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n\t\t: `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map$1 = {\n\tx: 'dark',\n\tZ: 'light',\n\tY: 're',\n\tX: 'blu',\n\tW: 'gr',\n\tV: 'medium',\n\tU: 'slate',\n\tA: 'ee',\n\tT: 'ol',\n\tS: 'or',\n\tB: 'ra',\n\tC: 'lateg',\n\tD: 'ights',\n\tR: 'in',\n\tQ: 'turquois',\n\tE: 'hi',\n\tP: 'ro',\n\tO: 'al',\n\tN: 'le',\n\tM: 'de',\n\tL: 'yello',\n\tF: 'en',\n\tK: 'ch',\n\tG: 'arks',\n\tH: 'ea',\n\tI: 'ightg',\n\tJ: 'wh'\n};\nconst names = {\n\tOiceXe: 'f0f8ff',\n\tantiquewEte: 'faebd7',\n\taqua: 'ffff',\n\taquamarRe: '7fffd4',\n\tazuY: 'f0ffff',\n\tbeige: 'f5f5dc',\n\tbisque: 'ffe4c4',\n\tblack: '0',\n\tblanKedOmond: 'ffebcd',\n\tXe: 'ff',\n\tXeviTet: '8a2be2',\n\tbPwn: 'a52a2a',\n\tburlywood: 'deb887',\n\tcaMtXe: '5f9ea0',\n\tKartYuse: '7fff00',\n\tKocTate: 'd2691e',\n\tcSO: 'ff7f50',\n\tcSnflowerXe: '6495ed',\n\tcSnsilk: 'fff8dc',\n\tcrimson: 'dc143c',\n\tcyan: 'ffff',\n\txXe: '8b',\n\txcyan: '8b8b',\n\txgTMnPd: 'b8860b',\n\txWay: 'a9a9a9',\n\txgYF: '6400',\n\txgYy: 'a9a9a9',\n\txkhaki: 'bdb76b',\n\txmagFta: '8b008b',\n\txTivegYF: '556b2f',\n\txSange: 'ff8c00',\n\txScEd: '9932cc',\n\txYd: '8b0000',\n\txsOmon: 'e9967a',\n\txsHgYF: '8fbc8f',\n\txUXe: '483d8b',\n\txUWay: '2f4f4f',\n\txUgYy: '2f4f4f',\n\txQe: 'ced1',\n\txviTet: '9400d3',\n\tdAppRk: 'ff1493',\n\tdApskyXe: 'bfff',\n\tdimWay: '696969',\n\tdimgYy: '696969',\n\tdodgerXe: '1e90ff',\n\tfiYbrick: 'b22222',\n\tflSOwEte: 'fffaf0',\n\tfoYstWAn: '228b22',\n\tfuKsia: 'ff00ff',\n\tgaRsbSo: 'dcdcdc',\n\tghostwEte: 'f8f8ff',\n\tgTd: 'ffd700',\n\tgTMnPd: 'daa520',\n\tWay: '808080',\n\tgYF: '8000',\n\tgYFLw: 'adff2f',\n\tgYy: '808080',\n\thoneyMw: 'f0fff0',\n\thotpRk: 'ff69b4',\n\tRdianYd: 'cd5c5c',\n\tRdigo: '4b0082',\n\tivSy: 'fffff0',\n\tkhaki: 'f0e68c',\n\tlavFMr: 'e6e6fa',\n\tlavFMrXsh: 'fff0f5',\n\tlawngYF: '7cfc00',\n\tNmoncEffon: 'fffacd',\n\tZXe: 'add8e6',\n\tZcSO: 'f08080',\n\tZcyan: 'e0ffff',\n\tZgTMnPdLw: 'fafad2',\n\tZWay: 'd3d3d3',\n\tZgYF: '90ee90',\n\tZgYy: 'd3d3d3',\n\tZpRk: 'ffb6c1',\n\tZsOmon: 'ffa07a',\n\tZsHgYF: '20b2aa',\n\tZskyXe: '87cefa',\n\tZUWay: '778899',\n\tZUgYy: '778899',\n\tZstAlXe: 'b0c4de',\n\tZLw: 'ffffe0',\n\tlime: 'ff00',\n\tlimegYF: '32cd32',\n\tlRF: 'faf0e6',\n\tmagFta: 'ff00ff',\n\tmaPon: '800000',\n\tVaquamarRe: '66cdaa',\n\tVXe: 'cd',\n\tVScEd: 'ba55d3',\n\tVpurpN: '9370db',\n\tVsHgYF: '3cb371',\n\tVUXe: '7b68ee',\n\tVsprRggYF: 'fa9a',\n\tVQe: '48d1cc',\n\tVviTetYd: 'c71585',\n\tmidnightXe: '191970',\n\tmRtcYam: 'f5fffa',\n\tmistyPse: 'ffe4e1',\n\tmoccasR: 'ffe4b5',\n\tnavajowEte: 'ffdead',\n\tnavy: '80',\n\tTdlace: 'fdf5e6',\n\tTive: '808000',\n\tTivedBb: '6b8e23',\n\tSange: 'ffa500',\n\tSangeYd: 'ff4500',\n\tScEd: 'da70d6',\n\tpOegTMnPd: 'eee8aa',\n\tpOegYF: '98fb98',\n\tpOeQe: 'afeeee',\n\tpOeviTetYd: 'db7093',\n\tpapayawEp: 'ffefd5',\n\tpHKpuff: 'ffdab9',\n\tperu: 'cd853f',\n\tpRk: 'ffc0cb',\n\tplum: 'dda0dd',\n\tpowMrXe: 'b0e0e6',\n\tpurpN: '800080',\n\tYbeccapurpN: '663399',\n\tYd: 'ff0000',\n\tPsybrown: 'bc8f8f',\n\tPyOXe: '4169e1',\n\tsaddNbPwn: '8b4513',\n\tsOmon: 'fa8072',\n\tsandybPwn: 'f4a460',\n\tsHgYF: '2e8b57',\n\tsHshell: 'fff5ee',\n\tsiFna: 'a0522d',\n\tsilver: 'c0c0c0',\n\tskyXe: '87ceeb',\n\tUXe: '6a5acd',\n\tUWay: '708090',\n\tUgYy: '708090',\n\tsnow: 'fffafa',\n\tsprRggYF: 'ff7f',\n\tstAlXe: '4682b4',\n\ttan: 'd2b48c',\n\tteO: '8080',\n\ttEstN: 'd8bfd8',\n\ttomato: 'ff6347',\n\tQe: '40e0d0',\n\tviTet: 'ee82ee',\n\tJHt: 'f5deb3',\n\twEte: 'ffffff',\n\twEtesmoke: 'f5f5f5',\n\tLw: 'ffff00',\n\tLwgYF: '9acd32'\n};\nfunction unpack() {\n\tconst unpacked = {};\n\tconst keys = Object.keys(names);\n\tconst tkeys = Object.keys(map$1);\n\tlet i, j, k, ok, nk;\n\tfor (i = 0; i < keys.length; i++) {\n\t\tok = nk = keys[i];\n\t\tfor (j = 0; j < tkeys.length; j++) {\n\t\t\tk = tkeys[j];\n\t\t\tnk = nk.replace(k, map$1[k]);\n\t\t}\n\t\tk = parseInt(names[ok], 16);\n\t\tunpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n\t}\n\treturn unpacked;\n}\nlet names$1;\nfunction nameParse(str) {\n\tif (!names$1) {\n\t\tnames$1 = unpack();\n\t\tnames$1.transparent = [0, 0, 0, 0];\n\t}\n\tconst a = names$1[str.toLowerCase()];\n\treturn a && {\n\t\tr: a[0],\n\t\tg: a[1],\n\t\tb: a[2],\n\t\ta: a.length === 4 ? a[3] : 255\n\t};\n}\nfunction modHSL(v, i, ratio) {\n\tif (v) {\n\t\tlet tmp = rgb2hsl(v);\n\t\ttmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n\t\ttmp = hsl2rgb(tmp);\n\t\tv.r = tmp[0];\n\t\tv.g = tmp[1];\n\t\tv.b = tmp[2];\n\t}\n}\nfunction clone(v, proto) {\n\treturn v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n\tvar v = {r: 0, g: 0, b: 0, a: 255};\n\tif (Array.isArray(input)) {\n\t\tif (input.length >= 3) {\n\t\t\tv = {r: input[0], g: input[1], b: input[2], a: 255};\n\t\t\tif (input.length > 3) {\n\t\t\t\tv.a = n2b(input[3]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tv = clone(input, {r: 0, g: 0, b: 0, a: 1});\n\t\tv.a = n2b(v.a);\n\t}\n\treturn v;\n}\nfunction functionParse(str) {\n\tif (str.charAt(0) === 'r') {\n\t\treturn rgbParse(str);\n\t}\n\treturn hueParse(str);\n}\nclass Color {\n\tconstructor(input) {\n\t\tif (input instanceof Color) {\n\t\t\treturn input;\n\t\t}\n\t\tconst type = typeof input;\n\t\tlet v;\n\t\tif (type === 'object') {\n\t\t\tv = fromObject(input);\n\t\t} else if (type === 'string') {\n\t\t\tv = hexParse(input) || nameParse(input) || functionParse(input);\n\t\t}\n\t\tthis._rgb = v;\n\t\tthis._valid = !!v;\n\t}\n\tget valid() {\n\t\treturn this._valid;\n\t}\n\tget rgb() {\n\t\tvar v = clone(this._rgb);\n\t\tif (v) {\n\t\t\tv.a = b2n(v.a);\n\t\t}\n\t\treturn v;\n\t}\n\tset rgb(obj) {\n\t\tthis._rgb = fromObject(obj);\n\t}\n\trgbString() {\n\t\treturn this._valid ? rgbString(this._rgb) : this._rgb;\n\t}\n\thexString() {\n\t\treturn this._valid ? hexString(this._rgb) : this._rgb;\n\t}\n\thslString() {\n\t\treturn this._valid ? hslString(this._rgb) : this._rgb;\n\t}\n\tmix(color, weight) {\n\t\tconst me = this;\n\t\tif (color) {\n\t\t\tconst c1 = me.rgb;\n\t\t\tconst c2 = color.rgb;\n\t\t\tlet w2;\n\t\t\tconst p = weight === w2 ? 0.5 : weight;\n\t\t\tconst w = 2 * p - 1;\n\t\t\tconst a = c1.a - c2.a;\n\t\t\tconst w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\t\tw2 = 1 - w1;\n\t\t\tc1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n\t\t\tc1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n\t\t\tc1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n\t\t\tc1.a = p * c1.a + (1 - p) * c2.a;\n\t\t\tme.rgb = c1;\n\t\t}\n\t\treturn me;\n\t}\n\tclone() {\n\t\treturn new Color(this.rgb);\n\t}\n\talpha(a) {\n\t\tthis._rgb.a = n2b(a);\n\t\treturn this;\n\t}\n\tclearer(ratio) {\n\t\tconst rgb = this._rgb;\n\t\trgb.a *= 1 - ratio;\n\t\treturn this;\n\t}\n\tgreyscale() {\n\t\tconst rgb = this._rgb;\n\t\tconst val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n\t\trgb.r = rgb.g = rgb.b = val;\n\t\treturn this;\n\t}\n\topaquer(ratio) {\n\t\tconst rgb = this._rgb;\n\t\trgb.a *= 1 + ratio;\n\t\treturn this;\n\t}\n\tnegate() {\n\t\tconst v = this._rgb;\n\t\tv.r = 255 - v.r;\n\t\tv.g = 255 - v.g;\n\t\tv.b = 255 - v.b;\n\t\treturn this;\n\t}\n\tlighten(ratio) {\n\t\tmodHSL(this._rgb, 2, ratio);\n\t\treturn this;\n\t}\n\tdarken(ratio) {\n\t\tmodHSL(this._rgb, 2, -ratio);\n\t\treturn this;\n\t}\n\tsaturate(ratio) {\n\t\tmodHSL(this._rgb, 1, ratio);\n\t\treturn this;\n\t}\n\tdesaturate(ratio) {\n\t\tmodHSL(this._rgb, 1, -ratio);\n\t\treturn this;\n\t}\n\trotate(deg) {\n\t\trotate(this._rgb, deg);\n\t\treturn this;\n\t}\n}\nfunction index_esm(input) {\n\treturn new Color(input);\n}\n\nconst isPatternOrGradient = (value) => value instanceof CanvasGradient || value instanceof CanvasPattern;\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n let type, xOffset, yOffset, size, cornerRadius;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n ctx.arc(x, y, radius, 0, TAU);\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n ctx.rect(x - size, y - size, 2 * size, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return point && area && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin;\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace) {\n const {min, max} = minmax;\n return {\n min: min - Math.abs(toDimension(grace, min)),\n max: max + toDimension(grace, max)\n };\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n storage[prop] = value;\n delete target[prop];\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters';\nfunction _cached(target, prop, resolve) {\n let value = target[prop];\n if (defined(value)) {\n return value;\n }\n value = resolve();\n if (defined(value)) {\n target[prop] = value;\n }\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (isObject(value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, scope);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(evt, canvas) {\n const e = evt.native || evt;\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: (n, s, e) => n >= Math.min(s, e) && n <= Math.max(e, s),\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const baseStyle = readStyle(line.options);\n const count = points.length;\n const result = [];\n let start = segments[0].start;\n let i = start;\n for (const segment of segments) {\n let prevStyle = baseStyle;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext({\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex: line._datasetIndex\n }));\n if (styleChanged(style, prevStyle)) {\n result.push({start: start, end: i - 1, loop: segment.loop, style: prevStyle});\n prevStyle = style;\n start = i - 1;\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n result.push({start, end: i - 1, loop: segment.loop, style});\n start = i - 1;\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\n\n\n\n//# sourceURL=webpack:///./node_modules/chart.js/dist/chunks/helpers.segment.js?");
  28. /***/ }),
  29. /***/ "./node_modules/dom7/dist/dom7.module.js":
  30. /*!***********************************************!*\
  31. !*** ./node_modules/dom7/dist/dom7.module.js ***!
  32. \***********************************************/
  33. /*! exports provided: default */
  34. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  35. "use strict";
  36. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Dom7 2.1.3\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * http://framework7.io/docs/dom.html\n *\n * Copyright 2019, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n *\n * Licensed under MIT\n *\n * Released on: February 11, 2019\n */\n\n\nvar Dom7 = function Dom7(arr) {\n _classCallCheck(this, Dom7);\n\n var self = this; // Create array-like object\n\n for (var i = 0; i < arr.length; i += 1) {\n self[i] = arr[i];\n }\n\n self.length = arr.length; // Return collection with methods\n\n return this;\n};\n\nfunction $(selector, context) {\n var arr = [];\n var i = 0;\n\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n\n if (selector) {\n // String\n if (typeof selector === 'string') {\n var els;\n var tempParent;\n\n var _html = selector.trim();\n\n if (_html.indexOf('<') >= 0 && _html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (_html.indexOf('<li') === 0) toCreate = 'ul';\n if (_html.indexOf('<tr') === 0) toCreate = 'tbody';\n if (_html.indexOf('<td') === 0 || _html.indexOf('<th') === 0) toCreate = 'tr';\n if (_html.indexOf('<tbody') === 0) toCreate = 'table';\n if (_html.indexOf('<option') === 0) toCreate = 'select';\n tempParent = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement(toCreate);\n tempParent.innerHTML = _html;\n\n for (i = 0; i < tempParent.childNodes.length; i += 1) {\n arr.push(tempParent.childNodes[i]);\n }\n } else {\n if (!context && selector[0] === '#' && !selector.match(/[ .<>:~]/)) {\n // Pure ID selector\n els = [ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].getElementById(selector.trim().split('#')[1])];\n } else {\n // Other selectors\n els = (context || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"]).querySelectorAll(selector.trim());\n }\n\n for (i = 0; i < els.length; i += 1) {\n if (els[i]) arr.push(els[i]);\n }\n }\n } else if (selector.nodeType || selector === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"] || selector === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"]) {\n // Node/element\n arr.push(selector);\n } else if (selector.length > 0 && selector[0].nodeType) {\n // Array of elements or instance of Dom\n for (i = 0; i < selector.length; i += 1) {\n arr.push(selector[i]);\n }\n }\n }\n\n return new Dom7(arr);\n}\n\n$.fn = Dom7.prototype;\n$.Class = Dom7;\n$.Dom7 = Dom7;\n\nfunction unique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\n\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group1) {\n return group1.toUpperCase();\n });\n}\n\nfunction requestAnimationFrame(callback) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].requestAnimationFrame) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].requestAnimationFrame(callback);else if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].webkitRequestAnimationFrame) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].webkitRequestAnimationFrame(callback);\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].setTimeout(callback, 1000 / 60);\n}\n\nfunction cancelAnimationFrame(id) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].cancelAnimationFrame) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].cancelAnimationFrame(id);else if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].webkitCancelAnimationFrame) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].webkitCancelAnimationFrame(id);\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].clearTimeout(id);\n} // Classes and attributes\n\n\nfunction addClass(className) {\n if (typeof className === 'undefined') {\n return this;\n }\n\n var classes = className.split(' ');\n\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') this[j].classList.add(classes[i]);\n }\n }\n\n return this;\n}\n\nfunction removeClass(className) {\n var classes = className.split(' ');\n\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') this[j].classList.remove(classes[i]);\n }\n }\n\n return this;\n}\n\nfunction hasClass(className) {\n if (!this[0]) return false;\n return this[0].classList.contains(className);\n}\n\nfunction toggleClass(className) {\n var classes = className.split(' ');\n\n for (var i = 0; i < classes.length; i += 1) {\n for (var j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') this[j].classList.toggle(classes[i]);\n }\n }\n\n return this;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n // eslint-disable-next-line\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n} // eslint-disable-next-line\n\n\nfunction removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n} // eslint-disable-next-line\n\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n // eslint-disable-next-line\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n}\n\nfunction data(key, value) {\n var el;\n\n if (typeof value === 'undefined') {\n el = this[0]; // Get value\n\n if (el) {\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute(\"data-\".concat(key));\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n }\n\n return undefined;\n } // Set value\n\n\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n // eslint-disable-next-line\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n // eslint-disable-next-line\n var _attr = el.attributes[i];\n\n if (_attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(_attr.name.split('data-')[1])] = _attr.value;\n }\n }\n } // eslint-disable-next-line\n\n\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n var dom = this;\n\n if (typeof value === 'undefined') {\n if (dom[0]) {\n if (dom[0].multiple && dom[0].nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var i = 0; i < dom[0].selectedOptions.length; i += 1) {\n values.push(dom[0].selectedOptions[i].value);\n }\n\n return values;\n }\n\n return dom[0].value;\n }\n\n return undefined;\n }\n\n for (var _i = 0; _i < dom.length; _i += 1) {\n var el = dom[_i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return dom;\n} // Transforms\n// eslint-disable-next-line\n\n\nfunction transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = transform;\n elStyle.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n if (typeof duration !== 'string') {\n duration = \"\".concat(duration, \"ms\"); // eslint-disable-line\n }\n\n for (var i = 0; i < this.length; i += 1) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = duration;\n elStyle.transitionDuration = duration;\n }\n\n return this;\n} // Events\n\n\nfunction on() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once() {\n var dom = this;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len4 = arguments.length, eventArgs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n eventArgs[_key4] = arguments[_key4];\n }\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var evt = void 0;\n\n try {\n evt = new ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n } catch (e) {\n evt = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createEvent('Event');\n evt.initEvent(event, true, true);\n evt.detail = eventData;\n } // eslint-disable-next-line\n\n\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var events = ['webkitTransitionEnd', 'transitionend'];\n var dom = this;\n var i;\n\n function fireCallBack(e) {\n /* jshint validthis:true */\n if (e.target !== this) return;\n callback.call(this, e);\n\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n var events = ['webkitAnimationEnd', 'animationend'];\n var dom = this;\n var i;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n\n return this;\n} // Sizing/Styles\n\n\nfunction width() {\n if (this[0] === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"]) {\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var _styles = this.styles();\n\n return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n if (this[0] === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"]) {\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n\n var _scrollTop = el === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"] ? ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].scrollY : el.scrollTop;\n\n var _scrollLeft = el === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"] ? ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].scrollX : el.scrollLeft;\n\n return {\n top: box.top + _scrollTop - clientTop,\n left: box.left + _scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n if (this[0]) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n for (i = 0; i < this.length; i += 1) {\n // eslint-disable-next-line\n for (var _prop in props) {\n this[i].style[_prop] = props[_prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n} // Dom manipulation\n\n\nfunction toArray() {\n var arr = [];\n\n for (var i = 0; i < this.length; i += 1) {\n arr.push(this[i]);\n }\n\n return arr;\n} // Iterate over the collection passing elements to `callback`\n\n\nfunction each(callback) {\n // Don't bother continuing without a callback\n if (!callback) return this; // Iterate over the current collection\n\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], i, this[i]) === false) {\n // End the loop early\n return this;\n }\n } // Return `this` to allow chained DOM operations\n\n\n return this;\n}\n\nfunction forEach(callback) {\n // Don't bother continuing without a callback\n if (!callback) return this; // Iterate over the current collection\n\n for (var i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], this[i], i) === false) {\n // End the loop early\n return this;\n }\n } // Return `this` to allow chained DOM operations\n\n\n return this;\n}\n\nfunction filter(callback) {\n var matchedItems = [];\n var dom = this;\n\n for (var i = 0; i < dom.length; i += 1) {\n if (callback.call(dom[i], i, dom[i])) matchedItems.push(dom[i]);\n }\n\n return new Dom7(matchedItems);\n}\n\nfunction map(callback) {\n var modifiedItems = [];\n var dom = this;\n\n for (var i = 0; i < dom.length; i += 1) {\n modifiedItems.push(callback.call(dom[i], i, dom[i]));\n }\n\n return new Dom7(modifiedItems);\n} // eslint-disable-next-line\n\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n} // eslint-disable-next-line\n\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n\n return null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);else if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n } else if (selector === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"]) return el === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"];else if (selector === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"]) return el === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"];\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction indexOf(el) {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i] === el) return i;\n }\n\n return -1;\n}\n\nfunction index() {\n var child = this[0];\n var i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n} // eslint-disable-next-line\n\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n var returnIndex;\n\n if (index > length - 1) {\n return new Dom7([]);\n }\n\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) return new Dom7([]);\n return new Dom7([this[returnIndex]]);\n }\n\n return new Dom7([this[index]]);\n}\n\nfunction append() {\n var newChild;\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n} // eslint-disable-next-line\n\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n} // eslint-disable-next-line\n\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n var before = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n var after = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return new Dom7([this[0].nextElementSibling]);\n }\n\n return new Dom7([]);\n }\n\n if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]);\n return new Dom7([]);\n }\n\n return new Dom7([]);\n}\n\nfunction nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n\n while (el.nextElementSibling) {\n var _next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_next).is(selector)) nextEls.push(_next);\n } else nextEls.push(_next);\n\n el = _next;\n }\n\n return new Dom7(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return new Dom7([el.previousElementSibling]);\n }\n\n return new Dom7([]);\n }\n\n if (el.previousElementSibling) return new Dom7([el.previousElementSibling]);\n return new Dom7([]);\n }\n\n return new Dom7([]);\n}\n\nfunction prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n\n while (el.previousElementSibling) {\n var _prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_prev).is(selector)) prevEls.push(_prev);\n } else prevEls.push(_prev);\n\n el = _prev;\n }\n\n return new Dom7(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(unique(parents));\n}\n\nfunction parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _parent = this[i].parentNode; // eslint-disable-line\n\n while (_parent) {\n if (selector) {\n if ($(_parent).is(selector)) parents.push(_parent);\n } else {\n parents.push(_parent);\n }\n\n _parent = _parent.parentNode;\n }\n }\n\n return $(unique(parents));\n}\n\nfunction closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return new Dom7([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return new Dom7(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].childNodes;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) children.push(childNodes[j]);\n } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return new Dom7(unique(children));\n}\n\nfunction remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add() {\n var dom = this;\n var i;\n var j;\n\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n for (i = 0; i < args.length; i += 1) {\n var toAdd = $(args[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom[dom.length] = toAdd[j];\n dom.length += 1;\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\nvar Methods = /*#__PURE__*/Object.freeze({\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n prop: prop,\n data: data,\n removeData: removeData,\n dataset: dataset,\n val: val,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n once: once,\n trigger: trigger,\n transitionEnd: transitionEnd,\n animationEnd: animationEnd,\n width: width,\n outerWidth: outerWidth,\n height: height,\n outerHeight: outerHeight,\n offset: offset,\n hide: hide,\n show: show,\n styles: styles,\n css: css,\n toArray: toArray,\n each: each,\n forEach: forEach,\n filter: filter,\n map: map,\n html: html,\n text: text,\n is: is,\n indexOf: indexOf,\n index: index,\n eq: eq,\n append: append,\n appendTo: appendTo,\n prepend: prepend,\n prependTo: prependTo,\n insertBefore: insertBefore,\n insertAfter: insertAfter,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n siblings: siblings,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n remove: remove,\n detach: detach,\n add: add,\n empty: empty\n});\n\nfunction scrollTo() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n requestAnimationFrame(render);\n }\n\n requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft() {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\nvar Scroll = /*#__PURE__*/Object.freeze({\n scrollTo: scrollTo,\n scrollTop: scrollTop,\n scrollLeft: scrollLeft\n});\n\nfunction animate(initialProps, initialParams) {\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (index, el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (index, el) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = requestAnimationFrame(render);\n }\n\n a.frameId = requestAnimationFrame(render);\n return a;\n }\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar Animate = /*#__PURE__*/Object.freeze({\n animate: animate,\n stop: stop\n});\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction eventShortcut(name) {\n for (var _len10 = arguments.length, args = new Array(_len10 > 1 ? _len10 - 1 : 0), _key10 = 1; _key10 < _len10; _key10++) {\n args[_key10 - 1] = arguments[_key10];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on.apply(this, [name].concat(args));\n}\n\nfunction click() {\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n args[_key11] = arguments[_key11];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['click'].concat(args));\n}\n\nfunction blur() {\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\n args[_key12] = arguments[_key12];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['blur'].concat(args));\n}\n\nfunction focus() {\n for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {\n args[_key13] = arguments[_key13];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['focus'].concat(args));\n}\n\nfunction focusin() {\n for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {\n args[_key14] = arguments[_key14];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['focusin'].concat(args));\n}\n\nfunction focusout() {\n for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {\n args[_key15] = arguments[_key15];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['focusout'].concat(args));\n}\n\nfunction keyup() {\n for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) {\n args[_key16] = arguments[_key16];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['keyup'].concat(args));\n}\n\nfunction keydown() {\n for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) {\n args[_key17] = arguments[_key17];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['keydown'].concat(args));\n}\n\nfunction keypress() {\n for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {\n args[_key18] = arguments[_key18];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['keypress'].concat(args));\n}\n\nfunction submit() {\n for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {\n args[_key19] = arguments[_key19];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['submit'].concat(args));\n}\n\nfunction change() {\n for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) {\n args[_key20] = arguments[_key20];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['change'].concat(args));\n}\n\nfunction mousedown() {\n for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) {\n args[_key21] = arguments[_key21];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mousedown'].concat(args));\n}\n\nfunction mousemove() {\n for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) {\n args[_key22] = arguments[_key22];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mousemove'].concat(args));\n}\n\nfunction mouseup() {\n for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) {\n args[_key23] = arguments[_key23];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseup'].concat(args));\n}\n\nfunction mouseenter() {\n for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) {\n args[_key24] = arguments[_key24];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseenter'].concat(args));\n}\n\nfunction mouseleave() {\n for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 < _len25; _key25++) {\n args[_key25] = arguments[_key25];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseleave'].concat(args));\n}\n\nfunction mouseout() {\n for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) {\n args[_key26] = arguments[_key26];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseout'].concat(args));\n}\n\nfunction mouseover() {\n for (var _len27 = arguments.length, args = new Array(_len27), _key27 = 0; _key27 < _len27; _key27++) {\n args[_key27] = arguments[_key27];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['mouseover'].concat(args));\n}\n\nfunction touchstart() {\n for (var _len28 = arguments.length, args = new Array(_len28), _key28 = 0; _key28 < _len28; _key28++) {\n args[_key28] = arguments[_key28];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['touchstart'].concat(args));\n}\n\nfunction touchend() {\n for (var _len29 = arguments.length, args = new Array(_len29), _key29 = 0; _key29 < _len29; _key29++) {\n args[_key29] = arguments[_key29];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['touchend'].concat(args));\n}\n\nfunction touchmove() {\n for (var _len30 = arguments.length, args = new Array(_len30), _key30 = 0; _key30 < _len30; _key30++) {\n args[_key30] = arguments[_key30];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['touchmove'].concat(args));\n}\n\nfunction resize() {\n for (var _len31 = arguments.length, args = new Array(_len31), _key31 = 0; _key31 < _len31; _key31++) {\n args[_key31] = arguments[_key31];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['resize'].concat(args));\n}\n\nfunction scroll() {\n for (var _len32 = arguments.length, args = new Array(_len32), _key32 = 0; _key32 < _len32; _key32++) {\n args[_key32] = arguments[_key32];\n }\n\n return eventShortcut.bind(this).apply(void 0, ['scroll'].concat(args));\n}\n\nvar eventShortcuts = /*#__PURE__*/Object.freeze({\n click: click,\n blur: blur,\n focus: focus,\n focusin: focusin,\n focusout: focusout,\n keyup: keyup,\n keydown: keydown,\n keypress: keypress,\n submit: submit,\n change: change,\n mousedown: mousedown,\n mousemove: mousemove,\n mouseup: mouseup,\n mouseenter: mouseenter,\n mouseleave: mouseleave,\n mouseout: mouseout,\n mouseover: mouseover,\n touchstart: touchstart,\n touchend: touchend,\n touchmove: touchmove,\n resize: resize,\n scroll: scroll\n});\n[Methods, Scroll, Animate, eventShortcuts].forEach(function (group) {\n Object.keys(group).forEach(function (methodName) {\n $.fn[methodName] = group[methodName];\n });\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = ($);\n\n//# sourceURL=webpack:///./node_modules/dom7/dist/dom7.module.js?");
  37. /***/ }),
  38. /***/ "./node_modules/framework7/components/accordion/accordion.js":
  39. /*!*******************************************************************!*\
  40. !*** ./node_modules/framework7/components/accordion/accordion.js ***!
  41. \*******************************************************************/
  42. /*! exports provided: default */
  43. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  44. "use strict";
  45. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Accordion = {\n toggleClicked: function toggleClicked($clickedEl) {\n var app = this;\n var $accordionItemEl = $clickedEl.closest('.accordion-item').eq(0);\n if (!$accordionItemEl.length) $accordionItemEl = $clickedEl.parents('li').eq(0);\n var $accordionContent = $clickedEl.parents('.accordion-item-content').eq(0);\n\n if ($accordionContent.length) {\n if ($accordionContent.parents($accordionItemEl).length) return;\n }\n\n if ($clickedEl.parents('li').length > 1 && $clickedEl.parents('li')[0] !== $accordionItemEl[0]) return;\n app.accordion.toggle($accordionItemEl);\n },\n open: function open(el) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var prevented = false;\n\n function prevent() {\n prevented = true;\n }\n\n $el.trigger('accordion:beforeopen', {\n prevent: prevent\n }, prevent);\n app.emit('accordionBeforeOpen', $el[0], prevent);\n if (prevented) return;\n var $list = $el.parents('.accordion-list').eq(0);\n var $contentEl = $el.children('.accordion-item-content');\n $contentEl.removeAttr('aria-hidden');\n if ($contentEl.length === 0) $contentEl = $el.find('.accordion-item-content');\n if ($contentEl.length === 0) return;\n var $openedItem = $list.length > 0 && $el.parent().children('.accordion-item-opened');\n\n if ($openedItem.length > 0) {\n app.accordion.close($openedItem);\n }\n\n $contentEl.transitionEnd(function () {\n if ($el.hasClass('accordion-item-opened')) {\n $contentEl.transition(0);\n $contentEl.css('height', 'auto');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $contentEl.transition('');\n $el.trigger('accordion:opened');\n app.emit('accordionOpened', $el[0]);\n });\n } else {\n $contentEl.css('height', '');\n $el.trigger('accordion:closed');\n app.emit('accordionClosed', $el[0]);\n }\n });\n $contentEl.css('height', \"\".concat($contentEl[0].scrollHeight, \"px\"));\n $el.trigger('accordion:open');\n $el.addClass('accordion-item-opened');\n app.emit('accordionOpen', $el[0]);\n },\n close: function close(el) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var prevented = false;\n\n function prevent() {\n prevented = true;\n }\n\n $el.trigger('accordion:beforeclose', {\n prevent: prevent\n }, prevent);\n app.emit('accordionBeforeClose', $el[0], prevent);\n if (prevented) return;\n var $contentEl = $el.children('.accordion-item-content');\n if ($contentEl.length === 0) $contentEl = $el.find('.accordion-item-content');\n $el.removeClass('accordion-item-opened');\n $contentEl.attr('aria-hidden', true);\n $contentEl.transition(0);\n $contentEl.css('height', \"\".concat($contentEl[0].scrollHeight, \"px\")); // Close\n\n $contentEl.transitionEnd(function () {\n if ($el.hasClass('accordion-item-opened')) {\n $contentEl.transition(0);\n $contentEl.css('height', 'auto');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $contentEl.transition('');\n $el.trigger('accordion:opened');\n app.emit('accordionOpened', $el[0]);\n });\n } else {\n $contentEl.css('height', '');\n $el.trigger('accordion:closed');\n app.emit('accordionClosed', $el[0]);\n }\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $contentEl.transition('');\n $contentEl.css('height', '');\n $el.trigger('accordion:close');\n app.emit('accordionClose', $el[0]);\n });\n },\n toggle: function toggle(el) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n if ($el.hasClass('accordion-item-opened')) app.accordion.close(el);else app.accordion.open(el);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'accordion',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n accordion: {\n open: Accordion.open.bind(app),\n close: Accordion.close.bind(app),\n toggle: Accordion.toggle.bind(app)\n }\n });\n },\n clicks: {\n '.accordion-item .item-link, .accordion-item-toggle, .links-list.accordion-list > ul > li > a': function open($clickedEl) {\n var app = this;\n Accordion.toggleClicked.call(app, $clickedEl);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/accordion/accordion.js?");
  46. /***/ }),
  47. /***/ "./node_modules/framework7/components/actions/actions-class.js":
  48. /*!*********************************************************************!*\
  49. !*** ./node_modules/framework7/components/actions/actions-class.js ***!
  50. \*********************************************************************/
  51. /*! exports provided: default */
  52. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  53. "use strict";
  54. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint indent: [\"off\"] */\n\n\n\n\nvar Actions = /*#__PURE__*/function (_Modal) {\n _inherits(Actions, _Modal);\n\n var _super = _createSuper(Actions);\n\n function Actions(app, params) {\n var _this;\n\n _classCallCheck(this, Actions);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.actions, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var actions = _assertThisInitialized(_this);\n\n actions.params = extendedParams; // Buttons\n\n var groups;\n\n if (actions.params.buttons) {\n groups = actions.params.buttons;\n if (!Array.isArray(groups[0])) groups = [groups];\n }\n\n actions.groups = groups; // Find Element\n\n var $el;\n\n if (actions.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(actions.params.el).eq(0);\n } else if (actions.params.content) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(actions.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else if (actions.params.buttons) {\n if (actions.params.convertToPopover) {\n actions.popoverHtml = actions.renderPopover();\n }\n\n actions.actionsHtml = actions.render();\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el && $el.length === 0 && !(actions.actionsHtml || actions.popoverHtml)) {\n return _possibleConstructorReturn(_this, actions.destroy());\n } // Backdrop\n\n\n var $backdropEl;\n\n if (actions.params.backdrop && actions.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(actions.params.backdropEl);\n } else if (actions.params.backdrop) {\n $backdropEl = app.root.children('.actions-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"actions-backdrop\"></div>');\n app.root.append($backdropEl);\n }\n }\n\n var originalOpen = actions.open;\n var originalClose = actions.close;\n var popover;\n\n function buttonOnClick(e) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var buttonIndex;\n var groupIndex;\n\n if ($buttonEl.hasClass('list-button') || $buttonEl.hasClass('item-link')) {\n buttonIndex = $buttonEl.parents('li').index();\n groupIndex = $buttonEl.parents('.list').index();\n } else {\n buttonIndex = $buttonEl.index();\n groupIndex = $buttonEl.parents('.actions-group').index();\n }\n\n if (typeof groups !== 'undefined') {\n var button = groups[groupIndex][buttonIndex];\n if (button.onClick) button.onClick(actions, e);\n if (actions.params.onClick) actions.params.onClick(actions, e);\n if (button.close !== false) actions.close();\n }\n }\n\n actions.open = function open(animate) {\n var convertToPopover = false;\n var _actions$params = actions.params,\n targetEl = _actions$params.targetEl,\n targetX = _actions$params.targetX,\n targetY = _actions$params.targetY,\n targetWidth = _actions$params.targetWidth,\n targetHeight = _actions$params.targetHeight;\n\n if (actions.params.convertToPopover && (targetEl || targetX !== undefined && targetY !== undefined)) {\n // Popover\n if (actions.params.forceToPopover || app.device.ios && app.device.ipad || app.width >= 768 || app.device.desktop && app.theme === 'aurora') {\n convertToPopover = true;\n }\n }\n\n if (convertToPopover && actions.popoverHtml) {\n popover = app.popover.create({\n content: actions.popoverHtml,\n backdrop: actions.params.backdrop,\n targetEl: targetEl,\n targetX: targetX,\n targetY: targetY,\n targetWidth: targetWidth,\n targetHeight: targetHeight\n });\n popover.open(animate);\n popover.once('popoverOpened', function () {\n popover.$el.find('.list-button, .item-link').each(function (groupIndex, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).on('click', buttonOnClick);\n });\n });\n popover.once('popoverClosed', function () {\n popover.$el.find('.list-button, .item-link').each(function (groupIndex, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).off('click', buttonOnClick);\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n popover.destroy();\n popover = undefined;\n });\n });\n } else {\n actions.$el = actions.actionsHtml ? Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(actions.actionsHtml) : actions.$el;\n actions.$el[0].f7Modal = actions;\n\n if (actions.groups) {\n actions.$el.find('.actions-button').each(function (groupIndex, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).on('click', buttonOnClick);\n });\n actions.once('actionsClosed', function () {\n actions.$el.find('.actions-button').each(function (groupIndex, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).off('click', buttonOnClick);\n });\n });\n }\n\n actions.el = actions.$el[0];\n originalOpen.call(actions, animate);\n }\n\n return actions;\n };\n\n actions.close = function close(animate) {\n if (popover) {\n popover.close(animate);\n } else {\n originalClose.call(actions, animate);\n }\n\n return actions;\n };\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(actions, {\n app: app,\n $el: $el,\n el: $el ? $el[0] : undefined,\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'actions'\n });\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n var keyboardOpened = !app.device.desktop && app.device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);\n if (keyboardOpened) return;\n\n if ($target.closest(actions.el).length === 0) {\n if (actions.params.closeByBackdropClick && actions.params.backdrop && actions.backdropEl && actions.backdropEl === target) {\n actions.close();\n } else if (actions.params.closeByOutsideClick) {\n actions.close();\n }\n }\n }\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n\n if (keyCode === 27 && actions.params.closeOnEscape) {\n actions.close();\n }\n }\n\n if (actions.params.closeOnEscape) {\n actions.on('open', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).on('keydown', onKeyDown);\n });\n actions.on('close', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).off('keydown', onKeyDown);\n });\n }\n\n actions.on('opened', function () {\n if (actions.params.closeByBackdropClick || actions.params.closeByOutsideClick) {\n app.on('click', handleClick);\n }\n });\n actions.on('close', function () {\n if (actions.params.closeByBackdropClick || actions.params.closeByOutsideClick) {\n app.off('click', handleClick);\n }\n });\n\n if ($el) {\n $el[0].f7Modal = actions;\n }\n\n return _possibleConstructorReturn(_this, actions);\n }\n\n _createClass(Actions, [{\n key: \"render\",\n value: function render() {\n var actions = this;\n if (actions.params.render) return actions.params.render.call(actions, actions);\n var groups = actions.groups;\n return \"\\n <div class=\\\"actions-modal\".concat(actions.params.grid ? ' actions-grid' : '', \"\\\">\\n \").concat(groups.map(function (group) {\n return \"<div class=\\\"actions-group\\\">\\n \".concat(group.map(function (button) {\n var buttonClasses = [\"actions-\".concat(button.label ? 'label' : 'button')];\n var color = button.color,\n bg = button.bg,\n bold = button.bold,\n disabled = button.disabled,\n label = button.label,\n text = button.text,\n icon = button.icon;\n if (color) buttonClasses.push(\"color-\".concat(color));\n if (bg) buttonClasses.push(\"bg-color-\".concat(bg));\n if (bold) buttonClasses.push('actions-button-bold');\n if (disabled) buttonClasses.push('disabled');\n\n if (label) {\n return \"<div class=\\\"\".concat(buttonClasses.join(' '), \"\\\">\").concat(text, \"</div>\");\n }\n\n return \"\\n <div class=\\\"\".concat(buttonClasses.join(' '), \"\\\">\\n \").concat(icon ? \"<div class=\\\"actions-button-media\\\">\".concat(icon, \"</div>\") : '', \"\\n <div class=\\\"actions-button-text\\\">\").concat(text, \"</div>\\n </div>\").trim();\n }).join(''), \"\\n </div>\");\n }).join(''), \"\\n </div>\\n \").trim();\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var actions = this;\n if (actions.params.renderPopover) return actions.params.renderPopover.call(actions, actions);\n var groups = actions.groups;\n return \"\\n <div class=\\\"popover popover-from-actions\\\">\\n <div class=\\\"popover-inner\\\">\\n \".concat(groups.map(function (group) {\n return \"\\n <div class=\\\"list\\\">\\n <ul>\\n \".concat(group.map(function (button) {\n var itemClasses = [];\n var color = button.color,\n bg = button.bg,\n bold = button.bold,\n disabled = button.disabled,\n label = button.label,\n text = button.text,\n icon = button.icon;\n if (color) itemClasses.push(\"color-\".concat(color));\n if (bg) itemClasses.push(\"bg-color-\".concat(bg));\n if (bold) itemClasses.push('popover-from-actions-bold');\n if (disabled) itemClasses.push('disabled');\n\n if (label) {\n itemClasses.push('popover-from-actions-label');\n return \"<li class=\\\"\".concat(itemClasses.join(' '), \"\\\">\").concat(text, \"</li>\");\n }\n\n if (icon) {\n itemClasses.push('item-link item-content');\n return \"\\n <li>\\n <a class=\\\"\".concat(itemClasses.join(' '), \"\\\">\\n <div class=\\\"item-media\\\">\\n \").concat(icon, \"\\n </div>\\n <div class=\\\"item-inner\\\">\\n <div class=\\\"item-title\\\">\\n \").concat(text, \"\\n </div>\\n </div>\\n </a>\\n </li>\\n \");\n }\n\n itemClasses.push('list-button');\n return \"\\n <li>\\n <a class=\\\"\".concat(itemClasses.join(' '), \"\\\">\").concat(text, \"</a>\\n </li>\\n \");\n }).join(''), \"\\n </ul>\\n </div>\\n \");\n }).join(''), \"\\n </div>\\n </div>\\n \").trim();\n }\n }]);\n\n return Actions;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Actions);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/actions/actions-class.js?");
  55. /***/ }),
  56. /***/ "./node_modules/framework7/components/actions/actions.js":
  57. /*!***************************************************************!*\
  58. !*** ./node_modules/framework7/components/actions/actions.js ***!
  59. \***************************************************************/
  60. /*! exports provided: default */
  61. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  62. "use strict";
  63. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _actions_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./actions-class */ \"./node_modules/framework7/components/actions/actions-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'actions',\n params: {\n actions: {\n convertToPopover: true,\n forceToPopover: false,\n backdrop: true,\n backdropEl: undefined,\n closeByBackdropClick: true,\n closeOnEscape: false,\n render: null,\n renderPopover: null\n }\n },\n static: {\n Actions: _actions_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.actions = Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n app: app,\n constructor: _actions_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n defaultSelector: '.actions-modal.modal-in'\n });\n },\n clicks: {\n '.actions-open': function openActions($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.actions.open(data.actions, data.animate);\n },\n '.actions-close': function closeActions($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.actions.close(data.actions, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/actions/actions.js?");
  64. /***/ }),
  65. /***/ "./node_modules/framework7/components/app/app-class.js":
  66. /*!*************************************************************!*\
  67. !*** ./node_modules/framework7/components/app/app-class.js ***!
  68. \*************************************************************/
  69. /*! exports provided: default */
  70. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  71. "use strict";
  72. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! template7 */ \"./node_modules/framework7/node_modules/template7/dist/template7.esm.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_events_class__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/events-class */ \"./node_modules/framework7/utils/events-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n/* harmony import */ var _load_module__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./load-module */ \"./node_modules/framework7/components/app/load-module.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\nvar Framework7 = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Framework7, _Framework7Class);\n\n var _super = _createSuper(Framework7);\n\n function Framework7(params) {\n var _this;\n\n _classCallCheck(this, Framework7);\n\n _this = _super.call(this, params);\n\n if (Framework7.instance) {\n throw new Error('Framework7 is already initialized and can\\'t be initialized more than once');\n }\n\n var passedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend({}, params); // App Instance\n\n var app = _assertThisInitialized(_this);\n\n Framework7.instance = app; // Default\n\n var defaults = {\n version: '1.0.0',\n id: 'io.framework7.testapp',\n root: 'body',\n theme: 'auto',\n language: ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].navigator.language,\n routes: [],\n name: 'Framework7',\n lazyModulesPath: null,\n initOnDeviceReady: true,\n init: true,\n autoDarkTheme: false\n }; // Extend defaults with modules params\n\n app.useModulesParams(defaults); // Extend defaults with passed params\n\n app.params = _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(defaults, params);\n var $rootEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.params.root);\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(app, {\n // App Id\n id: app.params.id,\n // App Name\n name: app.params.name,\n // App version\n version: app.params.version,\n // Routes\n routes: app.params.routes,\n // Lang\n language: app.params.language,\n // Root\n root: $rootEl,\n // RTL\n rtl: $rootEl.css('direction') === 'rtl',\n // Theme\n theme: function getTheme() {\n if (app.params.theme === 'auto') {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].ios) return 'ios';\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].desktop && _utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].electron) return 'aurora';\n return 'md';\n }\n\n return app.params.theme;\n }(),\n // Initially passed parameters\n passedParams: passedParams\n }); // Save Root\n\n if (app.root && app.root[0]) {\n app.root[0].f7 = app;\n } // Install Modules\n\n\n app.useModules(); // Init Data & Methods\n\n app.initData(); // Auto Dark Theme\n\n var DARK = '(prefers-color-scheme: dark)';\n var LIGHT = '(prefers-color-scheme: light)';\n app.mq = {};\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia) {\n app.mq.dark = ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia(DARK);\n app.mq.light = ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia(LIGHT);\n }\n\n app.colorSchemeListener = function colorSchemeListener(_ref) {\n var matches = _ref.matches,\n media = _ref.media;\n\n if (!matches) {\n return;\n }\n\n var html = ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"document\"].querySelector('html');\n\n if (media === DARK) {\n html.classList.add('theme-dark');\n } else if (media === LIGHT) {\n html.classList.remove('theme-dark');\n }\n }; // Init\n\n\n if (app.params.init) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].cordova && app.params.initOnDeviceReady) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"document\"]).on('deviceready', function () {\n app.init();\n });\n } else {\n app.init();\n }\n } // Return app instance\n\n\n return _possibleConstructorReturn(_this, app);\n }\n\n _createClass(Framework7, [{\n key: \"initData\",\n value: function initData() {\n var app = this; // Data\n\n app.data = {};\n\n if (app.params.data && typeof app.params.data === 'function') {\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(app.data, app.params.data.bind(app)());\n } else if (app.params.data) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(app.data, app.params.data);\n } // Methods\n\n\n app.methods = {};\n\n if (app.params.methods) {\n Object.keys(app.params.methods).forEach(function (methodName) {\n if (typeof app.params.methods[methodName] === 'function') {\n app.methods[methodName] = app.params.methods[methodName].bind(app);\n } else {\n app.methods[methodName] = app.params.methods[methodName];\n }\n });\n }\n }\n }, {\n key: \"enableAutoDarkTheme\",\n value: function enableAutoDarkTheme() {\n if (!ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia) return;\n var app = this;\n var html = ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"document\"].querySelector('html');\n\n if (app.mq.dark && app.mq.light) {\n app.mq.dark.addListener(app.colorSchemeListener);\n app.mq.light.addListener(app.colorSchemeListener);\n }\n\n if (app.mq.dark && app.mq.dark.matches) {\n html.classList.add('theme-dark');\n } else if (app.mq.light && app.mq.light.matches) {\n html.classList.remove('theme-dark');\n }\n }\n }, {\n key: \"disableAutoDarkTheme\",\n value: function disableAutoDarkTheme() {\n if (!ssr_window__WEBPACK_IMPORTED_MODULE_2__[\"window\"].matchMedia) return;\n var app = this;\n if (app.mq.dark) app.mq.dark.removeListener(app.colorSchemeListener);\n if (app.mq.light) app.mq.light.removeListener(app.colorSchemeListener);\n }\n }, {\n key: \"init\",\n value: function init() {\n var app = this;\n if (app.initialized) return app;\n app.root.addClass('framework7-initializing'); // RTL attr\n\n if (app.rtl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').attr('dir', 'rtl');\n } // Auto Dark Theme\n\n\n if (app.params.autoDarkTheme) {\n app.enableAutoDarkTheme();\n } // Root class\n\n\n app.root.addClass('framework7-root'); // Theme class\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('ios md').addClass(app.theme); // Init class\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].nextFrame(function () {\n app.root.removeClass('framework7-initializing');\n }); // Emit, init other modules\n\n app.initialized = true;\n app.emit('init');\n return app;\n } // eslint-disable-next-line\n\n }, {\n key: \"loadModule\",\n value: function loadModule() {\n return Framework7.loadModule.apply(Framework7, arguments);\n } // eslint-disable-next-line\n\n }, {\n key: \"loadModules\",\n value: function loadModules() {\n return Framework7.loadModules.apply(Framework7, arguments);\n }\n }, {\n key: \"getVnodeHooks\",\n value: function getVnodeHooks(hook, id) {\n var app = this;\n if (!app.vnodeHooks || !app.vnodeHooks[hook]) return [];\n return app.vnodeHooks[hook][id] || [];\n } // eslint-disable-next-line\n\n }, {\n key: \"$\",\n get: function get() {\n return dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n } // eslint-disable-next-line\n\n }, {\n key: \"t7\",\n get: function get() {\n return template7__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n }\n }], [{\n key: \"Dom7\",\n get: function get() {\n return dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n }, {\n key: \"$\",\n get: function get() {\n return dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n }, {\n key: \"Template7\",\n get: function get() {\n return template7__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n }\n }, {\n key: \"Class\",\n get: function get() {\n return _utils_class__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n }\n }, {\n key: \"Events\",\n get: function get() {\n return _utils_events_class__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n }\n }]);\n\n return Framework7;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n\nFramework7.ModalMethods = _utils_modal_methods__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\nFramework7.ConstructorMethods = _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\nFramework7.loadModule = _load_module__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\n\nFramework7.loadModules = function loadModules(modules) {\n return Promise.all(modules.map(function (module) {\n return Framework7.loadModule(module);\n }));\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Framework7);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/app/app-class.js?");
  73. /***/ }),
  74. /***/ "./node_modules/framework7/components/app/load-module.js":
  75. /*!***************************************************************!*\
  76. !*** ./node_modules/framework7/components/app/load-module.js ***!
  77. \***************************************************************/
  78. /*! exports provided: default */
  79. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  80. "use strict";
  81. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar fetchedModules = [];\n\nfunction loadModule(moduleToLoad) {\n var Framework7 = this;\n return new Promise(function (resolve, reject) {\n var app = Framework7.instance;\n var modulePath;\n var moduleObj;\n var moduleFunc;\n\n if (!moduleToLoad) {\n reject(new Error('Framework7: Lazy module must be specified'));\n return;\n }\n\n function install(module) {\n Framework7.use(module);\n\n if (app) {\n app.useModuleParams(module, app.params);\n app.useModule(module);\n }\n }\n\n if (typeof moduleToLoad === 'string') {\n var matchNamePattern = moduleToLoad.match(/([a-z0-9-]*)/i);\n\n if (moduleToLoad.indexOf('.') < 0 && matchNamePattern && matchNamePattern[0].length === moduleToLoad.length) {\n if (!app || app && !app.params.lazyModulesPath) {\n reject(new Error('Framework7: \"lazyModulesPath\" app parameter must be specified to fetch module by name'));\n return;\n }\n\n modulePath = \"\".concat(app.params.lazyModulesPath, \"/\").concat(moduleToLoad, \".js\");\n } else {\n modulePath = moduleToLoad;\n }\n } else if (typeof moduleToLoad === 'function') {\n moduleFunc = moduleToLoad;\n } else {\n // considering F7-Plugin object\n moduleObj = moduleToLoad;\n }\n\n if (moduleFunc) {\n var module = moduleFunc(Framework7, false);\n\n if (!module) {\n reject(new Error('Framework7: Can\\'t find Framework7 component in specified component function'));\n return;\n } // Check if it was added\n\n\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolve();\n return;\n } // Install It\n\n\n install(module);\n resolve();\n }\n\n if (moduleObj) {\n var _module = moduleObj;\n\n if (!_module) {\n reject(new Error('Framework7: Can\\'t find Framework7 component in specified component'));\n return;\n } // Check if it was added\n\n\n if (Framework7.prototype.modules && Framework7.prototype.modules[_module.name]) {\n resolve();\n return;\n } // Install It\n\n\n install(_module);\n resolve();\n }\n\n if (modulePath) {\n if (fetchedModules.indexOf(modulePath) >= 0) {\n resolve();\n return;\n }\n\n fetchedModules.push(modulePath);\n var scriptLoad = new Promise(function (resolveScript, rejectScript) {\n Framework7.request.get(modulePath, function (scriptContent) {\n var id = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].id();\n var callbackLoadName = \"f7_component_loader_callback_\".concat(id);\n var scriptEl = document.createElement('script');\n scriptEl.innerHTML = \"window.\".concat(callbackLoadName, \" = function (Framework7, Framework7AutoInstallComponent) {return \").concat(scriptContent.trim(), \"}\");\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('head').append(scriptEl);\n var componentLoader = window[callbackLoadName];\n delete window[callbackLoadName];\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(scriptEl).remove();\n var module = componentLoader(Framework7, false);\n\n if (!module) {\n rejectScript(new Error(\"Framework7: Can't find Framework7 component in \".concat(modulePath, \" file\")));\n return;\n } // Check if it was added\n\n\n if (Framework7.prototype.modules && Framework7.prototype.modules[module.name]) {\n resolveScript();\n return;\n } // Install It\n\n\n install(module);\n resolveScript();\n }, function (xhr, status) {\n rejectScript(xhr, status);\n });\n });\n var styleLoad = new Promise(function (resolveStyle) {\n Framework7.request.get(modulePath.replace('.js', app.rtl ? '.rtl.css' : '.css'), function (styleContent) {\n var styleEl = document.createElement('style');\n styleEl.innerHTML = styleContent;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('head').append(styleEl);\n resolveStyle();\n }, function () {\n resolveStyle();\n });\n });\n Promise.all([scriptLoad, styleLoad]).then(function () {\n resolve();\n }).catch(function (err) {\n reject(err);\n });\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (loadModule);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/app/load-module.js?");
  82. /***/ }),
  83. /***/ "./node_modules/framework7/components/appbar/appbar.js":
  84. /*!*************************************************************!*\
  85. !*** ./node_modules/framework7/components/appbar/appbar.js ***!
  86. \*************************************************************/
  87. /*! exports provided: default */
  88. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  89. "use strict";
  90. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'appbar'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/appbar/appbar.js?");
  91. /***/ }),
  92. /***/ "./node_modules/framework7/components/autocomplete/autocomplete-class.js":
  93. /*!*******************************************************************************!*\
  94. !*** ./node_modules/framework7/components/autocomplete/autocomplete-class.js ***!
  95. \*******************************************************************************/
  96. /*! exports provided: default */
  97. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  98. "use strict";
  99. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint \"no-useless-escape\": \"off\" */\n\n\n\n\nvar Autocomplete = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Autocomplete, _Framework7Class);\n\n var _super = _createSuper(Autocomplete);\n\n function Autocomplete(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Autocomplete);\n\n _this = _super.call(this, params, [app]);\n\n var ac = _assertThisInitialized(_this);\n\n ac.app = app;\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.autocomplete);\n\n if (typeof defaults.searchbarDisableButton === 'undefined') {\n defaults.searchbarDisableButton = app.theme !== 'aurora';\n } // Extend defaults with modules params\n\n\n ac.useModulesParams(defaults);\n ac.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var $openerEl;\n\n if (ac.params.openerEl) {\n $openerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ac.params.openerEl);\n if ($openerEl.length) $openerEl[0].f7Autocomplete = ac;\n }\n\n var $inputEl;\n\n if (ac.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ac.params.inputEl);\n if ($inputEl.length) $inputEl[0].f7Autocomplete = ac;\n }\n\n var view;\n\n if (ac.params.view) {\n view = ac.params.view;\n } else if ($openerEl || $inputEl) {\n var $el = $openerEl || $inputEl;\n view = $el.closest('.view').length && $el.closest('.view')[0].f7View;\n }\n\n if (!view) view = app.views.main;\n var id = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].id();\n var url = params.url;\n\n if (!url && $openerEl && $openerEl.length) {\n if ($openerEl.attr('href')) url = $openerEl.attr('href');else if ($openerEl.find('a').length > 0) {\n url = $openerEl.find('a').attr('href');\n }\n }\n\n if (!url || url === '#' || url === '') url = ac.params.url;\n var inputType = ac.params.multiple ? 'checkbox' : 'radio';\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(ac, {\n $openerEl: $openerEl,\n openerEl: $openerEl && $openerEl[0],\n $inputEl: $inputEl,\n inputEl: $inputEl && $inputEl[0],\n id: id,\n view: view,\n url: url,\n value: ac.params.value || [],\n inputType: inputType,\n inputName: \"\".concat(inputType, \"-\").concat(id),\n $modalEl: undefined,\n $dropdownEl: undefined\n });\n var previousQuery = '';\n\n function onInputChange() {\n var query = ac.$inputEl.val().trim();\n if (!ac.params.source) return;\n ac.params.source.call(ac, query, function (items) {\n var itemsHTML = '';\n var limit = ac.params.limit ? Math.min(ac.params.limit, items.length) : items.length;\n ac.items = items;\n var regExp;\n\n if (ac.params.highlightMatches) {\n query = query.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n regExp = new RegExp(\"(\".concat(query, \")\"), 'i');\n }\n\n var firstValue;\n var firstItem;\n\n for (var i = 0; i < limit; i += 1) {\n var itemValue = _typeof(items[i]) === 'object' ? items[i][ac.params.valueProperty] : items[i];\n var itemText = _typeof(items[i]) === 'object' ? items[i][ac.params.textProperty] : items[i];\n\n if (i === 0) {\n firstValue = itemValue;\n firstItem = ac.items[i];\n }\n\n itemsHTML += ac.renderItem({\n value: itemValue,\n text: ac.params.highlightMatches ? itemText.replace(regExp, '<b>$1</b>') : itemText\n }, i);\n }\n\n if (itemsHTML === '' && query === '' && ac.params.dropdownPlaceholderText) {\n itemsHTML += ac.renderItem({\n placeholder: true,\n text: ac.params.dropdownPlaceholderText\n });\n }\n\n ac.$dropdownEl.find('ul').html(itemsHTML);\n\n if (ac.params.typeahead) {\n if (!firstValue || !firstItem) {\n return;\n }\n\n if (firstValue.toLowerCase().indexOf(query.toLowerCase()) !== 0) {\n return;\n }\n\n if (previousQuery.toLowerCase() === query.toLowerCase()) {\n ac.value = [];\n return;\n }\n\n if (previousQuery.toLowerCase().indexOf(query.toLowerCase()) === 0) {\n previousQuery = query;\n ac.value = [];\n return;\n }\n\n $inputEl.val(firstValue);\n $inputEl[0].setSelectionRange(query.length, firstValue.length);\n var previousValue = _typeof(ac.value[0]) === 'object' ? ac.value[0][ac.params.valueProperty] : ac.value[0];\n\n if (!previousValue || firstValue.toLowerCase() !== previousValue.toLowerCase()) {\n ac.value = [firstItem];\n ac.emit('local::change autocompleteChange', [firstItem]);\n }\n }\n\n previousQuery = query;\n });\n }\n\n function onPageInputChange() {\n var input = this;\n var value = input.value;\n var isValues = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(input).parents('.autocomplete-values').length > 0;\n var item;\n var itemValue;\n var aValue;\n\n if (isValues) {\n if (ac.inputType === 'checkbox' && !input.checked) {\n for (var i = 0; i < ac.value.length; i += 1) {\n aValue = typeof ac.value[i] === 'string' ? ac.value[i] : ac.value[i][ac.params.valueProperty];\n\n if (aValue === value || aValue * 1 === value * 1) {\n ac.value.splice(i, 1);\n }\n }\n\n ac.updateValues();\n ac.emit('local::change autocompleteChange', ac.value);\n }\n\n return;\n } // Find Related Item\n\n\n for (var _i = 0; _i < ac.items.length; _i += 1) {\n itemValue = _typeof(ac.items[_i]) === 'object' ? ac.items[_i][ac.params.valueProperty] : ac.items[_i];\n if (itemValue === value || itemValue * 1 === value * 1) item = ac.items[_i];\n }\n\n if (ac.inputType === 'radio') {\n ac.value = [item];\n } else if (input.checked) {\n ac.value.push(item);\n } else {\n for (var _i2 = 0; _i2 < ac.value.length; _i2 += 1) {\n aValue = _typeof(ac.value[_i2]) === 'object' ? ac.value[_i2][ac.params.valueProperty] : ac.value[_i2];\n\n if (aValue === value || aValue * 1 === value * 1) {\n ac.value.splice(_i2, 1);\n }\n }\n } // Update Values Block\n\n\n ac.updateValues(); // On Select Callback\n\n if (ac.inputType === 'radio' && input.checked || ac.inputType === 'checkbox') {\n ac.emit('local::change autocompleteChange', ac.value);\n }\n }\n\n function onHtmlClick(e) {\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n if ($targetEl.is(ac.$inputEl[0]) || ac.$dropdownEl && $targetEl.closest(ac.$dropdownEl[0]).length) return;\n ac.close();\n }\n\n function onOpenerClick() {\n ac.open();\n }\n\n function onInputFocus() {\n ac.open();\n }\n\n function onInputBlur() {\n if (ac.$dropdownEl.find('label.active-state').length > 0) return;\n setTimeout(function () {\n ac.close();\n }, 0);\n }\n\n function onResize() {\n ac.positionDropdown();\n }\n\n function onKeyDown(e) {\n if (!ac.opened) return;\n\n if (e.keyCode === 27) {\n // ESC\n e.preventDefault();\n ac.$inputEl.blur();\n return;\n }\n\n if (e.keyCode === 13) {\n // Enter\n var $selectedItemLabel = ac.$dropdownEl.find('.autocomplete-dropdown-selected label');\n\n if ($selectedItemLabel.length) {\n e.preventDefault();\n $selectedItemLabel.trigger('click');\n ac.$inputEl.blur();\n return;\n }\n\n if (ac.params.typeahead) {\n e.preventDefault();\n ac.$inputEl.blur();\n }\n\n return;\n }\n\n if (e.keyCode !== 40 && e.keyCode !== 38) return;\n e.preventDefault();\n var $selectedItem = ac.$dropdownEl.find('.autocomplete-dropdown-selected');\n var $newItem;\n\n if ($selectedItem.length) {\n $newItem = $selectedItem[e.keyCode === 40 ? 'next' : 'prev']('li');\n\n if (!$newItem.length) {\n $newItem = ac.$dropdownEl.find('li').eq(e.keyCode === 40 ? 0 : ac.$dropdownEl.find('li').length - 1);\n }\n } else {\n $newItem = ac.$dropdownEl.find('li').eq(e.keyCode === 40 ? 0 : ac.$dropdownEl.find('li').length - 1);\n }\n\n if ($newItem.hasClass('autocomplete-dropdown-placeholder')) return;\n $selectedItem.removeClass('autocomplete-dropdown-selected');\n $newItem.addClass('autocomplete-dropdown-selected');\n }\n\n function onDropdownClick() {\n var $clickedEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var clickedItem;\n\n for (var i = 0; i < ac.items.length; i += 1) {\n var itemValue = _typeof(ac.items[i]) === 'object' ? ac.items[i][ac.params.valueProperty] : ac.items[i];\n var value = $clickedEl.attr('data-value');\n\n if (itemValue === value || itemValue * 1 === value * 1) {\n clickedItem = ac.items[i];\n }\n }\n\n if (ac.params.updateInputValueOnSelect) {\n ac.$inputEl.val(_typeof(clickedItem) === 'object' ? clickedItem[ac.params.valueProperty] : clickedItem);\n ac.$inputEl.trigger('input change');\n }\n\n ac.value = [clickedItem];\n ac.emit('local::change autocompleteChange', [clickedItem]);\n ac.close();\n }\n\n ac.attachEvents = function attachEvents() {\n if (ac.params.openIn !== 'dropdown' && ac.$openerEl) {\n ac.$openerEl.on('click', onOpenerClick);\n }\n\n if (ac.params.openIn === 'dropdown' && ac.$inputEl) {\n ac.$inputEl.on('focus', onInputFocus);\n ac.$inputEl.on(ac.params.inputEvents, onInputChange);\n\n if (app.device.android) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').on('click', onHtmlClick);\n } else {\n ac.$inputEl.on('blur', onInputBlur);\n }\n\n ac.$inputEl.on('keydown', onKeyDown);\n }\n };\n\n ac.detachEvents = function attachEvents() {\n if (ac.params.openIn !== 'dropdown' && ac.$openerEl) {\n ac.$openerEl.off('click', onOpenerClick);\n }\n\n if (ac.params.openIn === 'dropdown' && ac.$inputEl) {\n ac.$inputEl.off('focus', onInputFocus);\n ac.$inputEl.off(ac.params.inputEvents, onInputChange);\n\n if (app.device.android) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').off('click', onHtmlClick);\n } else {\n ac.$inputEl.off('blur', onInputBlur);\n }\n\n ac.$inputEl.off('keydown', onKeyDown);\n }\n };\n\n ac.attachDropdownEvents = function attachDropdownEvents() {\n ac.$dropdownEl.on('click', 'label', onDropdownClick);\n app.on('resize', onResize);\n };\n\n ac.detachDropdownEvents = function detachDropdownEvents() {\n ac.$dropdownEl.off('click', 'label', onDropdownClick);\n app.off('resize', onResize);\n };\n\n ac.attachPageEvents = function attachPageEvents() {\n ac.$el.on('change', 'input[type=\"radio\"], input[type=\"checkbox\"]', onPageInputChange);\n\n if (ac.params.closeOnSelect && !ac.params.multiple) {\n ac.$el.once('click', '.list label', function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n ac.close();\n });\n });\n }\n };\n\n ac.detachPageEvents = function detachPageEvents() {\n ac.$el.off('change', 'input[type=\"radio\"], input[type=\"checkbox\"]', onPageInputChange);\n }; // Install Modules\n\n\n ac.useModules(); // Init\n\n ac.init();\n return _possibleConstructorReturn(_this, ac);\n }\n\n _createClass(Autocomplete, [{\n key: \"positionDropdown\",\n value: function positionDropdown() {\n var ac = this;\n var $inputEl = ac.$inputEl,\n app = ac.app,\n $dropdownEl = ac.$dropdownEl;\n var $pageContentEl = $inputEl.parents('.page-content');\n if ($pageContentEl.length === 0) return;\n var inputOffset = $inputEl.offset();\n var inputOffsetWidth = $inputEl[0].offsetWidth;\n var inputOffsetHeight = $inputEl[0].offsetHeight;\n var $listEl = $inputEl.parents('.list');\n var $listParent;\n $listEl.parents().each(function (index, parentEl) {\n if ($listParent) return;\n var $parentEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parentEl);\n if ($parentEl.parent($pageContentEl).length) $listParent = $parentEl;\n });\n var listOffset = $listEl.offset();\n var paddingBottom = parseInt($pageContentEl.css('padding-bottom'), 10);\n var listOffsetLeft = $listEl.length > 0 ? listOffset.left - $pageContentEl.offset().left : 0;\n var inputOffsetLeft = inputOffset.left - ($listEl.length > 0 ? listOffset.left : 0) - (app.rtl ? 0 : 0);\n var inputOffsetTop = inputOffset.top - ($pageContentEl.offset().top - $pageContentEl[0].scrollTop);\n var maxHeight = $pageContentEl[0].scrollHeight - paddingBottom - (inputOffsetTop + $pageContentEl[0].scrollTop) - $inputEl[0].offsetHeight;\n var paddingProp = app.rtl ? 'padding-right' : 'padding-left';\n var paddingValue;\n\n if ($listEl.length && !ac.params.expandInput) {\n paddingValue = (app.rtl ? $listEl[0].offsetWidth - inputOffsetLeft - inputOffsetWidth : inputOffsetLeft) - (app.theme === 'md' ? 16 : 15);\n }\n\n $dropdownEl.css({\n left: \"\".concat($listEl.length > 0 ? listOffsetLeft : inputOffsetLeft, \"px\"),\n top: \"\".concat(inputOffsetTop + $pageContentEl[0].scrollTop + inputOffsetHeight, \"px\"),\n width: \"\".concat($listEl.length > 0 ? $listEl[0].offsetWidth : inputOffsetWidth, \"px\")\n });\n $dropdownEl.children('.autocomplete-dropdown-inner').css(_defineProperty({\n maxHeight: \"\".concat(maxHeight, \"px\")\n }, paddingProp, $listEl.length > 0 && !ac.params.expandInput ? \"\".concat(paddingValue, \"px\") : ''));\n }\n }, {\n key: \"focus\",\n value: function focus() {\n var ac = this;\n ac.$el.find('input[type=search]').focus();\n }\n }, {\n key: \"source\",\n value: function source(query) {\n var ac = this;\n if (!ac.params.source) return;\n var $el = ac.$el;\n ac.params.source.call(ac, query, function (items) {\n var itemsHTML = '';\n var limit = ac.params.limit ? Math.min(ac.params.limit, items.length) : items.length;\n ac.items = items;\n\n for (var i = 0; i < limit; i += 1) {\n var selected = false;\n var itemValue = _typeof(items[i]) === 'object' ? items[i][ac.params.valueProperty] : items[i];\n\n for (var j = 0; j < ac.value.length; j += 1) {\n var aValue = _typeof(ac.value[j]) === 'object' ? ac.value[j][ac.params.valueProperty] : ac.value[j];\n if (aValue === itemValue || aValue * 1 === itemValue * 1) selected = true;\n }\n\n itemsHTML += ac.renderItem({\n value: itemValue,\n text: _typeof(items[i]) === 'object' ? items[i][ac.params.textProperty] : items[i],\n inputType: ac.inputType,\n id: ac.id,\n inputName: ac.inputName,\n selected: selected\n }, i);\n }\n\n $el.find('.autocomplete-found ul').html(itemsHTML);\n\n if (items.length === 0) {\n if (query.length !== 0) {\n $el.find('.autocomplete-not-found').show();\n $el.find('.autocomplete-found, .autocomplete-values').hide();\n } else {\n $el.find('.autocomplete-values').show();\n $el.find('.autocomplete-found, .autocomplete-not-found').hide();\n }\n } else {\n $el.find('.autocomplete-found').show();\n $el.find('.autocomplete-not-found, .autocomplete-values').hide();\n }\n });\n }\n }, {\n key: \"updateValues\",\n value: function updateValues() {\n var ac = this;\n var valuesHTML = '';\n\n for (var i = 0; i < ac.value.length; i += 1) {\n valuesHTML += ac.renderItem({\n value: _typeof(ac.value[i]) === 'object' ? ac.value[i][ac.params.valueProperty] : ac.value[i],\n text: _typeof(ac.value[i]) === 'object' ? ac.value[i][ac.params.textProperty] : ac.value[i],\n inputType: ac.inputType,\n id: ac.id,\n inputName: \"\".concat(ac.inputName, \"-checked}\"),\n selected: true\n }, i);\n }\n\n ac.$el.find('.autocomplete-values ul').html(valuesHTML);\n }\n }, {\n key: \"preloaderHide\",\n value: function preloaderHide() {\n var ac = this;\n\n if (ac.params.openIn === 'dropdown' && ac.$dropdownEl) {\n ac.$dropdownEl.find('.autocomplete-preloader').removeClass('autocomplete-preloader-visible');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.autocomplete-preloader').removeClass('autocomplete-preloader-visible');\n }\n }\n }, {\n key: \"preloaderShow\",\n value: function preloaderShow() {\n var ac = this;\n\n if (ac.params.openIn === 'dropdown' && ac.$dropdownEl) {\n ac.$dropdownEl.find('.autocomplete-preloader').addClass('autocomplete-preloader-visible');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.autocomplete-preloader').addClass('autocomplete-preloader-visible');\n }\n }\n }, {\n key: \"renderPreloader\",\n value: function renderPreloader() {\n var ac = this;\n return \"\\n <div class=\\\"autocomplete-preloader preloader \".concat(ac.params.preloaderColor ? \"color-\".concat(ac.params.preloaderColor) : '', \"\\\">\").concat(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(ac.app.theme, \"PreloaderContent\")] || '', \"</div>\\n \").trim();\n }\n }, {\n key: \"renderSearchbar\",\n value: function renderSearchbar() {\n var ac = this;\n if (ac.params.renderSearchbar) return ac.params.renderSearchbar.call(ac);\n var searchbarHTML = \"\\n <form class=\\\"searchbar\\\">\\n <div class=\\\"searchbar-inner\\\">\\n <div class=\\\"searchbar-input-wrap\\\">\\n <input type=\\\"search\\\" placeholder=\\\"\".concat(ac.params.searchbarPlaceholder, \"\\\"/>\\n <i class=\\\"searchbar-icon\\\"></i>\\n <span class=\\\"input-clear-button\\\"></span>\\n </div>\\n \").concat(ac.params.searchbarDisableButton ? \"\\n <span class=\\\"searchbar-disable-button\\\">\".concat(ac.params.searchbarDisableText, \"</span>\\n \") : '', \"\\n </div>\\n </form>\\n \").trim();\n return searchbarHTML;\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(item, index) {\n var ac = this;\n if (ac.params.renderItem) return ac.params.renderItem.call(ac, item, index);\n var itemHtml;\n var itemValue = item.value && typeof item.value === 'string' ? item.value.replace(/\"/g, '&quot;') : item.value;\n\n if (ac.params.openIn !== 'dropdown') {\n itemHtml = \"\\n <li>\\n <label class=\\\"item-\".concat(item.inputType, \" item-content\\\">\\n <input type=\\\"\").concat(item.inputType, \"\\\" name=\\\"\").concat(item.inputName, \"\\\" value=\\\"\").concat(itemValue, \"\\\" \").concat(item.selected ? 'checked' : '', \">\\n <i class=\\\"icon icon-\").concat(item.inputType, \"\\\"></i>\\n <div class=\\\"item-inner\\\">\\n <div class=\\\"item-title\\\">\").concat(item.text, \"</div>\\n </div>\\n </label>\\n </li>\\n \");\n } else if (!item.placeholder) {\n // Dropdown\n itemHtml = \"\\n <li>\\n <label class=\\\"item-radio item-content\\\" data-value=\\\"\".concat(itemValue, \"\\\">\\n <div class=\\\"item-inner\\\">\\n <div class=\\\"item-title\\\">\").concat(item.text, \"</div>\\n </div>\\n </label>\\n </li>\\n \");\n } else {\n // Dropwdown placeholder\n itemHtml = \"\\n <li class=\\\"autocomplete-dropdown-placeholder\\\">\\n <label class=\\\"item-content\\\">\\n <div class=\\\"item-inner\\\">\\n <div class=\\\"item-title\\\">\".concat(item.text, \"</div>\\n </div>\\n </label>\\n </li>\\n \");\n }\n\n return itemHtml.trim();\n }\n }, {\n key: \"renderNavbar\",\n value: function renderNavbar() {\n var ac = this;\n if (ac.params.renderNavbar) return ac.params.renderNavbar.call(ac);\n var pageTitle = ac.params.pageTitle;\n\n if (typeof pageTitle === 'undefined' && ac.$openerEl && ac.$openerEl.length) {\n pageTitle = ac.$openerEl.find('.item-title').text().trim();\n }\n\n var inPopup = ac.params.openIn === 'popup';\n var navbarLeft = inPopup ? \"\\n \".concat(ac.params.preloader ? \"\\n <div class=\\\"left\\\">\\n \".concat(ac.renderPreloader(), \"\\n </div>\\n \") : '', \"\\n \") : \"\\n <div class=\\\"left sliding\\\">\\n <a class=\\\"link back\\\">\\n <i class=\\\"icon icon-back\\\"></i>\\n <span class=\\\"if-not-md\\\">\".concat(ac.params.pageBackLinkText, \"</span>\\n </a>\\n </div>\\n \");\n var navbarRight = inPopup ? \"\\n <div class=\\\"right\\\">\\n <a class=\\\"link popup-close\\\" data-popup=\\\".autocomplete-popup\\\">\\n \".concat(ac.params.popupCloseLinkText, \"\\n </a>\\n </div>\\n \") : \"\\n \".concat(ac.params.preloader ? \"\\n <div class=\\\"right\\\">\\n \".concat(ac.renderPreloader(), \"\\n </div>\\n \") : '', \"\\n \");\n var navbarHtml = \"\\n <div class=\\\"navbar \".concat(ac.params.navbarColorTheme ? \"color-\".concat(ac.params.navbarColorTheme) : '', \"\\\">\\n <div class=\\\"navbar-inner \").concat(ac.params.navbarColorTheme ? \"color-\".concat(ac.params.navbarColorTheme) : '', \"\\\">\\n \").concat(navbarLeft, \"\\n \").concat(pageTitle ? \"<div class=\\\"title sliding\\\">\".concat(pageTitle, \"</div>\") : '', \"\\n \").concat(navbarRight, \"\\n <div class=\\\"subnavbar sliding\\\">\").concat(ac.renderSearchbar(), \"</div>\\n </div>\\n </div>\\n \").trim();\n return navbarHtml;\n }\n }, {\n key: \"renderDropdown\",\n value: function renderDropdown() {\n var ac = this;\n if (ac.params.renderDropdown) return ac.params.renderDropdown.call(ac, ac.items);\n var dropdownHtml = \"\\n <div class=\\\"autocomplete-dropdown\\\">\\n <div class=\\\"autocomplete-dropdown-inner\\\">\\n <div class=\\\"list \".concat(!ac.params.expandInput ? 'no-safe-areas' : '', \"\\\">\\n <ul></ul>\\n </div>\\n </div>\\n \").concat(ac.params.preloader ? ac.renderPreloader() : '', \"\\n </div>\\n \").trim();\n return dropdownHtml;\n }\n }, {\n key: \"renderPage\",\n value: function renderPage(inPopup) {\n var ac = this;\n if (ac.params.renderPage) return ac.params.renderPage.call(ac, ac.items);\n var pageHtml = \"\\n <div class=\\\"page page-with-subnavbar autocomplete-page\\\" data-name=\\\"autocomplete-page\\\">\\n \".concat(ac.renderNavbar(inPopup), \"\\n <div class=\\\"searchbar-backdrop\\\"></div>\\n <div class=\\\"page-content\\\">\\n <div class=\\\"list autocomplete-list autocomplete-found autocomplete-list-\").concat(ac.id, \" \").concat(ac.params.formColorTheme ? \"color-\".concat(ac.params.formColorTheme) : '', \"\\\">\\n <ul></ul>\\n </div>\\n <div class=\\\"list autocomplete-not-found\\\">\\n <ul>\\n <li class=\\\"item-content\\\"><div class=\\\"item-inner\\\"><div class=\\\"item-title\\\">\").concat(ac.params.notFoundText, \"</div></div></li>\\n </ul>\\n </div>\\n <div class=\\\"list autocomplete-values\\\">\\n <ul></ul>\\n </div>\\n </div>\\n </div>\\n \").trim();\n return pageHtml;\n }\n }, {\n key: \"renderPopup\",\n value: function renderPopup() {\n var ac = this;\n if (ac.params.renderPopup) return ac.params.renderPopup.call(ac, ac.items);\n var popupHtml = \"\\n <div class=\\\"popup autocomplete-popup\\\">\\n <div class=\\\"view\\\">\\n \".concat(ac.renderPage(true), \";\\n </div>\\n </div>\\n \").trim();\n return popupHtml;\n }\n }, {\n key: \"onOpen\",\n value: function onOpen(type, el) {\n var ac = this;\n var app = ac.app;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n ac.$el = $el;\n ac.el = $el[0];\n ac.openedIn = type;\n ac.opened = true;\n\n if (ac.params.openIn === 'dropdown') {\n ac.attachDropdownEvents();\n ac.$dropdownEl.addClass('autocomplete-dropdown-in');\n ac.$inputEl.trigger('input');\n } else {\n // Init SB\n var $searchbarEl = $el.find('.searchbar');\n\n if (ac.params.openIn === 'page' && app.theme === 'ios' && $searchbarEl.length === 0) {\n $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($el)).find('.searchbar');\n }\n\n ac.searchbar = app.searchbar.create({\n el: $searchbarEl,\n backdropEl: $el.find('.searchbar-backdrop'),\n customSearch: true,\n on: {\n search: function search(sb, query) {\n if (query.length === 0 && ac.searchbar.enabled) {\n ac.searchbar.backdropShow();\n } else {\n ac.searchbar.backdropHide();\n }\n\n ac.source(query);\n }\n }\n }); // Attach page events\n\n ac.attachPageEvents(); // Update Values On Page Init\n\n ac.updateValues(); // Source on load\n\n if (ac.params.requestSourceOnOpen) ac.source('');\n }\n\n ac.emit('local::open autocompleteOpen', ac);\n }\n }, {\n key: \"autoFocus\",\n value: function autoFocus() {\n var ac = this;\n\n if (ac.searchbar && ac.searchbar.$inputEl) {\n ac.searchbar.$inputEl.focus();\n }\n\n return ac;\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var ac = this;\n\n if (ac.params.openIn !== 'dropdown' && ac.params.autoFocus) {\n ac.autoFocus();\n }\n\n ac.emit('local::opened autocompleteOpened', ac);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var ac = this;\n if (ac.destroyed) return; // Destroy SB\n\n if (ac.searchbar && ac.searchbar.destroy) {\n ac.searchbar.destroy();\n ac.searchbar = null;\n delete ac.searchbar;\n }\n\n if (ac.params.openIn === 'dropdown') {\n ac.detachDropdownEvents();\n ac.$dropdownEl.removeClass('autocomplete-dropdown-in').remove();\n ac.$inputEl.parents('.item-content-dropdown-expanded').removeClass('item-content-dropdown-expanded');\n } else {\n ac.detachPageEvents();\n }\n\n ac.emit('local::close autocompleteClose', ac);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var ac = this;\n if (ac.destroyed) return;\n ac.opened = false;\n ac.$el = null;\n ac.el = null;\n delete ac.$el;\n delete ac.el;\n ac.emit('local::closed autocompleteClosed', ac);\n }\n }, {\n key: \"openPage\",\n value: function openPage() {\n var ac = this;\n if (ac.opened) return ac;\n var pageHtml = ac.renderPage();\n ac.view.router.navigate({\n url: ac.url,\n route: {\n content: pageHtml,\n path: ac.url,\n on: {\n pageBeforeIn: function pageBeforeIn(e, page) {\n ac.onOpen('page', page.el);\n },\n pageAfterIn: function pageAfterIn(e, page) {\n ac.onOpened('page', page.el);\n },\n pageBeforeOut: function pageBeforeOut(e, page) {\n ac.onClose('page', page.el);\n },\n pageAfterOut: function pageAfterOut(e, page) {\n ac.onClosed('page', page.el);\n }\n },\n options: {\n animate: ac.params.animate\n }\n }\n });\n return ac;\n }\n }, {\n key: \"openPopup\",\n value: function openPopup() {\n var ac = this;\n if (ac.opened) return ac;\n var popupHtml = ac.renderPopup();\n var popupParams = {\n content: popupHtml,\n animate: ac.params.animate,\n on: {\n popupOpen: function popupOpen(popup) {\n ac.onOpen('popup', popup.el);\n },\n popupOpened: function popupOpened(popup) {\n ac.onOpened('popup', popup.el);\n },\n popupClose: function popupClose(popup) {\n ac.onClose('popup', popup.el);\n },\n popupClosed: function popupClosed(popup) {\n ac.onClosed('popup', popup.el);\n }\n }\n };\n\n if (ac.params.routableModals) {\n ac.view.router.navigate({\n url: ac.url,\n route: {\n path: ac.url,\n popup: popupParams\n }\n });\n } else {\n ac.modal = ac.app.popup.create(popupParams).open(ac.params.animate);\n }\n\n return ac;\n }\n }, {\n key: \"openDropdown\",\n value: function openDropdown() {\n var ac = this;\n\n if (!ac.$dropdownEl) {\n ac.$dropdownEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ac.renderDropdown());\n }\n\n var $listEl = ac.$inputEl.parents('.list');\n\n if ($listEl.length && ac.$inputEl.parents('.item-content').length > 0 && ac.params.expandInput) {\n ac.$inputEl.parents('.item-content').addClass('item-content-dropdown-expanded');\n }\n\n var $pageContentEl = ac.$inputEl.parents('.page-content');\n\n if (ac.params.dropdownContainerEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ac.params.dropdownContainerEl).append(ac.$dropdownEl);\n } else if ($pageContentEl.length === 0) {\n ac.$dropdownEl.insertAfter(ac.$inputEl);\n } else {\n ac.positionDropdown();\n $pageContentEl.append(ac.$dropdownEl);\n }\n\n ac.onOpen('dropdown', ac.$dropdownEl);\n ac.onOpened('dropdown', ac.$dropdownEl);\n }\n }, {\n key: \"open\",\n value: function open() {\n var ac = this;\n if (ac.opened) return ac;\n var openIn = ac.params.openIn;\n ac[\"open\".concat(openIn.split('').map(function (el, index) {\n if (index === 0) return el.toUpperCase();\n return el;\n }).join(''))]();\n return ac;\n }\n }, {\n key: \"close\",\n value: function close() {\n var ac = this;\n if (!ac.opened) return ac;\n\n if (ac.params.openIn === 'dropdown') {\n ac.onClose();\n ac.onClosed();\n } else if (ac.params.routableModals || ac.openedIn === 'page') {\n ac.view.router.back({\n animate: ac.params.animate\n });\n } else {\n ac.modal.once('modalClosed', function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (ac.destroyed) return;\n ac.modal.destroy();\n delete ac.modal;\n });\n });\n ac.modal.close();\n }\n\n return ac;\n }\n }, {\n key: \"init\",\n value: function init() {\n var ac = this;\n ac.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var ac = this;\n ac.emit('local::beforeDestroy autocompleteBeforeDestroy', ac);\n ac.detachEvents();\n\n if (ac.$inputEl && ac.$inputEl[0]) {\n delete ac.$inputEl[0].f7Autocomplete;\n }\n\n if (ac.$openerEl && ac.$openerEl[0]) {\n delete ac.$openerEl[0].f7Autocomplete;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(ac);\n ac.destroyed = true;\n }\n }]);\n\n return Autocomplete;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Autocomplete);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/autocomplete/autocomplete-class.js?");
  100. /***/ }),
  101. /***/ "./node_modules/framework7/components/autocomplete/autocomplete.js":
  102. /*!*************************************************************************!*\
  103. !*** ./node_modules/framework7/components/autocomplete/autocomplete.js ***!
  104. \*************************************************************************/
  105. /*! exports provided: default */
  106. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  107. "use strict";
  108. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _autocomplete_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./autocomplete-class */ \"./node_modules/framework7/components/autocomplete/autocomplete-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'autocomplete',\n params: {\n autocomplete: {\n openerEl: undefined,\n inputEl: undefined,\n view: undefined,\n // DropDown\n dropdownContainerEl: undefined,\n dropdownPlaceholderText: undefined,\n typeahead: false,\n highlightMatches: true,\n expandInput: false,\n updateInputValueOnSelect: true,\n inputEvents: 'input',\n value: undefined,\n multiple: false,\n source: undefined,\n limit: undefined,\n valueProperty: 'id',\n textProperty: 'text',\n openIn: 'page',\n // or 'popup' or 'dropdown'\n pageBackLinkText: 'Back',\n popupCloseLinkText: 'Close',\n pageTitle: undefined,\n searchbarPlaceholder: 'Search...',\n searchbarDisableText: 'Cancel',\n searchbarDisableButton: undefined,\n animate: true,\n autoFocus: false,\n closeOnSelect: false,\n notFoundText: 'Nothing found',\n requestSourceOnOpen: false,\n // Preloader\n preloaderColor: undefined,\n preloader: false,\n // Colors\n formColorTheme: undefined,\n navbarColorTheme: undefined,\n // Routing\n routableModals: true,\n url: 'select/',\n // Custom render functions\n renderDropdown: undefined,\n renderPage: undefined,\n renderPopup: undefined,\n renderItem: undefined,\n renderSearchbar: undefined,\n renderNavbar: undefined\n }\n },\n static: {\n Autocomplete: _autocomplete_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.autocomplete = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: undefined,\n constructor: _autocomplete_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7Autocomplete'\n }), {\n open: function open(autocompleteEl) {\n var ac = app.autocomplete.get(autocompleteEl);\n if (ac && ac.open) return ac.open();\n return undefined;\n },\n close: function close(autocompleteEl) {\n var ac = app.autocomplete.get(autocompleteEl);\n if (ac && ac.close) return ac.close();\n return undefined;\n }\n });\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/autocomplete/autocomplete.js?");
  109. /***/ }),
  110. /***/ "./node_modules/framework7/components/calendar/calendar-class.js":
  111. /*!***********************************************************************!*\
  112. !*** ./node_modules/framework7/components/calendar/calendar-class.js ***!
  113. \***********************************************************************/
  114. /*! exports provided: default */
  115. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  116. "use strict";
  117. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _idate_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./idate/index */ \"./node_modules/framework7/components/calendar/idate/index.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Calendar = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Calendar, _Framework7Class);\n\n var _super = _createSuper(Calendar);\n\n function Calendar(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Calendar);\n\n _this = _super.call(this, params, [app]);\n\n var calendar = _assertThisInitialized(_this);\n\n calendar.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, app.params.calendar, params);\n\n if (calendar.params.calendarType === 'jalali') {\n Object.keys(calendar.params.jalali).forEach(function (param) {\n if (!params[param]) {\n calendar.params[param] = calendar.params.jalali[param];\n }\n });\n }\n\n if (calendar.params.calendarType === 'jalali') {\n calendar.DateHandleClass = _idate_index__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n } else {\n calendar.DateHandleClass = Date;\n }\n\n var $containerEl;\n\n if (calendar.params.containerEl) {\n $containerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.params.containerEl);\n if ($containerEl.length === 0) return _possibleConstructorReturn(_this, calendar);\n }\n\n var $inputEl;\n\n if (calendar.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.params.inputEl);\n }\n\n var view;\n\n if ($inputEl) {\n view = $inputEl.parents('.view').length && $inputEl.parents('.view')[0].f7View;\n }\n\n if (!view) view = app.views.main;\n var isHorizontal = calendar.params.direction === 'horizontal';\n var inverter = 1;\n\n if (isHorizontal) {\n inverter = app.rtl ? -1 : 1;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(calendar, {\n app: app,\n $containerEl: $containerEl,\n containerEl: $containerEl && $containerEl[0],\n inline: $containerEl && $containerEl.length > 0,\n $inputEl: $inputEl,\n inputEl: $inputEl && $inputEl[0],\n initialized: false,\n opened: false,\n url: calendar.params.url,\n isHorizontal: isHorizontal,\n inverter: inverter,\n view: view,\n animating: false\n });\n\n function onInputClick() {\n calendar.open();\n }\n\n function onInputFocus(e) {\n e.preventDefault();\n }\n\n function onHtmlClick(e) {\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n if (calendar.destroyed || !calendar.params) return;\n if (calendar.isPopover()) return;\n if (!calendar.opened || calendar.closing) return;\n if ($targetEl.closest('[class*=\"backdrop\"]').length) return;\n\n if ($inputEl && $inputEl.length > 0) {\n if ($targetEl[0] !== $inputEl[0] && $targetEl.closest('.sheet-modal, .calendar-modal').length === 0) {\n calendar.close();\n }\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sheet-modal, .calendar-modal').length === 0) {\n calendar.close();\n }\n } // Events\n\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(calendar, {\n attachInputEvents: function attachInputEvents() {\n calendar.$inputEl.on('click', onInputClick);\n\n if (calendar.params.inputReadOnly) {\n calendar.$inputEl.on('focus mousedown', onInputFocus);\n }\n },\n detachInputEvents: function detachInputEvents() {\n calendar.$inputEl.off('click', onInputClick);\n\n if (calendar.params.inputReadOnly) {\n calendar.$inputEl.off('focus mousedown', onInputFocus);\n }\n },\n attachHtmlEvents: function attachHtmlEvents() {\n app.on('click', onHtmlClick);\n },\n detachHtmlEvents: function detachHtmlEvents() {\n app.off('click', onHtmlClick);\n }\n });\n\n calendar.attachCalendarEvents = function attachCalendarEvents() {\n var allowItemClick = true;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchCurrentX;\n var touchCurrentY;\n var touchStartTime;\n var touchEndTime;\n var currentTranslate;\n var wrapperWidth;\n var wrapperHeight;\n var percentage;\n var touchesDiff;\n var isScrolling;\n var $el = calendar.$el,\n $wrapperEl = calendar.$wrapperEl;\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n isTouched = true;\n touchStartX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentX = touchStartX;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n touchStartTime = new calendar.DateHandleClass().getTime();\n percentage = 0;\n allowItemClick = true;\n isScrolling = undefined;\n currentTranslate = calendar.monthsTranslate;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var isH = calendar.isHorizontal;\n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(touchCurrentY - touchStartY) > Math.abs(touchCurrentX - touchStartX));\n }\n\n if (isH && isScrolling) {\n isTouched = false;\n return;\n }\n\n e.preventDefault();\n\n if (calendar.animating) {\n isTouched = false;\n return;\n }\n\n allowItemClick = false;\n\n if (!isMoved) {\n // First move\n isMoved = true;\n wrapperWidth = $wrapperEl[0].offsetWidth;\n wrapperHeight = $wrapperEl[0].offsetHeight;\n $wrapperEl.transition(0);\n }\n\n touchesDiff = isH ? touchCurrentX - touchStartX : touchCurrentY - touchStartY;\n percentage = touchesDiff / (isH ? wrapperWidth : wrapperHeight);\n currentTranslate = (calendar.monthsTranslate * calendar.inverter + percentage) * 100; // Transform wrapper\n\n $wrapperEl.transform(\"translate3d(\".concat(isH ? currentTranslate : 0, \"%, \").concat(isH ? 0 : currentTranslate, \"%, 0)\"));\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n touchEndTime = new calendar.DateHandleClass().getTime();\n\n if (touchEndTime - touchStartTime < 300) {\n if (Math.abs(touchesDiff) < 10) {\n calendar.resetMonth();\n } else if (touchesDiff >= 10) {\n if (app.rtl) calendar.nextMonth();else calendar.prevMonth();\n } else if (app.rtl) calendar.prevMonth();else calendar.nextMonth();\n } else if (percentage <= -0.5) {\n if (app.rtl) calendar.prevMonth();else calendar.nextMonth();\n } else if (percentage >= 0.5) {\n if (app.rtl) calendar.nextMonth();else calendar.prevMonth();\n } else {\n calendar.resetMonth();\n } // Allow click\n\n\n setTimeout(function () {\n allowItemClick = true;\n }, 100);\n }\n\n function handleDayClick(e) {\n if (!allowItemClick) return;\n var $dayEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).parents('.calendar-day');\n\n if ($dayEl.length === 0 && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).hasClass('calendar-day')) {\n $dayEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n }\n\n if ($dayEl.length === 0) return;\n if ($dayEl.hasClass('calendar-day-disabled')) return;\n\n if (!calendar.params.rangePicker) {\n if ($dayEl.hasClass('calendar-day-next')) calendar.nextMonth();\n if ($dayEl.hasClass('calendar-day-prev')) calendar.prevMonth();\n }\n\n var dateYear = parseInt($dayEl.attr('data-year'), 10);\n var dateMonth = parseInt($dayEl.attr('data-month'), 10);\n var dateDay = parseInt($dayEl.attr('data-day'), 10);\n calendar.emit('local::dayClick calendarDayClick', calendar, $dayEl[0], dateYear, dateMonth, dateDay);\n\n if (!$dayEl.hasClass('calendar-day-selected') || calendar.params.multiple || calendar.params.rangePicker) {\n calendar.addValue(new calendar.DateHandleClass(dateYear, dateMonth, dateDay, 0, 0, 0));\n }\n\n if (calendar.params.closeOnSelect) {\n if (calendar.params.rangePicker && calendar.value.length === 2 || !calendar.params.rangePicker) {\n calendar.close();\n }\n }\n }\n\n function onNextMonthClick() {\n calendar.nextMonth();\n }\n\n function onPrevMonthClick() {\n calendar.prevMonth();\n }\n\n function onNextYearClick() {\n calendar.nextYear();\n }\n\n function onPrevYearClick() {\n calendar.prevYear();\n }\n\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {\n passive: true,\n capture: false\n } : false; // Selectors clicks\n\n $el.find('.calendar-prev-month-button').on('click', onPrevMonthClick);\n $el.find('.calendar-next-month-button').on('click', onNextMonthClick);\n $el.find('.calendar-prev-year-button').on('click', onPrevYearClick);\n $el.find('.calendar-next-year-button').on('click', onNextYearClick); // Day clicks\n\n $wrapperEl.on('click', handleDayClick); // Touch events\n\n if (true) {\n if (calendar.params.touchMove) {\n $wrapperEl.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n }\n }\n\n calendar.detachCalendarEvents = function detachCalendarEvents() {\n $el.find('.calendar-prev-month-button').off('click', onPrevMonthClick);\n $el.find('.calendar-next-month-button').off('click', onNextMonthClick);\n $el.find('.calendar-prev-year-button').off('click', onPrevYearClick);\n $el.find('.calendar-next-year-button').off('click', onNextYearClick);\n $wrapperEl.off('click', handleDayClick);\n\n if (\"development\".TARGET !== 'desktop') {\n if (calendar.params.touchMove) {\n $wrapperEl.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }\n }\n };\n };\n\n calendar.init();\n return _possibleConstructorReturn(_this, calendar);\n } // eslint-disable-next-line\n\n\n _createClass(Calendar, [{\n key: \"normalizeDate\",\n value: function normalizeDate(date) {\n var calendar = this;\n var d = new calendar.DateHandleClass(date);\n return new calendar.DateHandleClass(d.getFullYear(), d.getMonth(), d.getDate());\n }\n }, {\n key: \"normalizeValues\",\n value: function normalizeValues(values) {\n var calendar = this;\n var newValues = [];\n\n if (values && Array.isArray(values)) {\n newValues = values.map(function (val) {\n return calendar.normalizeDate(val);\n });\n }\n\n return newValues;\n }\n }, {\n key: \"initInput\",\n value: function initInput() {\n var calendar = this;\n if (!calendar.$inputEl) return;\n if (calendar.params.inputReadOnly) calendar.$inputEl.prop('readOnly', true);\n }\n }, {\n key: \"isPopover\",\n value: function isPopover() {\n var calendar = this;\n var app = calendar.app,\n modal = calendar.modal,\n params = calendar.params;\n if (params.openIn === 'sheet') return false;\n if (modal && modal.type !== 'popover') return false;\n\n if (!calendar.inline && calendar.inputEl) {\n if (params.openIn === 'popover') return true;\n\n if (app.device.ios) {\n return !!app.device.ipad;\n }\n\n if (app.width >= 768) {\n return true;\n }\n\n if (app.device.desktop && app.theme === 'aurora') {\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"formatDate\",\n value: function formatDate(d) {\n var calendar = this;\n var date = new calendar.DateHandleClass(d);\n var year = date.getFullYear();\n var month = date.getMonth();\n var month1 = month + 1;\n var day = date.getDate();\n var weekDay = date.getDay();\n var _calendar$params = calendar.params,\n dateFormat = _calendar$params.dateFormat,\n monthNames = _calendar$params.monthNames,\n monthNamesShort = _calendar$params.monthNamesShort,\n dayNames = _calendar$params.dayNames,\n dayNamesShort = _calendar$params.dayNamesShort;\n return dateFormat.replace(/yyyy/g, year).replace(/yy/g, String(year).substring(2)).replace(/mm/g, month1 < 10 ? \"0\".concat(month1) : month1).replace(/m(\\W+)/g, \"\".concat(month1, \"$1\")).replace(/MM/g, monthNames[month]).replace(/M(\\W+)/g, \"\".concat(monthNamesShort[month], \"$1\")).replace(/dd/g, day < 10 ? \"0\".concat(day) : day).replace(/d(\\W+)/g, \"\".concat(day, \"$1\")).replace(/DD/g, dayNames[weekDay]).replace(/D(\\W+)/g, \"\".concat(dayNamesShort[weekDay], \"$1\"));\n }\n }, {\n key: \"formatValue\",\n value: function formatValue() {\n var calendar = this;\n var value = calendar.value;\n\n if (calendar.params.formatValue) {\n return calendar.params.formatValue.call(calendar, value);\n }\n\n return value.map(function (v) {\n return calendar.formatDate(v);\n }).join(calendar.params.rangePicker ? ' - ' : ', ');\n }\n }, {\n key: \"addValue\",\n value: function addValue(newValue) {\n var calendar = this;\n var _calendar$params2 = calendar.params,\n multiple = _calendar$params2.multiple,\n rangePicker = _calendar$params2.rangePicker,\n rangePickerMinDays = _calendar$params2.rangePickerMinDays,\n rangePickerMaxDays = _calendar$params2.rangePickerMaxDays;\n\n if (multiple) {\n if (!calendar.value) calendar.value = [];\n var inValuesIndex;\n\n for (var i = 0; i < calendar.value.length; i += 1) {\n if (new calendar.DateHandleClass(newValue).getTime() === new calendar.DateHandleClass(calendar.value[i]).getTime()) {\n inValuesIndex = i;\n }\n }\n\n if (typeof inValuesIndex === 'undefined') {\n calendar.value.push(newValue);\n } else {\n calendar.value.splice(inValuesIndex, 1);\n }\n\n calendar.updateValue();\n } else if (rangePicker) {\n if (!calendar.value) calendar.value = [];\n\n if (calendar.value.length === 2 || calendar.value.length === 0) {\n calendar.value = [];\n }\n\n if (calendar.value.length === 0 || Math.abs(calendar.value[0].getTime() - newValue.getTime()) >= (rangePickerMinDays - 1) * 60 * 60 * 24 * 1000 && (rangePickerMaxDays === 0 || Math.abs(calendar.value[0].getTime() - newValue.getTime()) <= (rangePickerMaxDays - 1) * 60 * 60 * 24 * 1000)) calendar.value.push(newValue);else calendar.value = [];\n calendar.value.sort(function (a, b) {\n return a - b;\n });\n calendar.updateValue();\n } else {\n calendar.value = [newValue];\n calendar.updateValue();\n }\n }\n }, {\n key: \"setValue\",\n value: function setValue(values) {\n var calendar = this;\n var currentValue = calendar.value;\n\n if (Array.isArray(currentValue) && Array.isArray(values) && currentValue.length === values.length) {\n var equal = true;\n currentValue.forEach(function (v, index) {\n if (v !== values[index]) equal = false;\n });\n if (equal) return;\n }\n\n calendar.value = values;\n calendar.updateValue();\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var calendar = this;\n return calendar.value;\n }\n }, {\n key: \"updateValue\",\n value: function updateValue(onlyHeader) {\n var calendar = this;\n var $el = calendar.$el,\n $wrapperEl = calendar.$wrapperEl,\n $inputEl = calendar.$inputEl,\n value = calendar.value,\n params = calendar.params;\n var i;\n\n if ($el && $el.length > 0) {\n $wrapperEl.find('.calendar-day-selected').removeClass('calendar-day-selected');\n var valueDate;\n\n if (params.rangePicker && value.length === 2) {\n for (i = new calendar.DateHandleClass(value[0]).getTime(); i <= new calendar.DateHandleClass(value[1]).getTime(); i += 24 * 60 * 60 * 1000) {\n valueDate = new calendar.DateHandleClass(i);\n $wrapperEl.find(\".calendar-day[data-date=\\\"\".concat(valueDate.getFullYear(), \"-\").concat(valueDate.getMonth(), \"-\").concat(valueDate.getDate(), \"\\\"]\")).addClass('calendar-day-selected');\n }\n } else {\n for (i = 0; i < calendar.value.length; i += 1) {\n valueDate = new calendar.DateHandleClass(value[i]);\n $wrapperEl.find(\".calendar-day[data-date=\\\"\".concat(valueDate.getFullYear(), \"-\").concat(valueDate.getMonth(), \"-\").concat(valueDate.getDate(), \"\\\"]\")).addClass('calendar-day-selected');\n }\n }\n }\n\n if (!onlyHeader) {\n calendar.emit('local::change calendarChange', calendar, value);\n }\n\n if ($inputEl && $inputEl.length || params.header) {\n var inputValue = calendar.formatValue(value);\n\n if (params.header && $el && $el.length) {\n $el.find('.calendar-selected-date').text(inputValue);\n }\n\n if ($inputEl && $inputEl.length && !onlyHeader) {\n $inputEl.val(inputValue);\n $inputEl.trigger('change');\n }\n }\n }\n }, {\n key: \"updateCurrentMonthYear\",\n value: function updateCurrentMonthYear(dir) {\n var calendar = this;\n var $months = calendar.$months,\n $el = calendar.$el,\n params = calendar.params;\n\n if (typeof dir === 'undefined') {\n calendar.currentMonth = parseInt($months.eq(1).attr('data-month'), 10);\n calendar.currentYear = parseInt($months.eq(1).attr('data-year'), 10);\n } else {\n calendar.currentMonth = parseInt($months.eq(dir === 'next' ? $months.length - 1 : 0).attr('data-month'), 10);\n calendar.currentYear = parseInt($months.eq(dir === 'next' ? $months.length - 1 : 0).attr('data-year'), 10);\n }\n\n $el.find('.current-month-value').text(params.monthNames[calendar.currentMonth]);\n $el.find('.current-year-value').text(calendar.currentYear);\n }\n }, {\n key: \"update\",\n value: function update() {\n var calendar = this;\n var currentYear = calendar.currentYear,\n currentMonth = calendar.currentMonth,\n $wrapperEl = calendar.$wrapperEl;\n var currentDate = new calendar.DateHandleClass(currentYear, currentMonth);\n var prevMonthHtml = calendar.renderMonth(currentDate, 'prev');\n var currentMonthHtml = calendar.renderMonth(currentDate);\n var nextMonthHtml = calendar.renderMonth(currentDate, 'next');\n $wrapperEl.transition(0).html(\"\".concat(prevMonthHtml).concat(currentMonthHtml).concat(nextMonthHtml)).transform('translate3d(0,0,0)');\n calendar.$months = $wrapperEl.find('.calendar-month');\n calendar.monthsTranslate = 0;\n calendar.setMonthsTranslate();\n calendar.$months.each(function (index, monthEl) {\n calendar.emit('local::monthAdd calendarMonthAdd', monthEl);\n });\n }\n }, {\n key: \"onMonthChangeStart\",\n value: function onMonthChangeStart(dir) {\n var calendar = this;\n var $months = calendar.$months,\n currentYear = calendar.currentYear,\n currentMonth = calendar.currentMonth;\n calendar.updateCurrentMonthYear(dir);\n $months.removeClass('calendar-month-current calendar-month-prev calendar-month-next');\n var currentIndex = dir === 'next' ? $months.length - 1 : 0;\n $months.eq(currentIndex).addClass('calendar-month-current');\n $months.eq(dir === 'next' ? currentIndex - 1 : currentIndex + 1).addClass(dir === 'next' ? 'calendar-month-prev' : 'calendar-month-next');\n calendar.emit('local::monthYearChangeStart calendarMonthYearChangeStart', calendar, currentYear, currentMonth);\n }\n }, {\n key: \"onMonthChangeEnd\",\n value: function onMonthChangeEnd(dir, rebuildBoth) {\n var calendar = this;\n var currentYear = calendar.currentYear,\n currentMonth = calendar.currentMonth,\n $wrapperEl = calendar.$wrapperEl,\n monthsTranslate = calendar.monthsTranslate;\n calendar.animating = false;\n var nextMonthHtml;\n var prevMonthHtml;\n var currentMonthHtml;\n $wrapperEl.find('.calendar-month:not(.calendar-month-prev):not(.calendar-month-current):not(.calendar-month-next)').remove();\n\n if (typeof dir === 'undefined') {\n dir = 'next'; // eslint-disable-line\n\n rebuildBoth = true; // eslint-disable-line\n }\n\n if (!rebuildBoth) {\n currentMonthHtml = calendar.renderMonth(new calendar.DateHandleClass(currentYear, currentMonth), dir);\n } else {\n $wrapperEl.find('.calendar-month-next, .calendar-month-prev').remove();\n prevMonthHtml = calendar.renderMonth(new calendar.DateHandleClass(currentYear, currentMonth), 'prev');\n nextMonthHtml = calendar.renderMonth(new calendar.DateHandleClass(currentYear, currentMonth), 'next');\n }\n\n if (dir === 'next' || rebuildBoth) {\n $wrapperEl.append(currentMonthHtml || nextMonthHtml);\n }\n\n if (dir === 'prev' || rebuildBoth) {\n $wrapperEl.prepend(currentMonthHtml || prevMonthHtml);\n }\n\n var $months = $wrapperEl.find('.calendar-month');\n calendar.$months = $months;\n calendar.setMonthsTranslate(monthsTranslate);\n calendar.emit('local::monthAdd calendarMonthAdd', calendar, dir === 'next' ? $months.eq($months.length - 1)[0] : $months.eq(0)[0]);\n calendar.emit('local::monthYearChangeEnd calendarMonthYearChangeEnd', calendar, currentYear, currentMonth);\n }\n }, {\n key: \"setMonthsTranslate\",\n value: function setMonthsTranslate(translate) {\n var calendar = this;\n var $months = calendar.$months,\n isH = calendar.isHorizontal,\n inverter = calendar.inverter; // eslint-disable-next-line\n\n translate = translate || calendar.monthsTranslate || 0;\n\n if (typeof calendar.monthsTranslate === 'undefined') {\n calendar.monthsTranslate = translate;\n }\n\n $months.removeClass('calendar-month-current calendar-month-prev calendar-month-next');\n var prevMonthTranslate = -(translate + 1) * 100 * inverter;\n var currentMonthTranslate = -translate * 100 * inverter;\n var nextMonthTranslate = -(translate - 1) * 100 * inverter;\n $months.eq(0).transform(\"translate3d(\".concat(isH ? prevMonthTranslate : 0, \"%, \").concat(isH ? 0 : prevMonthTranslate, \"%, 0)\")).addClass('calendar-month-prev');\n $months.eq(1).transform(\"translate3d(\".concat(isH ? currentMonthTranslate : 0, \"%, \").concat(isH ? 0 : currentMonthTranslate, \"%, 0)\")).addClass('calendar-month-current');\n $months.eq(2).transform(\"translate3d(\".concat(isH ? nextMonthTranslate : 0, \"%, \").concat(isH ? 0 : nextMonthTranslate, \"%, 0)\")).addClass('calendar-month-next');\n }\n }, {\n key: \"nextMonth\",\n value: function nextMonth(transition) {\n var calendar = this;\n var params = calendar.params,\n $wrapperEl = calendar.$wrapperEl,\n inverter = calendar.inverter,\n isH = calendar.isHorizontal;\n\n if (typeof transition === 'undefined' || _typeof(transition) === 'object') {\n transition = ''; // eslint-disable-line\n\n if (!params.animate) transition = 0; // eslint-disable-line\n }\n\n var nextMonth = parseInt(calendar.$months.eq(calendar.$months.length - 1).attr('data-month'), 10);\n var nextYear = parseInt(calendar.$months.eq(calendar.$months.length - 1).attr('data-year'), 10);\n var nextDate = new calendar.DateHandleClass(nextYear, nextMonth);\n var nextDateTime = nextDate.getTime();\n var transitionEndCallback = !calendar.animating;\n\n if (params.maxDate) {\n if (nextDateTime > new calendar.DateHandleClass(params.maxDate).getTime()) {\n calendar.resetMonth();\n return;\n }\n }\n\n calendar.monthsTranslate -= 1;\n\n if (nextMonth === calendar.currentMonth) {\n var nextMonthTranslate = -calendar.monthsTranslate * 100 * inverter;\n var nextMonthHtml = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.renderMonth(nextDateTime, 'next')).transform(\"translate3d(\".concat(isH ? nextMonthTranslate : 0, \"%, \").concat(isH ? 0 : nextMonthTranslate, \"%, 0)\")).addClass('calendar-month-next');\n $wrapperEl.append(nextMonthHtml[0]);\n calendar.$months = $wrapperEl.find('.calendar-month');\n calendar.emit('local::monthAdd calendarMonthAdd', calendar.$months.eq(calendar.$months.length - 1)[0]);\n }\n\n calendar.animating = true;\n calendar.onMonthChangeStart('next');\n var translate = calendar.monthsTranslate * 100 * inverter;\n $wrapperEl.transition(transition).transform(\"translate3d(\".concat(isH ? translate : 0, \"%, \").concat(isH ? 0 : translate, \"%, 0)\"));\n\n if (transitionEndCallback) {\n $wrapperEl.transitionEnd(function () {\n calendar.onMonthChangeEnd('next');\n });\n }\n\n if (!params.animate) {\n calendar.onMonthChangeEnd('next');\n }\n }\n }, {\n key: \"prevMonth\",\n value: function prevMonth(transition) {\n var calendar = this;\n var params = calendar.params,\n $wrapperEl = calendar.$wrapperEl,\n inverter = calendar.inverter,\n isH = calendar.isHorizontal;\n\n if (typeof transition === 'undefined' || _typeof(transition) === 'object') {\n transition = ''; // eslint-disable-line\n\n if (!params.animate) transition = 0; // eslint-disable-line\n }\n\n var prevMonth = parseInt(calendar.$months.eq(0).attr('data-month'), 10);\n var prevYear = parseInt(calendar.$months.eq(0).attr('data-year'), 10);\n var prevDate = new calendar.DateHandleClass(prevYear, prevMonth + 1, -1);\n var prevDateTime = prevDate.getTime();\n var transitionEndCallback = !calendar.animating;\n\n if (params.minDate) {\n var minDate = new calendar.DateHandleClass(params.minDate);\n minDate = new calendar.DateHandleClass(minDate.getFullYear(), minDate.getMonth(), 1);\n\n if (prevDateTime < minDate.getTime()) {\n calendar.resetMonth();\n return;\n }\n }\n\n calendar.monthsTranslate += 1;\n\n if (prevMonth === calendar.currentMonth) {\n var prevMonthTranslate = -calendar.monthsTranslate * 100 * inverter;\n var prevMonthHtml = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.renderMonth(prevDateTime, 'prev')).transform(\"translate3d(\".concat(isH ? prevMonthTranslate : 0, \"%, \").concat(isH ? 0 : prevMonthTranslate, \"%, 0)\")).addClass('calendar-month-prev');\n $wrapperEl.prepend(prevMonthHtml[0]);\n calendar.$months = $wrapperEl.find('.calendar-month');\n calendar.emit('local::monthAdd calendarMonthAdd', calendar.$months.eq(0)[0]);\n }\n\n calendar.animating = true;\n calendar.onMonthChangeStart('prev');\n var translate = calendar.monthsTranslate * 100 * inverter;\n $wrapperEl.transition(transition).transform(\"translate3d(\".concat(isH ? translate : 0, \"%, \").concat(isH ? 0 : translate, \"%, 0)\"));\n\n if (transitionEndCallback) {\n $wrapperEl.transitionEnd(function () {\n calendar.onMonthChangeEnd('prev');\n });\n }\n\n if (!params.animate) {\n calendar.onMonthChangeEnd('prev');\n }\n }\n }, {\n key: \"resetMonth\",\n value: function resetMonth() {\n var transition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var calendar = this;\n var $wrapperEl = calendar.$wrapperEl,\n inverter = calendar.inverter,\n isH = calendar.isHorizontal,\n monthsTranslate = calendar.monthsTranslate;\n var translate = monthsTranslate * 100 * inverter;\n $wrapperEl.transition(transition).transform(\"translate3d(\".concat(isH ? translate : 0, \"%, \").concat(isH ? 0 : translate, \"%, 0)\"));\n } // eslint-disable-next-line\n\n }, {\n key: \"setYearMonth\",\n value: function setYearMonth(year, month, transition) {\n var calendar = this;\n var params = calendar.params,\n isH = calendar.isHorizontal,\n $wrapperEl = calendar.$wrapperEl,\n inverter = calendar.inverter; // eslint-disable-next-line\n\n if (typeof year === 'undefined') year = calendar.currentYear; // eslint-disable-next-line\n\n if (typeof month === 'undefined') month = calendar.currentMonth;\n\n if (typeof transition === 'undefined' || _typeof(transition) === 'object') {\n // eslint-disable-next-line\n transition = ''; // eslint-disable-next-line\n\n if (!params.animate) transition = 0;\n }\n\n var targetDate;\n\n if (year < calendar.currentYear) {\n targetDate = new calendar.DateHandleClass(year, month + 1, -1).getTime();\n } else {\n targetDate = new calendar.DateHandleClass(year, month).getTime();\n }\n\n if (params.maxDate && targetDate > new calendar.DateHandleClass(params.maxDate).getTime()) {\n return false;\n }\n\n if (params.minDate) {\n var minDate = new calendar.DateHandleClass(params.minDate);\n minDate = new calendar.DateHandleClass(minDate.getFullYear(), minDate.getMonth(), 1);\n\n if (targetDate < minDate.getTime()) {\n return false;\n }\n }\n\n var currentDate = new calendar.DateHandleClass(calendar.currentYear, calendar.currentMonth).getTime();\n var dir = targetDate > currentDate ? 'next' : 'prev';\n var newMonthHTML = calendar.renderMonth(new calendar.DateHandleClass(year, month));\n calendar.monthsTranslate = calendar.monthsTranslate || 0;\n var prevTranslate = calendar.monthsTranslate;\n var monthTranslate;\n var transitionEndCallback = !calendar.animating;\n\n if (targetDate > currentDate) {\n // To next\n calendar.monthsTranslate -= 1;\n if (!calendar.animating) calendar.$months.eq(calendar.$months.length - 1).remove();\n $wrapperEl.append(newMonthHTML);\n calendar.$months = $wrapperEl.find('.calendar-month');\n monthTranslate = -(prevTranslate - 1) * 100 * inverter;\n calendar.$months.eq(calendar.$months.length - 1).transform(\"translate3d(\".concat(isH ? monthTranslate : 0, \"%, \").concat(isH ? 0 : monthTranslate, \"%, 0)\")).addClass('calendar-month-next');\n } else {\n // To prev\n calendar.monthsTranslate += 1;\n if (!calendar.animating) calendar.$months.eq(0).remove();\n $wrapperEl.prepend(newMonthHTML);\n calendar.$months = $wrapperEl.find('.calendar-month');\n monthTranslate = -(prevTranslate + 1) * 100 * inverter;\n calendar.$months.eq(0).transform(\"translate3d(\".concat(isH ? monthTranslate : 0, \"%, \").concat(isH ? 0 : monthTranslate, \"%, 0)\")).addClass('calendar-month-prev');\n }\n\n calendar.emit('local::monthAdd calendarMonthAdd', dir === 'next' ? calendar.$months.eq(calendar.$months.length - 1)[0] : calendar.$months.eq(0)[0]);\n calendar.animating = true;\n calendar.onMonthChangeStart(dir);\n var wrapperTranslate = calendar.monthsTranslate * 100 * inverter;\n $wrapperEl.transition(transition).transform(\"translate3d(\".concat(isH ? wrapperTranslate : 0, \"%, \").concat(isH ? 0 : wrapperTranslate, \"%, 0)\"));\n\n if (transitionEndCallback) {\n $wrapperEl.transitionEnd(function () {\n calendar.onMonthChangeEnd(dir, true);\n });\n }\n\n if (!params.animate) {\n calendar.onMonthChangeEnd(dir);\n }\n }\n }, {\n key: \"nextYear\",\n value: function nextYear() {\n var calendar = this;\n calendar.setYearMonth(calendar.currentYear + 1);\n }\n }, {\n key: \"prevYear\",\n value: function prevYear() {\n var calendar = this;\n calendar.setYearMonth(calendar.currentYear - 1);\n } // eslint-disable-next-line\n\n }, {\n key: \"dateInRange\",\n value: function dateInRange(dayDate, range) {\n var calendar = this;\n var match = false;\n var i;\n if (!range) return false;\n\n if (Array.isArray(range)) {\n for (i = 0; i < range.length; i += 1) {\n if (range[i].from || range[i].to) {\n if (range[i].from && range[i].to) {\n if (dayDate <= new calendar.DateHandleClass(range[i].to).getTime() && dayDate >= new calendar.DateHandleClass(range[i].from).getTime()) {\n match = true;\n }\n } else if (range[i].from) {\n if (dayDate >= new calendar.DateHandleClass(range[i].from).getTime()) {\n match = true;\n }\n } else if (range[i].to) {\n if (dayDate <= new calendar.DateHandleClass(range[i].to).getTime()) {\n match = true;\n }\n }\n } else if (range[i].date) {\n if (dayDate === new calendar.DateHandleClass(range[i].date).getTime()) {\n match = true;\n }\n } else if (dayDate === new calendar.DateHandleClass(range[i]).getTime()) {\n match = true;\n }\n }\n } else if (range.from || range.to) {\n if (range.from && range.to) {\n if (dayDate <= new calendar.DateHandleClass(range.to).getTime() && dayDate >= new calendar.DateHandleClass(range.from).getTime()) {\n match = true;\n }\n } else if (range.from) {\n if (dayDate >= new calendar.DateHandleClass(range.from).getTime()) {\n match = true;\n }\n } else if (range.to) {\n if (dayDate <= new calendar.DateHandleClass(range.to).getTime()) {\n match = true;\n }\n }\n } else if (range.date) {\n match = dayDate === new calendar.DateHandleClass(range.date).getTime();\n } else if (typeof range === 'function') {\n match = range(new calendar.DateHandleClass(dayDate));\n }\n\n return match;\n } // eslint-disable-next-line\n\n }, {\n key: \"daysInMonth\",\n value: function daysInMonth(date) {\n var calendar = this;\n var d = new calendar.DateHandleClass(date);\n return new calendar.DateHandleClass(d.getFullYear(), d.getMonth() + 1, 0).getDate();\n }\n }, {\n key: \"renderMonths\",\n value: function renderMonths(date) {\n var calendar = this;\n\n if (calendar.params.renderMonths) {\n return calendar.params.renderMonths.call(calendar, date);\n }\n\n return \"\\n <div class=\\\"calendar-months-wrapper\\\">\\n \".concat(calendar.renderMonth(date, 'prev'), \"\\n \").concat(calendar.renderMonth(date), \"\\n \").concat(calendar.renderMonth(date, 'next'), \"\\n </div>\\n \").trim();\n }\n }, {\n key: \"renderMonth\",\n value: function renderMonth(d, offset) {\n var calendar = this;\n var params = calendar.params,\n value = calendar.value;\n\n if (params.renderMonth) {\n return params.renderMonth.call(calendar, d, offset);\n }\n\n var date = new calendar.DateHandleClass(d);\n var year = date.getFullYear();\n var month = date.getMonth();\n\n if (offset === 'next') {\n if (month === 11) date = new calendar.DateHandleClass(year + 1, 0);else date = new calendar.DateHandleClass(year, month + 1, 1);\n }\n\n if (offset === 'prev') {\n if (month === 0) date = new calendar.DateHandleClass(year - 1, 11);else date = new calendar.DateHandleClass(year, month - 1, 1);\n }\n\n if (offset === 'next' || offset === 'prev') {\n month = date.getMonth();\n year = date.getFullYear();\n }\n\n var currentValues = [];\n var today = new calendar.DateHandleClass().setHours(0, 0, 0, 0);\n var minDate = params.minDate ? new calendar.DateHandleClass(params.minDate).getTime() : null;\n var maxDate = params.maxDate ? new calendar.DateHandleClass(params.maxDate).getTime() : null;\n var rows = 6;\n var cols = 7;\n var daysInPrevMonth = calendar.daysInMonth(new calendar.DateHandleClass(date.getFullYear(), date.getMonth()).getTime() - 10 * 24 * 60 * 60 * 1000);\n var daysInMonth = calendar.daysInMonth(date);\n var minDayNumber = params.firstDay === 6 ? 0 : 1;\n var monthHtml = '';\n var dayIndex = 0 + (params.firstDay - 1);\n var disabled;\n var hasEvents;\n var firstDayOfMonthIndex = new calendar.DateHandleClass(date.getFullYear(), date.getMonth()).getDay();\n if (firstDayOfMonthIndex === 0) firstDayOfMonthIndex = 7;\n\n if (value && value.length) {\n for (var i = 0; i < value.length; i += 1) {\n currentValues.push(new calendar.DateHandleClass(value[i]).setHours(0, 0, 0, 0));\n }\n }\n\n for (var row = 1; row <= rows; row += 1) {\n var rowHtml = '';\n\n var _loop = function _loop(col) {\n dayIndex += 1;\n var dayDate = void 0;\n var dayNumber = dayIndex - firstDayOfMonthIndex;\n var addClass = '';\n\n if (row === 1 && col === 1 && dayNumber > minDayNumber && params.firstDay !== 1) {\n dayIndex -= 7;\n dayNumber = dayIndex - firstDayOfMonthIndex;\n }\n\n var weekDayIndex = col - 1 + params.firstDay > 6 ? col - 1 - 7 + params.firstDay : col - 1 + params.firstDay;\n\n if (dayNumber < 0) {\n dayNumber = daysInPrevMonth + dayNumber + 1;\n addClass += ' calendar-day-prev';\n dayDate = new calendar.DateHandleClass(month - 1 < 0 ? year - 1 : year, month - 1 < 0 ? 11 : month - 1, dayNumber).getTime();\n } else {\n dayNumber += 1;\n\n if (dayNumber > daysInMonth) {\n dayNumber -= daysInMonth;\n addClass += ' calendar-day-next';\n dayDate = new calendar.DateHandleClass(month + 1 > 11 ? year + 1 : year, month + 1 > 11 ? 0 : month + 1, dayNumber).getTime();\n } else {\n dayDate = new calendar.DateHandleClass(year, month, dayNumber).getTime();\n }\n } // Today\n\n\n if (dayDate === today) addClass += ' calendar-day-today'; // Selected\n\n if (params.rangePicker && currentValues.length === 2) {\n if (dayDate >= currentValues[0] && dayDate <= currentValues[1]) addClass += ' calendar-day-selected';\n } else if (currentValues.indexOf(dayDate) >= 0) addClass += ' calendar-day-selected'; // Weekend\n\n\n if (params.weekendDays.indexOf(weekDayIndex) >= 0) {\n addClass += ' calendar-day-weekend';\n } // Events\n\n\n var eventsHtml = '';\n hasEvents = false;\n\n if (params.events) {\n if (calendar.dateInRange(dayDate, params.events)) {\n hasEvents = true;\n }\n }\n\n if (hasEvents) {\n addClass += ' calendar-day-has-events';\n eventsHtml = \"\\n <span class=\\\"calendar-day-events\\\">\\n <span class=\\\"calendar-day-event\\\"></span>\\n </span>\\n \";\n\n if (Array.isArray(params.events)) {\n var eventDots = [];\n params.events.forEach(function (ev) {\n var color = ev.color || '';\n\n if (eventDots.indexOf(color) < 0 && calendar.dateInRange(dayDate, ev)) {\n eventDots.push(color);\n }\n });\n eventsHtml = \"\\n <span class=\\\"calendar-day-events\\\">\\n \".concat(eventDots.map(function (color) {\n return \"\\n <span class=\\\"calendar-day-event\\\" style=\\\"\".concat(color ? \"background-color: \".concat(color) : '', \"\\\"></span>\\n \").trim();\n }).join(''), \"\\n </span>\\n \");\n }\n } // Custom Ranges\n\n\n if (params.rangesClasses) {\n for (var k = 0; k < params.rangesClasses.length; k += 1) {\n if (calendar.dateInRange(dayDate, params.rangesClasses[k].range)) {\n addClass += \" \".concat(params.rangesClasses[k].cssClass);\n }\n }\n } // Disabled\n\n\n disabled = false;\n\n if (minDate && dayDate < minDate || maxDate && dayDate > maxDate) {\n disabled = true;\n }\n\n if (params.disabled) {\n if (calendar.dateInRange(dayDate, params.disabled)) {\n disabled = true;\n }\n }\n\n if (disabled) {\n addClass += ' calendar-day-disabled';\n }\n\n dayDate = new calendar.DateHandleClass(dayDate);\n var dayYear = dayDate.getFullYear();\n var dayMonth = dayDate.getMonth();\n rowHtml += \"\\n <div data-year=\\\"\".concat(dayYear, \"\\\" data-month=\\\"\").concat(dayMonth, \"\\\" data-day=\\\"\").concat(dayNumber, \"\\\" class=\\\"calendar-day\").concat(addClass, \"\\\" data-date=\\\"\").concat(dayYear, \"-\").concat(dayMonth, \"-\").concat(dayNumber, \"\\\">\\n <span class=\\\"calendar-day-number\\\">\").concat(dayNumber).concat(eventsHtml, \"</span>\\n </div>\").trim();\n };\n\n for (var col = 1; col <= cols; col += 1) {\n _loop(col);\n }\n\n monthHtml += \"<div class=\\\"calendar-row\\\">\".concat(rowHtml, \"</div>\");\n }\n\n monthHtml = \"<div class=\\\"calendar-month\\\" data-year=\\\"\".concat(year, \"\\\" data-month=\\\"\").concat(month, \"\\\">\").concat(monthHtml, \"</div>\");\n return monthHtml;\n }\n }, {\n key: \"renderWeekHeader\",\n value: function renderWeekHeader() {\n var calendar = this;\n\n if (calendar.params.renderWeekHeader) {\n return calendar.params.renderWeekHeader.call(calendar);\n }\n\n var params = calendar.params;\n var weekDaysHtml = '';\n\n for (var i = 0; i < 7; i += 1) {\n var dayIndex = i + params.firstDay > 6 ? i - 7 + params.firstDay : i + params.firstDay;\n var dayName = params.dayNamesShort[dayIndex];\n weekDaysHtml += \"<div class=\\\"calendar-week-day\\\">\".concat(dayName, \"</div>\");\n }\n\n return \"\\n <div class=\\\"calendar-week-header\\\">\\n \".concat(weekDaysHtml, \"\\n </div>\\n \").trim();\n }\n }, {\n key: \"renderMonthSelector\",\n value: function renderMonthSelector() {\n var calendar = this;\n\n if (calendar.params.renderMonthSelector) {\n return calendar.params.renderMonthSelector.call(calendar);\n }\n\n return \"\\n <div class=\\\"calendar-month-selector\\\">\\n <a class=\\\"link icon-only calendar-prev-month-button\\\">\\n <i class=\\\"icon icon-prev\\\"></i>\\n </a>\\n <span class=\\\"current-month-value\\\"></span>\\n <a class=\\\"link icon-only calendar-next-month-button\\\">\\n <i class=\\\"icon icon-next\\\"></i>\\n </a>\\n </div>\\n \".trim();\n }\n }, {\n key: \"renderYearSelector\",\n value: function renderYearSelector() {\n var calendar = this;\n\n if (calendar.params.renderYearSelector) {\n return calendar.params.renderYearSelector.call(calendar);\n }\n\n return \"\\n <div class=\\\"calendar-year-selector\\\">\\n <a class=\\\"link icon-only calendar-prev-year-button\\\">\\n <i class=\\\"icon icon-prev\\\"></i>\\n </a>\\n <span class=\\\"current-year-value\\\"></span>\\n <a class=\\\"link icon-only calendar-next-year-button\\\">\\n <i class=\\\"icon icon-next\\\"></i>\\n </a>\\n </div>\\n \".trim();\n }\n }, {\n key: \"renderHeader\",\n value: function renderHeader() {\n var calendar = this;\n\n if (calendar.params.renderHeader) {\n return calendar.params.renderHeader.call(calendar);\n }\n\n return \"\\n <div class=\\\"calendar-header\\\">\\n <div class=\\\"calendar-selected-date\\\">\".concat(calendar.params.headerPlaceholder, \"</div>\\n </div>\\n \").trim();\n }\n }, {\n key: \"renderFooter\",\n value: function renderFooter() {\n var calendar = this;\n var app = calendar.app;\n\n if (calendar.params.renderFooter) {\n return calendar.params.renderFooter.call(calendar);\n }\n\n return \"\\n <div class=\\\"calendar-footer\\\">\\n <a class=\\\"\".concat(app.theme === 'md' ? 'button' : 'link', \" calendar-close sheet-close popover-close\\\">\").concat(calendar.params.toolbarCloseText, \"</a>\\n </div>\\n \").trim();\n }\n }, {\n key: \"renderToolbar\",\n value: function renderToolbar() {\n var calendar = this;\n\n if (calendar.params.renderToolbar) {\n return calendar.params.renderToolbar.call(calendar, calendar);\n }\n\n return \"\\n <div class=\\\"toolbar toolbar-top no-shadow\\\">\\n <div class=\\\"toolbar-inner\\\">\\n \".concat(calendar.params.monthSelector ? calendar.renderMonthSelector() : '', \"\\n \").concat(calendar.params.yearSelector ? calendar.renderYearSelector() : '', \"\\n </div>\\n </div>\\n \").trim();\n } // eslint-disable-next-line\n\n }, {\n key: \"renderInline\",\n value: function renderInline() {\n var calendar = this;\n var _calendar$params3 = calendar.params,\n cssClass = _calendar$params3.cssClass,\n toolbar = _calendar$params3.toolbar,\n header = _calendar$params3.header,\n footer = _calendar$params3.footer,\n rangePicker = _calendar$params3.rangePicker,\n weekHeader = _calendar$params3.weekHeader;\n var value = calendar.value;\n var date = value && value.length ? value[0] : new calendar.DateHandleClass().setHours(0, 0, 0);\n var inlineHtml = \"\\n <div class=\\\"calendar calendar-inline \".concat(rangePicker ? 'calendar-range' : '', \" \").concat(cssClass || '', \"\\\">\\n \").concat(header ? calendar.renderHeader() : '', \"\\n \").concat(toolbar ? calendar.renderToolbar() : '', \"\\n \").concat(weekHeader ? calendar.renderWeekHeader() : '', \"\\n <div class=\\\"calendar-months\\\">\\n \").concat(calendar.renderMonths(date), \"\\n </div>\\n \").concat(footer ? calendar.renderFooter() : '', \"\\n </div>\\n \").trim();\n return inlineHtml;\n }\n }, {\n key: \"renderCustomModal\",\n value: function renderCustomModal() {\n var calendar = this;\n var _calendar$params4 = calendar.params,\n cssClass = _calendar$params4.cssClass,\n toolbar = _calendar$params4.toolbar,\n header = _calendar$params4.header,\n footer = _calendar$params4.footer,\n rangePicker = _calendar$params4.rangePicker,\n weekHeader = _calendar$params4.weekHeader;\n var value = calendar.value;\n var date = value && value.length ? value[0] : new calendar.DateHandleClass().setHours(0, 0, 0);\n var sheetHtml = \"\\n <div class=\\\"calendar calendar-modal \".concat(rangePicker ? 'calendar-range' : '', \" \").concat(cssClass || '', \"\\\">\\n \").concat(header ? calendar.renderHeader() : '', \"\\n \").concat(toolbar ? calendar.renderToolbar() : '', \"\\n \").concat(weekHeader ? calendar.renderWeekHeader() : '', \"\\n <div class=\\\"calendar-months\\\">\\n \").concat(calendar.renderMonths(date), \"\\n </div>\\n \").concat(footer ? calendar.renderFooter() : '', \"\\n </div>\\n \").trim();\n return sheetHtml;\n }\n }, {\n key: \"renderSheet\",\n value: function renderSheet() {\n var calendar = this;\n var _calendar$params5 = calendar.params,\n cssClass = _calendar$params5.cssClass,\n toolbar = _calendar$params5.toolbar,\n header = _calendar$params5.header,\n footer = _calendar$params5.footer,\n rangePicker = _calendar$params5.rangePicker,\n weekHeader = _calendar$params5.weekHeader;\n var value = calendar.value;\n var date = value && value.length ? value[0] : new calendar.DateHandleClass().setHours(0, 0, 0);\n var sheetHtml = \"\\n <div class=\\\"sheet-modal calendar calendar-sheet \".concat(rangePicker ? 'calendar-range' : '', \" \").concat(cssClass || '', \"\\\">\\n \").concat(header ? calendar.renderHeader() : '', \"\\n \").concat(toolbar ? calendar.renderToolbar() : '', \"\\n \").concat(weekHeader ? calendar.renderWeekHeader() : '', \"\\n <div class=\\\"sheet-modal-inner calendar-months\\\">\\n \").concat(calendar.renderMonths(date), \"\\n </div>\\n \").concat(footer ? calendar.renderFooter() : '', \"\\n </div>\\n \").trim();\n return sheetHtml;\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var calendar = this;\n var _calendar$params6 = calendar.params,\n cssClass = _calendar$params6.cssClass,\n toolbar = _calendar$params6.toolbar,\n header = _calendar$params6.header,\n footer = _calendar$params6.footer,\n rangePicker = _calendar$params6.rangePicker,\n weekHeader = _calendar$params6.weekHeader;\n var value = calendar.value;\n var date = value && value.length ? value[0] : new calendar.DateHandleClass().setHours(0, 0, 0);\n var popoverHtml = \"\\n <div class=\\\"popover calendar-popover\\\">\\n <div class=\\\"popover-inner\\\">\\n <div class=\\\"calendar \".concat(rangePicker ? 'calendar-range' : '', \" \").concat(cssClass || '', \"\\\">\\n \").concat(header ? calendar.renderHeader() : '', \"\\n \").concat(toolbar ? calendar.renderToolbar() : '', \"\\n \").concat(weekHeader ? calendar.renderWeekHeader() : '', \"\\n <div class=\\\"calendar-months\\\">\\n \").concat(calendar.renderMonths(date), \"\\n </div>\\n \").concat(footer ? calendar.renderFooter() : '', \"\\n </div>\\n </div>\\n </div>\\n \").trim();\n return popoverHtml;\n }\n }, {\n key: \"render\",\n value: function render() {\n var calendar = this;\n var params = calendar.params;\n if (params.render) return params.render.call(calendar);\n\n if (!calendar.inline) {\n var modalType = params.openIn;\n if (modalType === 'auto') modalType = calendar.isPopover() ? 'popover' : 'sheet';\n if (modalType === 'popover') return calendar.renderPopover();\n if (modalType === 'sheet') return calendar.renderSheet();\n return calendar.renderCustomModal();\n }\n\n return calendar.renderInline();\n }\n }, {\n key: \"onOpen\",\n value: function onOpen() {\n var calendar = this;\n var initialized = calendar.initialized,\n $el = calendar.$el,\n app = calendar.app,\n $inputEl = calendar.$inputEl,\n inline = calendar.inline,\n value = calendar.value,\n params = calendar.params;\n calendar.closing = false;\n calendar.opened = true;\n calendar.opening = true; // Init main events\n\n calendar.attachCalendarEvents();\n var updateValue = !value && params.value; // Set value\n\n if (!initialized) {\n if (value) calendar.setValue(value, 0);else if (params.value) {\n calendar.setValue(calendar.normalizeValues(params.value), 0);\n }\n } else if (value) {\n calendar.setValue(value, 0);\n } // Update current month and year\n\n\n calendar.updateCurrentMonthYear(); // Set initial translate\n\n calendar.monthsTranslate = 0;\n calendar.setMonthsTranslate(); // Update input value\n\n if (updateValue) calendar.updateValue();else if (params.header && value) {\n calendar.updateValue(true);\n } // Extra focus\n\n if (!inline && $inputEl && $inputEl.length && app.theme === 'md') {\n $inputEl.trigger('focus');\n }\n\n calendar.initialized = true;\n calendar.$months.each(function (index, monthEl) {\n calendar.emit('local::monthAdd calendarMonthAdd', monthEl);\n }); // Trigger events\n\n if ($el) {\n $el.trigger('calendar:open', calendar);\n }\n\n if ($inputEl) {\n $inputEl.trigger('calendar:open', calendar);\n }\n\n calendar.emit('local::open calendarOpen', calendar);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var calendar = this;\n calendar.opening = false;\n\n if (calendar.$el) {\n calendar.$el.trigger('calendar:opened', calendar);\n }\n\n if (calendar.$inputEl) {\n calendar.$inputEl.trigger('calendar:opened', calendar);\n }\n\n calendar.emit('local::opened calendarOpened', calendar);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var calendar = this;\n var app = calendar.app;\n calendar.opening = false;\n calendar.closing = true;\n\n if (calendar.$inputEl && app.theme === 'md') {\n calendar.$inputEl.trigger('blur');\n }\n\n if (calendar.detachCalendarEvents) {\n calendar.detachCalendarEvents();\n }\n\n if (calendar.$el) {\n calendar.$el.trigger('calendar:close', calendar);\n }\n\n if (calendar.$inputEl) {\n calendar.$inputEl.trigger('calendar:close', calendar);\n }\n\n calendar.emit('local::close calendarClose', calendar);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var calendar = this;\n calendar.opened = false;\n calendar.closing = false;\n\n if (!calendar.inline) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n if (calendar.modal && calendar.modal.el && calendar.modal.destroy) {\n if (!calendar.params.routableModals) {\n calendar.modal.destroy();\n }\n }\n\n delete calendar.modal;\n });\n }\n\n if (calendar.$el) {\n calendar.$el.trigger('calendar:closed', calendar);\n }\n\n if (calendar.$inputEl) {\n calendar.$inputEl.trigger('calendar:closed', calendar);\n }\n\n calendar.emit('local::closed calendarClosed', calendar);\n }\n }, {\n key: \"open\",\n value: function open() {\n var calendar = this;\n var app = calendar.app,\n opened = calendar.opened,\n inline = calendar.inline,\n $inputEl = calendar.$inputEl,\n params = calendar.params;\n if (opened) return;\n\n if (inline) {\n calendar.$el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.render());\n calendar.$el[0].f7Calendar = calendar;\n calendar.$wrapperEl = calendar.$el.find('.calendar-months-wrapper');\n calendar.$months = calendar.$wrapperEl.find('.calendar-month');\n calendar.$containerEl.append(calendar.$el);\n calendar.onOpen();\n calendar.onOpened();\n return;\n }\n\n var modalType = params.openIn;\n\n if (modalType === 'auto') {\n modalType = calendar.isPopover() ? 'popover' : 'sheet';\n }\n\n var modalContent = calendar.render();\n var modalParams = {\n targetEl: $inputEl,\n scrollToEl: calendar.params.scrollToInput ? $inputEl : undefined,\n content: modalContent,\n backdrop: calendar.params.backdrop === true || modalType === 'popover' && app.params.popover.backdrop !== false && calendar.params.backdrop !== false,\n closeByBackdropClick: calendar.params.closeByBackdropClick,\n on: {\n open: function open() {\n var modal = this;\n calendar.modal = modal;\n calendar.$el = modalType === 'popover' ? modal.$el.find('.calendar') : modal.$el;\n calendar.$wrapperEl = calendar.$el.find('.calendar-months-wrapper');\n calendar.$months = calendar.$wrapperEl.find('.calendar-month');\n calendar.$el[0].f7Calendar = calendar;\n\n if (modalType === 'customModal') {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(calendar.$el).find('.calendar-close').once('click', function () {\n calendar.close();\n });\n }\n\n calendar.onOpen();\n },\n opened: function opened() {\n calendar.onOpened();\n },\n close: function close() {\n calendar.onClose();\n },\n closed: function closed() {\n calendar.onClosed();\n }\n }\n };\n\n if (calendar.params.routableModals) {\n calendar.view.router.navigate({\n url: calendar.url,\n route: _defineProperty({\n path: calendar.url\n }, modalType, modalParams)\n });\n } else {\n calendar.modal = app[modalType].create(modalParams);\n calendar.modal.open();\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n var calendar = this;\n var opened = calendar.opened,\n inline = calendar.inline;\n if (!opened) return;\n\n if (inline) {\n calendar.onClose();\n calendar.onClosed();\n return;\n }\n\n if (calendar.params.routableModals) {\n calendar.view.router.back();\n } else {\n calendar.modal.close();\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var calendar = this;\n calendar.initInput();\n\n if (calendar.inline) {\n calendar.open();\n calendar.emit('local::init calendarInit', calendar);\n return;\n }\n\n if (!calendar.initialized && calendar.params.value) {\n calendar.setValue(calendar.normalizeValues(calendar.params.value));\n } // Attach input Events\n\n\n if (calendar.$inputEl) {\n calendar.attachInputEvents();\n }\n\n if (calendar.params.closeByOutsideClick) {\n calendar.attachHtmlEvents();\n }\n\n calendar.emit('local::init calendarInit', calendar);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var calendar = this;\n if (calendar.destroyed) return;\n var $el = calendar.$el;\n calendar.emit('local::beforeDestroy calendarBeforeDestroy', calendar);\n if ($el) $el.trigger('calendar:beforedestroy', calendar);\n calendar.close(); // Detach Events\n\n if (calendar.$inputEl) {\n calendar.detachInputEvents();\n }\n\n if (calendar.params.closeByOutsideClick) {\n calendar.detachHtmlEvents();\n }\n\n if ($el && $el.length) delete calendar.$el[0].f7Calendar;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(calendar);\n calendar.destroyed = true;\n }\n }]);\n\n return Calendar;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Calendar);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/calendar/calendar-class.js?");
  118. /***/ }),
  119. /***/ "./node_modules/framework7/components/calendar/calendar.js":
  120. /*!*****************************************************************!*\
  121. !*** ./node_modules/framework7/components/calendar/calendar.js ***!
  122. \*****************************************************************/
  123. /*! exports provided: default */
  124. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  125. "use strict";
  126. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _calendar_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./calendar-class */ \"./node_modules/framework7/components/calendar/calendar-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'calendar',\n static: {\n Calendar: _calendar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.calendar = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.calendar',\n constructor: _calendar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Calendar'\n });\n\n app.calendar.close = function close() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.calendar';\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n var calendar = $el[0].f7Calendar;\n if (!calendar || calendar && !calendar.opened) return;\n calendar.close();\n };\n },\n params: {\n calendar: {\n // Calendar settings\n calendarType: 'gregorian',\n // or 'jalali'\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n firstDay: 1,\n // First day of the week, Monday\n weekendDays: [0, 6],\n // Sunday and Saturday\n jalali: {\n monthNames: ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'],\n monthNamesShort: ['فَر', 'اُر', 'خُر', 'تیر', 'مُر', 'شَه', 'مهر', 'آب', 'آذر', 'دی', 'بَه', 'اِس'],\n dayNames: ['یک‌شنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنج‌شنبه', 'جمعه', 'شنبه'],\n dayNamesShort: ['1ش', '۲ش', '۳ش', '۴ش', '۵ش', 'ج', 'ش'],\n firstDay: 6,\n // Saturday\n weekendDays: [5] // Friday\n\n },\n multiple: false,\n rangePicker: false,\n rangePickerMinDays: 1,\n // when calendar is used as rangePicker\n rangePickerMaxDays: 0,\n // when calendar is used as rangePicker, 0 means unlimited\n dateFormat: 'yyyy-mm-dd',\n direction: 'horizontal',\n // or 'vertical'\n minDate: null,\n maxDate: null,\n disabled: null,\n // dates range of disabled days\n events: null,\n // dates range of days with events\n rangesClasses: null,\n // array with custom classes date ranges\n touchMove: true,\n animate: true,\n closeOnSelect: false,\n monthSelector: true,\n yearSelector: true,\n weekHeader: true,\n value: null,\n // Common opener settings\n containerEl: null,\n openIn: 'auto',\n // or 'popover' or 'sheet' or 'customModal'\n formatValue: null,\n inputEl: null,\n inputReadOnly: true,\n closeByOutsideClick: true,\n scrollToInput: true,\n header: false,\n headerPlaceholder: 'Select date',\n footer: false,\n toolbar: true,\n toolbarCloseText: 'Done',\n cssClass: null,\n routableModals: true,\n view: null,\n url: 'date/',\n backdrop: null,\n closeByBackdropClick: true,\n // Render functions\n renderWeekHeader: null,\n renderMonths: null,\n renderMonth: null,\n renderMonthSelector: null,\n renderYearSelector: null,\n renderHeader: null,\n renderFooter: null,\n renderToolbar: null,\n renderInline: null,\n renderPopover: null,\n renderSheet: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/calendar/calendar.js?");
  127. /***/ }),
  128. /***/ "./node_modules/framework7/components/calendar/idate/index.js":
  129. /*!********************************************************************!*\
  130. !*** ./node_modules/framework7/components/calendar/idate/index.js ***!
  131. \********************************************************************/
  132. /*! exports provided: default */
  133. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  134. "use strict";
  135. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return IDate; });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/framework7/components/calendar/idate/utils.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/*\n Copyright nainemom <nainemom@gmail.com>\n https://github.com/nainemom/idate/blob/dev/package.json\n*/\n\nvar methods = ['getHours', 'getMilliseconds', 'getMinutes', 'getSeconds', 'getTime', 'getTimezoneOffset', 'getUTCDate', 'getUTCDay', 'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds', 'now', 'parse', 'setHours', 'setMilliseconds', 'setMinutes', 'setSeconds', 'setTime', 'setUTCDate', 'setUTCFullYear', 'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'toDateString', 'toISOString', 'toJSON', 'toLocaleDateString', 'toLocaleTimeString', 'toLocaleString', 'toTimeString', 'toUTCString', 'UTC', 'valueOf'];\nvar DAY_NAMES = ['Shanbe', 'Yekshanbe', 'Doshanbe', 'Seshanbe', 'Chaharshanbe', 'Panjshanbe', 'Jom\\'e'];\nvar PERSIAN_DAY_NAMES = ['شنبه', 'یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه'];\nvar MONTH_NAMES = ['Farvardin', 'Ordibehesht', 'Khordad', 'Tir', 'Mordad', 'Shahrivar', 'Mehr', 'Aban', 'Azar', 'Dey', 'Bahman', 'Esfand'];\nvar PERSIAN_MONTH_NAMES = ['فروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند'];\nvar PERSIAN_NUMBERS = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];\n\nvar IDate = /*#__PURE__*/function (_Date) {\n _inherits(IDate, _Date);\n\n var _super = _createSuper(IDate);\n\n function IDate() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _classCallCheck(this, IDate);\n\n _this = _super.call(this);\n var date;\n\n if (args.length === 0) {\n date = Date.now();\n } else if (args.length === 1) {\n date = args[0] instanceof Date ? args[0].getTime() : args[0];\n } else {\n var fixed = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"fixDate\"])(args[0], args[1] || 0, typeof args[2] === 'undefined' ? 1 : args[2]);\n\n var _converted = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"toGregorian\"])(fixed[0], fixed[1] + 1, fixed[2]);\n\n date = [_converted.gy, _converted.gm - 1, _converted.gd].concat([args[3] || 0, args[4] || 0, args[5] || 0, args[6] || 0]);\n }\n\n if (Array.isArray(date)) {\n _this.gdate = _construct(Date, _toConsumableArray(date));\n } else {\n _this.gdate = new Date(date);\n }\n\n var converted = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"toJalaali\"])(_this.gdate.getFullYear(), _this.gdate.getMonth() + 1, _this.gdate.getDate());\n _this.jdate = [converted.jy, converted.jm - 1, converted.jd];\n methods.forEach(function (method) {\n IDate.prototype[method] = function () {\n var _this$gdate;\n\n return (_this$gdate = this.gdate)[method].apply(_this$gdate, arguments);\n };\n });\n return _this;\n }\n\n _createClass(IDate, [{\n key: \"getFullYear\",\n value: function getFullYear() {\n return this.jdate[0];\n }\n }, {\n key: \"setFullYear\",\n value: function setFullYear(value) {\n this.jdate = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"fixDate\"])(value, this.jdate[1], this.jdate[2]);\n this.syncDate();\n return this.gdate.getTime();\n }\n }, {\n key: \"getMonth\",\n value: function getMonth() {\n return this.jdate[1];\n }\n }, {\n key: \"setMonth\",\n value: function setMonth(value) {\n this.jdate = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"fixDate\"])(this.jdate[0], value, this.jdate[2]);\n this.syncDate();\n return this.gdate.getTime();\n }\n }, {\n key: \"getDate\",\n value: function getDate() {\n return this.jdate[2];\n }\n }, {\n key: \"setDate\",\n value: function setDate(value) {\n this.jdate = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"fixDate\"])(this.jdate[0], this.jdate[1], value);\n this.syncDate();\n return this.gdate.getTime();\n }\n }, {\n key: \"getDay\",\n value: function getDay() {\n return (this.gdate.getDay() + 1) % 7;\n }\n }, {\n key: \"syncDate\",\n value: function syncDate() {\n var converted = Object(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"toGregorian\"])(this.jdate[0], this.jdate[1] + 1, this.jdate[2]);\n this.gdate.setFullYear(converted.gy);\n this.gdate.setMonth(converted.gm - 1);\n this.gdate.setDate(converted.gd);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var persianString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n var replaceNums = function replaceNums(str) {\n return str.replace(/./g, function (c) {\n return PERSIAN_NUMBERS[c] || c;\n });\n };\n\n var padNumber = function padNumber(num) {\n return num.toString().length === 1 ? \"0\".concat(num) : num.toString();\n };\n\n var time = \"\".concat(padNumber(this.getHours()), \":\").concat(padNumber(this.getMinutes()), \":\").concat(padNumber(this.getSeconds()));\n\n if (persianString) {\n return replaceNums(\"\".concat(PERSIAN_DAY_NAMES[this.getDay()], \" \").concat(this.getDate(), \" \").concat(PERSIAN_MONTH_NAMES[this.getMonth()], \" \").concat(this.getFullYear(), \" \\u0633\\u0627\\u0639\\u062A \").concat(time));\n }\n\n return \"\".concat(DAY_NAMES[this.getDay()], \" \").concat(this.getDate(), \" \").concat(MONTH_NAMES[this.getMonth()], \" \").concat(this.getFullYear(), \" \").concat(time);\n }\n }]);\n\n return IDate;\n}( /*#__PURE__*/_wrapNativeSuper(Date));\n\n\n\n//# sourceURL=webpack:///./node_modules/framework7/components/calendar/idate/index.js?");
  136. /***/ }),
  137. /***/ "./node_modules/framework7/components/calendar/idate/utils.js":
  138. /*!********************************************************************!*\
  139. !*** ./node_modules/framework7/components/calendar/idate/utils.js ***!
  140. \********************************************************************/
  141. /*! exports provided: toJalaali, toGregorian, monthLength, fixDate */
  142. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  143. "use strict";
  144. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toJalaali\", function() { return toJalaali; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toGregorian\", function() { return toGregorian; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"monthLength\", function() { return monthLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fixDate\", function() { return fixDate; });\n/*\nConverts a Gregorian date to Jalaali.\n*/\nfunction toJalaali(gy, gm, gd) {\n if (Object.prototype.toString.call(gy) === '[object Date]') {\n gd = gy.getDate();\n gm = gy.getMonth() + 1;\n gy = gy.getFullYear();\n }\n\n return d2j(g2d(gy, gm, gd));\n}\n/*\nConverts a Jalaali date to Gregorian.\n*/\n\nfunction toGregorian(jy, jm, jd) {\n return d2g(j2d(jy, jm, jd));\n} // /*\n// Checks whether a Jalaali date is valid or not.\n// */\n// function isValidJalaaliDate (jy, jm, jd) {\n// return jy >= -61 && jy <= 3177 &&\n// jm >= 1 && jm <= 12 &&\n// jd >= 1 && jd <= monthLength(jy, jm)\n// }\n\n/*\nIs this a leap year or not?\n*/\n\nfunction isLeapJalaaliYear(jy) {\n return jalCal(jy).leap === 0;\n}\n/*\nNumber of days in a given month in a Jalaali year.\n*/\n\n\nfunction monthLength(jy, jm) {\n if (jm <= 6) return 31;\n if (jm <= 11) return 30;\n if (isLeapJalaaliYear(jy)) return 30;\n return 29;\n}\n/*\nThis function determines if the Jalaali (Persian) year is\nleap (366-day long) or is the common year (365 days), and\nfinds the day in March (Gregorian calendar) of the first\nday of the Jalaali year (jy).\n@param jy Jalaali calendar year (-61 to 3177)\n@return\n leap: number of years since the last leap year (0 to 4)\n gy: Gregorian year of the beginning of Jalaali year\n march: the March day of Farvardin the 1st (1st day of jy)\n@see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n@see: http://www.fourmilab.ch/documents/calendar/\n*/\n\nfunction jalCal(jy) {\n // Jalaali years starting the 33-year rule.\n var breaks = [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178];\n var bl = breaks.length;\n var gy = jy + 621;\n var leapJ = -14;\n var jp = breaks[0];\n var jm;\n var jump;\n var leap;\n var leapG;\n var march;\n var n;\n var i;\n\n if (jy < jp || jy >= breaks[bl - 1]) {\n throw new Error('Invalid Jalaali year ' + jy);\n } // Find the limiting years for the Jalaali year jy.\n\n\n for (i = 1; i < bl; i += 1) {\n jm = breaks[i];\n jump = jm - jp;\n\n if (jy < jm) {\n break;\n }\n\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\n jp = jm;\n }\n\n n = jy - jp; // Find the number of leap years from AD 621 to the beginning\n // of the current Jalaali year in the Persian calendar.\n\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);\n\n if (mod(jump, 33) === 4 && jump - n === 4) {\n leapJ += 1;\n } // And the same in the Gregorian calendar (until the year gy).\n\n\n leapG = div(gy, 4) - div((div(gy, 100) + 1) * 3, 4) - 150; // Determine the Gregorian date of Farvardin the 1st.\n\n march = 20 + leapJ - leapG; // Find how many years have passed since the last leap year.\n\n if (jump - n < 6) {\n n = n - jump + div(jump + 4, 33) * 33;\n }\n\n leap = mod(mod(n + 1, 33) - 1, 4);\n\n if (leap === -1) {\n leap = 4;\n }\n\n return {\n leap: leap,\n gy: gy,\n march: march\n };\n}\n/*\nConverts a date of the Jalaali calendar to the Julian Day number.\n@param jy Jalaali year (1 to 3100)\n@param jm Jalaali month (1 to 12)\n@param jd Jalaali day (1 to 29/31)\n@return Julian Day number\n*/\n\n\nfunction j2d(jy, jm, jd) {\n var r = jalCal(jy);\n return g2d(r.gy, 3, r.march) + (jm - 1) * 31 - div(jm, 7) * (jm - 7) + jd - 1;\n}\n/*\nConverts the Julian Day number to a date in the Jalaali calendar.\n@param jdn Julian Day number\n@return\n jy: Jalaali year (1 to 3100)\n jm: Jalaali month (1 to 12)\n jd: Jalaali day (1 to 29/31)\n*/\n\n\nfunction d2j(jdn) {\n var gy = d2g(jdn).gy; // Calculate Gregorian year (gy).\n\n var jy = gy - 621;\n var r = jalCal(jy);\n var jdn1f = g2d(gy, 3, r.march);\n var jd;\n var jm;\n var k; // Find number of days that passed since 1 Farvardin.\n\n k = jdn - jdn1f;\n\n if (k >= 0) {\n if (k <= 185) {\n // The first 6 months.\n jm = 1 + div(k, 31);\n jd = mod(k, 31) + 1;\n return {\n jy: jy,\n jm: jm,\n jd: jd\n };\n } else {\n // The remaining months.\n k -= 186;\n }\n } else {\n // Previous Jalaali year.\n jy -= 1;\n k += 179;\n\n if (r.leap === 1) {\n k += 1;\n }\n }\n\n jm = 7 + div(k, 30);\n jd = mod(k, 30) + 1;\n return {\n jy: jy,\n jm: jm,\n jd: jd\n };\n}\n/*\nCalculates the Julian Day number from Gregorian or Julian\ncalendar dates. This integer number corresponds to the noon of\nthe date (i.e. 12 hours of Universal Time).\nThe procedure was tested to be good since 1 March, -100100 (of both\ncalendars) up to a few million years into the future.\n@param gy Calendar year (years BC numbered 0, -1, -2, ...)\n@param gm Calendar month (1 to 12)\n@param gd Calendar day of the month (1 to 28/29/30/31)\n@return Julian Day number\n*/\n\n\nfunction g2d(gy, gm, gd) {\n var d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + div(153 * mod(gm + 9, 12) + 2, 5) + gd - 34840408;\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;\n return d;\n}\n/*\nCalculates Gregorian and Julian calendar dates from the Julian Day number\n(jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\ncalendars) to some millions years ahead of the present.\n@param jdn Julian Day number\n@return\n gy: Calendar year (years BC numbered 0, -1, -2, ...)\n gm: Calendar month (1 to 12)\n gd: Calendar day of the month M (1 to 28/29/30/31)\n*/\n\n\nfunction d2g(jdn) {\n var j, i, gd, gm, gy;\n j = 4 * jdn + 139361631;\n j = j + div(div(4 * jdn + 183187720, 146097) * 3, 4) * 4 - 3908;\n i = div(mod(j, 1461), 4) * 5 + 308;\n gd = div(mod(i, 153), 5) + 1;\n gm = mod(div(i, 153), 12) + 1;\n gy = div(j, 1461) - 100100 + div(8 - gm, 6);\n return {\n gy: gy,\n gm: gm,\n gd: gd\n };\n}\n/*\nUtility helper functions.\n*/\n\n\nfunction div(a, b) {\n return ~~(a / b);\n}\n\nfunction mod(a, b) {\n return a - ~~(a / b) * b;\n}\n\nfunction fixDate(y, m, d) {\n if (m > 11) {\n y += Math.floor(m / 12);\n m = m % 12;\n }\n\n while (m < 0) {\n y -= 1;\n m += 12;\n }\n\n while (d > monthLength(y, m + 1)) {\n m = m !== 11 ? m + 1 : 0;\n y = m === 0 ? y + 1 : y;\n d -= monthLength(y, m + 1);\n }\n\n while (d <= 0) {\n m = m !== 0 ? m - 1 : 11;\n y = m === 11 ? y - 1 : y;\n d += monthLength(y, m + 1);\n }\n\n return [y, m || 0, d || 1];\n}\n\n//# sourceURL=webpack:///./node_modules/framework7/components/calendar/idate/utils.js?");
  145. /***/ }),
  146. /***/ "./node_modules/framework7/components/card/card.js":
  147. /*!*********************************************************!*\
  148. !*** ./node_modules/framework7/components/card/card.js ***!
  149. \*********************************************************/
  150. /*! exports provided: default */
  151. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  152. "use strict";
  153. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* eslint no-param-reassign: \"off\" */\n\n\n\nvar CardExpandable = {\n open: function open() {\n var cardEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.card-expandable';\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.card-opened').length) return;\n var $cardEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(cardEl).eq(0);\n if (!$cardEl || !$cardEl.length) return;\n if ($cardEl.hasClass('card-opened') || $cardEl.hasClass('card-opening') || $cardEl.hasClass('card-closing')) return;\n var $pageEl = $cardEl.parents('.page').eq(0);\n if (!$pageEl.length) return;\n var prevented;\n\n function prevent() {\n prevented = true;\n }\n\n $cardEl.trigger('card:beforeopen', {\n prevent: prevent\n });\n app.emit('cardBeforeOpen', $cardEl[0], prevent);\n if (prevented) return;\n var cardParams = Object.assign({\n animate: animate\n }, app.params.card, $cardEl.dataset());\n var $pageContentEl = $cardEl.parents('.page-content');\n var $backdropEl;\n\n if ($cardEl.attr('data-backdrop-el')) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])($cardEl.attr('data-backdrop-el'));\n }\n\n if (!$backdropEl && cardParams.backdrop) {\n $backdropEl = $pageContentEl.find('.card-backdrop');\n\n if (!$backdropEl.length) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"card-backdrop\"></div>');\n $pageContentEl.append($backdropEl);\n }\n }\n\n var $navbarEl;\n var $toolbarEl;\n\n if (cardParams.hideNavbarOnOpen) {\n $navbarEl = $pageEl.children('.navbar');\n\n if (!$navbarEl.length) {\n if ($pageEl[0].f7Page) $navbarEl = $pageEl[0].f7Page.$navbarEl;\n }\n }\n\n if (cardParams.hideToolbarOnOpen) {\n $toolbarEl = $pageEl.children('.toolbar');\n\n if (!$toolbarEl.length) {\n $toolbarEl = $pageEl.parents('.view').children('.toolbar');\n }\n\n if (!$toolbarEl.length) {\n $toolbarEl = $pageEl.parents('.views').children('.toolbar');\n }\n }\n\n var currTransform = $cardEl.css('transform');\n var hasTransform;\n\n if (currTransform && currTransform.match(/[2-9]/)) {\n hasTransform = true;\n }\n\n var $cardContentEl = $cardEl.children('.card-content');\n var $cardSizeEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document.createElement('div')).addClass('card-expandable-size');\n $cardEl.append($cardSizeEl);\n var cardWidth = $cardEl[0].offsetWidth;\n var cardHeight = $cardEl[0].offsetHeight;\n var pageWidth = $pageEl[0].offsetWidth;\n var pageHeight = $pageEl[0].offsetHeight;\n var maxWidth = $cardSizeEl[0].offsetWidth || pageWidth;\n var maxHeight = $cardSizeEl[0].offsetHeight || pageHeight;\n var scaleX = maxWidth / cardWidth;\n var scaleY = maxHeight / cardHeight;\n var offset = $cardEl.offset();\n var pageOffset = $pageEl.offset();\n offset.left -= pageOffset.left;\n var cardLeftOffset;\n var cardTopOffset;\n\n if (hasTransform) {\n var transformValues = currTransform.replace(/matrix\\(|\\)/g, '').split(',').map(function (el) {\n return el.trim();\n });\n\n if (transformValues && transformValues.length > 1) {\n var scale = parseFloat(transformValues[0]);\n cardLeftOffset = offset.left - cardWidth * (1 - scale) / 2;\n cardTopOffset = offset.top - pageOffset.top - cardHeight * (1 - scale) / 2;\n if (app.rtl) cardLeftOffset -= $cardEl[0].scrollLeft;\n } else {\n cardLeftOffset = $cardEl[0].offsetLeft;\n cardTopOffset = $cardEl[0].offsetTop - ($pageContentEl.length ? $pageContentEl[0].scrollTop : 0);\n }\n } else {\n cardLeftOffset = offset.left;\n cardTopOffset = offset.top - pageOffset.top;\n if (app.rtl) cardLeftOffset -= $cardEl[0].scrollLeft;\n }\n\n cardLeftOffset -= (pageWidth - maxWidth) / 2;\n cardTopOffset -= (pageHeight - maxHeight) / 2;\n var cardRightOffset = maxWidth - cardWidth - cardLeftOffset;\n\n if (app.rtl) {\n var _ref = [cardRightOffset, cardLeftOffset];\n cardLeftOffset = _ref[0];\n cardRightOffset = _ref[1];\n }\n\n var cardBottomOffset = maxHeight - cardHeight - cardTopOffset;\n var translateX = (cardRightOffset - cardLeftOffset) / 2;\n var translateY = (cardBottomOffset - cardTopOffset) / 2;\n\n if (cardParams.hideNavbarOnOpen && $navbarEl && $navbarEl.length) {\n app.navbar.hide($navbarEl, cardParams.animate);\n }\n\n if (cardParams.hideToolbarOnOpen && $toolbarEl && $toolbarEl.length) {\n app.toolbar.hide($toolbarEl, cardParams.animate);\n }\n\n if ($backdropEl) {\n $backdropEl.removeClass('card-backdrop-out').addClass('card-backdrop-in');\n }\n\n $cardEl.removeClass('card-transitioning');\n\n if (cardParams.animate) {\n $cardEl.addClass('card-opening');\n }\n\n $cardEl.trigger('card:open');\n app.emit('cardOpen', $cardEl[0]);\n\n function transitionEnd() {\n $pageEl.addClass('page-with-card-opened');\n\n if (app.device.ios && $pageContentEl.length) {\n $pageContentEl.css('height', \"\".concat($pageContentEl[0].offsetHeight + 1, \"px\"));\n setTimeout(function () {\n $pageContentEl.css('height', '');\n });\n }\n\n $cardEl.addClass('card-opened');\n $cardEl.removeClass('card-opening');\n $cardEl.trigger('card:opened');\n app.emit('cardOpened', $cardEl[0], $pageEl[0]);\n }\n\n $cardContentEl.css({\n width: \"\".concat(maxWidth, \"px\"),\n height: \"\".concat(maxHeight, \"px\")\n }).transform(\"translate3d(\".concat(app.rtl ? cardLeftOffset + translateX : -cardLeftOffset - translateX, \"px, 0px, 0) scale(\").concat(1 / scaleX, \", \").concat(1 / scaleY, \")\"));\n $cardEl.transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0) scale(\").concat(scaleX, \", \").concat(scaleY, \")\"));\n\n if (cardParams.animate) {\n $cardEl.transitionEnd(function () {\n transitionEnd();\n });\n } else {\n transitionEnd();\n }\n\n function onResize() {\n $cardEl.removeClass('card-transitioning');\n cardWidth = $cardEl[0].offsetWidth;\n cardHeight = $cardEl[0].offsetHeight;\n pageWidth = $pageEl[0].offsetWidth;\n pageHeight = $pageEl[0].offsetHeight;\n maxWidth = $cardSizeEl[0].offsetWidth || pageWidth;\n maxHeight = $cardSizeEl[0].offsetHeight || pageHeight;\n scaleX = maxWidth / cardWidth;\n scaleY = maxHeight / cardHeight;\n $cardEl.transform('translate3d(0px, 0px, 0) scale(1)');\n offset = $cardEl.offset();\n pageOffset = $pageEl.offset();\n offset.left -= pageOffset.left;\n offset.top -= pageOffset.top;\n cardLeftOffset = offset.left - (pageWidth - maxWidth) / 2;\n if (app.rtl) cardLeftOffset -= $cardEl[0].scrollLeft;\n cardTopOffset = offset.top - (pageHeight - maxHeight) / 2;\n cardRightOffset = maxWidth - cardWidth - cardLeftOffset;\n cardBottomOffset = maxHeight - cardHeight - cardTopOffset;\n\n if (app.rtl) {\n var _ref2 = [cardRightOffset, cardLeftOffset];\n cardLeftOffset = _ref2[0];\n cardRightOffset = _ref2[1];\n }\n\n translateX = (cardRightOffset - cardLeftOffset) / 2;\n translateY = (cardBottomOffset - cardTopOffset) / 2;\n $cardEl.transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0) scale(\").concat(scaleX, \", \").concat(scaleY, \")\"));\n $cardContentEl.css({\n width: \"\".concat(maxWidth, \"px\"),\n height: \"\".concat(maxHeight, \"px\")\n }).transform(\"translate3d(\".concat(app.rtl ? cardLeftOffset + translateX : -cardLeftOffset - translateX, \"px, 0px, 0) scale(\").concat(1 / scaleX, \", \").concat(1 / scaleY, \")\"));\n }\n\n var cardScrollTop;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchEndX;\n var touchEndY;\n var isScrolling;\n var progress;\n var isV;\n var isH;\n\n function onTouchStart(e) {\n if (!Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest($cardEl).length) return;\n if (!$cardEl.hasClass('card-opened')) return;\n cardScrollTop = $cardContentEl.scrollTop();\n isTouched = true;\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY;\n isScrolling = undefined;\n isV = false;\n isH = false;\n }\n\n function onTouchMove(e) {\n if (!isTouched) return;\n touchEndX = e.targetTouches[0].pageX;\n touchEndY = e.targetTouches[0].pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(touchEndY - touchStartY) > Math.abs(touchEndX - touchStartX));\n }\n\n if (!isH && !isV) {\n if (!isScrolling && e.targetTouches[0].clientX <= 50) {\n isH = true;\n } else {\n isV = true;\n }\n }\n\n if (!(isH || isV) || isV && cardScrollTop !== 0) {\n isTouched = true;\n isMoved = true;\n return;\n }\n\n if (!isMoved) {\n $cardEl.removeClass('card-transitioning');\n }\n\n isMoved = true;\n progress = isV ? Math.max((touchEndY - touchStartY) / 150, 0) : Math.max((touchEndX - touchStartX) / (cardWidth / 2), 0);\n\n if (progress > 0 && isV || isH) {\n if (isV && app.device.ios) {\n $cardContentEl.css('-webkit-overflow-scrolling', 'auto');\n $cardContentEl.scrollTop(0);\n }\n\n e.preventDefault();\n }\n\n if (progress > 1) progress = Math.pow(progress, 0.3);\n\n if (progress > (isV ? 1.3 : 1.1)) {\n isTouched = false;\n isMoved = false;\n app.card.close($cardEl);\n } else {\n $cardEl.transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0) scale(\").concat(scaleX * (1 - progress * 0.2), \", \").concat(scaleY * (1 - progress * 0.2), \")\"));\n }\n }\n\n function onTouchEnd() {\n if (!isTouched || !isMoved) return;\n isTouched = false;\n isMoved = false;\n\n if (app.device.ios) {\n $cardContentEl.css('-webkit-overflow-scrolling', '');\n }\n\n if (progress >= 0.8) {\n app.card.close($cardEl);\n } else {\n $cardEl.addClass('card-transitioning').transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0) scale(\").concat(scaleX, \", \").concat(scaleY, \")\"));\n }\n }\n\n $cardEl[0].detachEventHandlers = function detachEventHandlers() {\n app.off('resize', onResize);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && cardParams.swipeToClose) {\n app.off('touchstart:passive', onTouchStart);\n app.off('touchmove:active', onTouchMove);\n app.off('touchend:passive', onTouchEnd);\n }\n };\n\n app.on('resize', onResize);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && cardParams.swipeToClose) {\n app.on('touchstart:passive', onTouchStart);\n app.on('touchmove:active', onTouchMove);\n app.on('touchend:passive', onTouchEnd);\n }\n },\n close: function close() {\n var cardEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.card-expandable.card-opened';\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n var $cardEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(cardEl).eq(0);\n if (!$cardEl || !$cardEl.length) return;\n if (!$cardEl.hasClass('card-opened') || $cardEl.hasClass('card-opening') || $cardEl.hasClass('card-closing')) return;\n var $cardContentEl = $cardEl.children('.card-content');\n var $pageContentEl = $cardEl.parents('.page-content');\n var $pageEl = $cardEl.parents('.page').eq(0);\n if (!$pageEl.length) return;\n var cardParams = Object.assign({\n animate: animate\n }, app.params.card, $cardEl.dataset());\n var $navbarEl;\n var $toolbarEl;\n var $backdropEl;\n\n if ($cardEl.attr('data-backdrop-el')) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])($cardEl.attr('data-backdrop-el'));\n }\n\n if (cardParams.backdrop) {\n $backdropEl = $cardEl.parents('.page-content').find('.card-backdrop');\n }\n\n if (cardParams.hideNavbarOnOpen) {\n $navbarEl = $pageEl.children('.navbar');\n\n if (!$navbarEl.length) {\n if ($pageEl[0].f7Page) $navbarEl = $pageEl[0].f7Page.$navbarEl;\n }\n\n if ($navbarEl && $navbarEl.length) {\n app.navbar.show($navbarEl, cardParams.animate);\n }\n }\n\n if (cardParams.hideToolbarOnOpen) {\n $toolbarEl = $pageEl.children('.toolbar');\n\n if (!$toolbarEl.length) {\n $toolbarEl = $pageEl.parents('.view').children('.toolbar');\n }\n\n if (!$toolbarEl.length) {\n $toolbarEl = $pageEl.parents('.views').children('.toolbar');\n }\n\n if ($toolbarEl && $toolbarEl.length) {\n app.toolbar.show($toolbarEl, cardParams.animate);\n }\n }\n\n $pageEl.removeClass('page-with-card-opened');\n\n if (app.device.ios && $pageContentEl.length) {\n $pageContentEl.css('height', \"\".concat($pageContentEl[0].offsetHeight + 1, \"px\"));\n setTimeout(function () {\n $pageContentEl.css('height', '');\n });\n }\n\n if ($backdropEl && $backdropEl.length) {\n $backdropEl.removeClass('card-backdrop-in').addClass('card-backdrop-out');\n }\n\n $cardEl.removeClass('card-opened card-transitioning');\n\n if (cardParams.animate) {\n $cardEl.addClass('card-closing');\n } else {\n $cardEl.addClass('card-no-transition');\n }\n\n $cardEl.transform('');\n $cardEl.trigger('card:close');\n app.emit('cardClose', $cardEl[0]);\n var animateWidth = $cardEl.hasClass('card-expandable-animate-width');\n\n function transitionEnd() {\n if (!animateWidth) {\n $cardContentEl.css({\n width: '',\n height: ''\n });\n }\n\n $cardEl.removeClass('card-closing card-no-transition');\n $cardEl.trigger('card:closed');\n $cardEl.find('.card-expandable-size').remove();\n app.emit('cardClosed', $cardEl[0], $pageEl[0]);\n }\n\n if (animateWidth) {\n $cardContentEl.css({\n width: '',\n height: ''\n });\n }\n\n $cardContentEl.transform('').scrollTop(0, animate ? 300 : 0);\n\n if (animate) {\n $cardContentEl.transitionEnd(function () {\n transitionEnd();\n });\n } else {\n transitionEnd();\n }\n\n if ($cardEl[0].detachEventHandlers) {\n $cardEl[0].detachEventHandlers();\n delete $cardEl[0].detachEventHandlers;\n }\n },\n toggle: function toggle() {\n var cardEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.card-expandable';\n var animate = arguments.length > 1 ? arguments[1] : undefined;\n var app = this;\n var $cardEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(cardEl).eq(0);\n if (!$cardEl.length) return;\n\n if ($cardEl.hasClass('card-opened')) {\n app.card.close($cardEl, animate);\n } else {\n app.card.open($cardEl, animate);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'card',\n params: {\n card: {\n hideNavbarOnOpen: true,\n hideToolbarOnOpen: true,\n swipeToClose: true,\n closeByBackdropClick: true,\n backdrop: true\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n card: {\n open: CardExpandable.open.bind(app),\n close: CardExpandable.close.bind(app),\n toggle: CardExpandable.toggle.bind(app)\n }\n });\n },\n on: {\n pageBeforeIn: function pageBeforeIn(page) {\n var app = this;\n\n if (app.params.card.hideNavbarOnOpen && page.navbarEl && page.$el.find('.card-opened.card-expandable').length) {\n app.navbar.hide(page.navbarEl);\n }\n\n if (app.params.card.hideToolbarOnOpen && page.$el.find('.card-opened.card-expandable').length) {\n var $toolbarEl = page.$el.children('.toolbar');\n\n if (!$toolbarEl.length) {\n $toolbarEl = page.$el.parents('.view').children('.toolbar');\n }\n\n if (!$toolbarEl.length) {\n $toolbarEl = page.$el.parents('.views').children('.toolbar');\n }\n\n if ($toolbarEl && $toolbarEl.length) {\n app.toolbar.hide($toolbarEl);\n }\n }\n }\n },\n clicks: {\n '.card-close': function closeCard($clickedEl, data) {\n var app = this;\n app.card.close(data.card, data.animate);\n },\n '.card-open': function closeCard($clickedEl, data) {\n var app = this;\n app.card.open(data.card, data.animate);\n },\n '.card-expandable': function toggleExpandableCard($clickedEl, data, e) {\n var app = this;\n if ($clickedEl.hasClass('card-opened') || $clickedEl.hasClass('card-opening') || $clickedEl.hasClass('card-closing')) return;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.card-prevent-open, .card-close').length) return;\n app.card.open($clickedEl);\n },\n '.card-backdrop-in': function onBackdropClick() {\n var app = this;\n var needToClose = false;\n if (app.params.card.closeByBackdropClick) needToClose = true;\n var $openedCardEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.card-opened');\n if (!$openedCardEl.length) return;\n\n if ($openedCardEl.attr('data-close-by-backdrop-click') === 'true') {\n needToClose = true;\n } else if ($openedCardEl.attr('data-close-by-backdrop-click') === 'false') {\n needToClose = false;\n }\n\n if (needToClose) app.card.close($openedCardEl);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/card/card.js?");
  154. /***/ }),
  155. /***/ "./node_modules/framework7/components/checkbox/checkbox.js":
  156. /*!*****************************************************************!*\
  157. !*** ./node_modules/framework7/components/checkbox/checkbox.js ***!
  158. \*****************************************************************/
  159. /*! exports provided: default */
  160. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  161. "use strict";
  162. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'checkbox'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/checkbox/checkbox.js?");
  163. /***/ }),
  164. /***/ "./node_modules/framework7/components/chip/chip.js":
  165. /*!*********************************************************!*\
  166. !*** ./node_modules/framework7/components/chip/chip.js ***!
  167. \*********************************************************/
  168. /*! exports provided: default */
  169. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  170. "use strict";
  171. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'chip'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/chip/chip.js?");
  172. /***/ }),
  173. /***/ "./node_modules/framework7/components/color-picker/color-picker-class.js":
  174. /*!*******************************************************************************!*\
  175. !*** ./node_modules/framework7/components/color-picker/color-picker-class.js ***!
  176. \*******************************************************************************/
  177. /*! exports provided: default */
  178. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  179. "use strict";
  180. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _modules_alpha_slider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/alpha-slider */ \"./node_modules/framework7/components/color-picker/modules/alpha-slider.js\");\n/* harmony import */ var _modules_current_color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/current-color */ \"./node_modules/framework7/components/color-picker/modules/current-color.js\");\n/* harmony import */ var _modules_hex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/hex */ \"./node_modules/framework7/components/color-picker/modules/hex.js\");\n/* harmony import */ var _modules_hsb_sliders__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/hsb-sliders */ \"./node_modules/framework7/components/color-picker/modules/hsb-sliders.js\");\n/* harmony import */ var _modules_hue_slider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/hue-slider */ \"./node_modules/framework7/components/color-picker/modules/hue-slider.js\");\n/* harmony import */ var _modules_brightness_slider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/brightness-slider */ \"./node_modules/framework7/components/color-picker/modules/brightness-slider.js\");\n/* harmony import */ var _modules_palette__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/palette */ \"./node_modules/framework7/components/color-picker/modules/palette.js\");\n/* harmony import */ var _modules_initial_current_colors__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/initial-current-colors */ \"./node_modules/framework7/components/color-picker/modules/initial-current-colors.js\");\n/* harmony import */ var _modules_rgb_bars__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/rgb-bars */ \"./node_modules/framework7/components/color-picker/modules/rgb-bars.js\");\n/* harmony import */ var _modules_rgb_sliders__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/rgb-sliders */ \"./node_modules/framework7/components/color-picker/modules/rgb-sliders.js\");\n/* harmony import */ var _modules_sb_spectrum__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/sb-spectrum */ \"./node_modules/framework7/components/color-picker/modules/sb-spectrum.js\");\n/* harmony import */ var _modules_hs_spectrum__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/hs-spectrum */ \"./node_modules/framework7/components/color-picker/modules/hs-spectrum.js\");\n/* harmony import */ var _modules_wheel__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/wheel */ \"./node_modules/framework7/components/color-picker/modules/wheel.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar ColorPicker = /*#__PURE__*/function (_Framework7Class) {\n _inherits(ColorPicker, _Framework7Class);\n\n var _super = _createSuper(ColorPicker);\n\n function ColorPicker(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ColorPicker);\n\n _this = _super.call(this, params, [app]);\n\n var self = _assertThisInitialized(_this);\n\n self.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, app.params.colorPicker, params);\n var $containerEl;\n\n if (self.params.containerEl) {\n $containerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(self.params.containerEl);\n if ($containerEl.length === 0) return _possibleConstructorReturn(_this, self);\n }\n\n var $inputEl;\n\n if (self.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(self.params.inputEl);\n }\n\n var $targetEl;\n\n if (self.params.targetEl) {\n $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(self.params.targetEl);\n }\n\n var view;\n\n if ($inputEl) {\n view = $inputEl.parents('.view').length && $inputEl.parents('.view')[0].f7View;\n }\n\n if (!view && $targetEl) {\n view = $targetEl.parents('.view').length && $targetEl.parents('.view')[0].f7View;\n }\n\n if (!view) view = app.views.main;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(self, {\n app: app,\n $containerEl: $containerEl,\n containerEl: $containerEl && $containerEl[0],\n inline: $containerEl && $containerEl.length > 0,\n $inputEl: $inputEl,\n inputEl: $inputEl && $inputEl[0],\n $targetEl: $targetEl,\n targetEl: $targetEl && $targetEl[0],\n initialized: false,\n opened: false,\n url: self.params.url,\n view: view,\n modules: {\n 'alpha-slider': _modules_alpha_slider__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n 'current-color': _modules_current_color__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n 'hex': _modules_hex__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n // eslint-disable-line\n 'hsb-sliders': _modules_hsb_sliders__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n 'hue-slider': _modules_hue_slider__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n 'brightness-slider': _modules_brightness_slider__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n 'palette': _modules_palette__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n // eslint-disable-line\n 'initial-current-colors': _modules_initial_current_colors__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n 'rgb-bars': _modules_rgb_bars__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n 'rgb-sliders': _modules_rgb_sliders__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n 'sb-spectrum': _modules_sb_spectrum__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n 'hs-spectrum': _modules_hs_spectrum__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n 'wheel': _modules_wheel__WEBPACK_IMPORTED_MODULE_15__[\"default\"] // eslint-disable-line\n\n }\n });\n\n function onInputClick() {\n self.open();\n }\n\n function onInputFocus(e) {\n e.preventDefault();\n }\n\n function onTargetClick() {\n self.open();\n }\n\n function onHtmlClick(e) {\n if (self.destroyed || !self.params) return;\n if (self.params.openIn === 'page') return;\n var $clickTargetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n if (!self.opened || self.closing) return;\n if ($clickTargetEl.closest('[class*=\"backdrop\"]').length) return;\n if ($clickTargetEl.closest('.color-picker-popup, .color-picker-popover').length) return;\n\n if ($inputEl && $inputEl.length > 0) {\n if ($clickTargetEl[0] !== $inputEl[0] && $clickTargetEl.closest('.sheet-modal').length === 0) {\n self.close();\n }\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sheet-modal').length === 0) {\n self.close();\n }\n } // Events\n\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(self, {\n attachInputEvents: function attachInputEvents() {\n self.$inputEl.on('click', onInputClick);\n\n if (self.params.inputReadOnly) {\n self.$inputEl.on('focus mousedown', onInputFocus);\n }\n },\n detachInputEvents: function detachInputEvents() {\n self.$inputEl.off('click', onInputClick);\n\n if (self.params.inputReadOnly) {\n self.$inputEl.off('focus mousedown', onInputFocus);\n }\n },\n attachTargetEvents: function attachTargetEvents() {\n self.$targetEl.on('click', onTargetClick);\n },\n detachTargetEvents: function detachTargetEvents() {\n self.$targetEl.off('click', onTargetClick);\n },\n attachHtmlEvents: function attachHtmlEvents() {\n app.on('click', onHtmlClick);\n },\n detachHtmlEvents: function detachHtmlEvents() {\n app.off('click', onHtmlClick);\n }\n });\n self.init();\n return _possibleConstructorReturn(_this, self);\n }\n\n _createClass(ColorPicker, [{\n key: \"attachEvents\",\n value: function attachEvents() {\n var self = this;\n self.centerModules = self.centerModules.bind(self);\n\n if (self.params.centerModules) {\n self.app.on('resize', self.centerModules);\n }\n }\n }, {\n key: \"detachEvents\",\n value: function detachEvents() {\n var self = this;\n\n if (self.params.centerModules) {\n self.app.off('resize', self.centerModules);\n }\n }\n }, {\n key: \"centerModules\",\n value: function centerModules() {\n var self = this;\n if (!self.opened || !self.$el || self.inline) return;\n var $pageContentEl = self.$el.find('.page-content');\n if (!$pageContentEl.length) return;\n var _$pageContentEl$ = $pageContentEl[0],\n scrollHeight = _$pageContentEl$.scrollHeight,\n offsetHeight = _$pageContentEl$.offsetHeight;\n\n if (scrollHeight <= offsetHeight) {\n $pageContentEl.addClass('justify-content-center');\n } else {\n $pageContentEl.removeClass('justify-content-center');\n }\n }\n }, {\n key: \"initInput\",\n value: function initInput() {\n var self = this;\n if (!self.$inputEl) return;\n if (self.params.inputReadOnly) self.$inputEl.prop('readOnly', true);\n }\n }, {\n key: \"getModalType\",\n value: function getModalType() {\n var self = this;\n var app = self.app,\n modal = self.modal,\n params = self.params;\n var openIn = params.openIn,\n openInPhone = params.openInPhone;\n if (modal && modal.type) return modal.type;\n if (openIn !== 'auto') return openIn;\n if (self.inline) return null;\n\n if (app.device.ios) {\n return app.device.ipad ? 'popover' : openInPhone;\n }\n\n if (app.width >= 768 || app.device.desktop && app.theme === 'aurora') {\n return 'popover';\n }\n\n return openInPhone;\n }\n }, {\n key: \"formatValue\",\n value: function formatValue() {\n var self = this;\n var value = self.value;\n\n if (self.params.formatValue) {\n return self.params.formatValue.call(self, value);\n }\n\n return value.hex;\n } // eslint-disable-next-line\n\n }, {\n key: \"normalizeHsValues\",\n value: function normalizeHsValues(arr) {\n return [Math.floor(arr[0] * 10) / 10, Math.floor(arr[1] * 1000) / 1000, Math.floor(arr[2] * 1000) / 1000];\n }\n }, {\n key: \"setValue\",\n value: function setValue() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var updateModules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var self = this;\n if (typeof value === 'undefined') return;\n\n var _ref = self.value || {},\n hex = _ref.hex,\n rgb = _ref.rgb,\n hsl = _ref.hsl,\n hsb = _ref.hsb,\n _ref$alpha = _ref.alpha,\n alpha = _ref$alpha === void 0 ? 1 : _ref$alpha,\n hue = _ref.hue,\n rgba = _ref.rgba,\n hsla = _ref.hsla;\n\n var needChangeEvent = self.value || !self.value && !self.params.value;\n var valueChanged;\n Object.keys(value).forEach(function (k) {\n if (!self.value || typeof self.value[k] === 'undefined') {\n valueChanged = true;\n return;\n }\n\n var v = value[k];\n\n if (Array.isArray(v)) {\n v.forEach(function (subV, subIndex) {\n if (subV !== self.value[k][subIndex]) {\n valueChanged = true;\n }\n });\n } else if (v !== self.value[k]) {\n valueChanged = true;\n }\n });\n if (!valueChanged) return;\n\n if (value.rgb || value.rgba) {\n var _ref2 = value.rgb || value.rgba,\n _ref3 = _slicedToArray(_ref2, 4),\n r = _ref3[0],\n g = _ref3[1],\n b = _ref3[2],\n _ref3$ = _ref3[3],\n a = _ref3$ === void 0 ? alpha : _ref3$;\n\n rgb = [r, g, b];\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsl = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHsl.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToHsb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n alpha = a;\n rgba = [rgb[0], rgb[1], rgb[2], a];\n hsla = [hsl[0], hsl[1], hsl[2], a];\n }\n\n if (value.hsl || value.hsla) {\n var _ref4 = value.hsl || value.hsla,\n _ref5 = _slicedToArray(_ref4, 4),\n h = _ref5[0],\n s = _ref5[1],\n l = _ref5[2],\n _ref5$ = _ref5[3],\n _a = _ref5$ === void 0 ? alpha : _ref5$;\n\n hsl = [h, s, l];\n rgb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToRgb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToHsb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n alpha = _a;\n rgba = [rgb[0], rgb[1], rgb[2], _a];\n hsla = [hsl[0], hsl[1], hsl[2], _a];\n }\n\n if (value.hsb) {\n var _value$hsb = _slicedToArray(value.hsb, 4),\n _h = _value$hsb[0],\n _s2 = _value$hsb[1],\n _b = _value$hsb[2],\n _value$hsb$ = _value$hsb[3],\n _a2 = _value$hsb$ === void 0 ? alpha : _value$hsb$;\n\n hsb = [_h, _s2, _b];\n hsl = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsb));\n rgb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToRgb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n alpha = _a2;\n rgba = [rgb[0], rgb[1], rgb[2], _a2];\n hsla = [hsl[0], hsl[1], hsl[2], _a2];\n }\n\n if (value.hex) {\n rgb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHexToRgb(value.hex);\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsl = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHsl.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToHsb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n rgba = [rgb[0], rgb[1], rgb[2], alpha];\n hsla = [hsl[0], hsl[1], hsl[2], alpha];\n }\n\n if (typeof value.alpha !== 'undefined') {\n alpha = value.alpha;\n\n if (typeof rgb !== 'undefined') {\n rgba = [rgb[0], rgb[1], rgb[2], alpha];\n }\n\n if (typeof hsl !== 'undefined') {\n hsla = [hsl[0], hsl[1], hsl[2], alpha];\n }\n }\n\n if (typeof value.hue !== 'undefined') {\n var _hsl = hsl,\n _hsl2 = _slicedToArray(_hsl, 3),\n _h2 = _hsl2[0],\n _s3 = _hsl2[1],\n _l = _hsl2[2]; // eslint-disable-line\n\n\n hsl = [value.hue, _s3, _l];\n hsb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToHsb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n rgb = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHslToRgb.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(hsl));\n hex = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorRgbToHex.apply(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _toConsumableArray(rgb));\n hsl = self.normalizeHsValues(hsl);\n hsb = self.normalizeHsValues(hsb);\n hue = hsb[0];\n rgba = [rgb[0], rgb[1], rgb[2], alpha];\n hsla = [hsl[0], hsl[1], hsl[2], alpha];\n }\n\n self.value = {\n hex: hex,\n alpha: alpha,\n hue: hue,\n rgb: rgb,\n hsl: hsl,\n hsb: hsb,\n rgba: rgba,\n hsla: hsla\n };\n if (!self.initialValue) self.initialValue = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, self.value);\n self.updateValue(needChangeEvent);\n\n if (self.opened && updateModules) {\n self.updateModules();\n }\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var self = this;\n return self.value;\n }\n }, {\n key: \"updateValue\",\n value: function updateValue() {\n var fireEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var self = this;\n var $inputEl = self.$inputEl,\n value = self.value,\n $targetEl = self.$targetEl;\n\n if ($targetEl && self.params.targetElSetBackgroundColor) {\n var rgba = value.rgba;\n $targetEl.css('background-color', \"rgba(\".concat(rgba.join(', '), \")\"));\n }\n\n if (fireEvents) {\n self.emit('local::change colorPickerChange', self, value);\n }\n\n if ($inputEl && $inputEl.length) {\n var inputValue = self.formatValue(value);\n\n if ($inputEl && $inputEl.length) {\n $inputEl.val(inputValue);\n\n if (fireEvents) {\n $inputEl.trigger('change');\n }\n }\n }\n }\n }, {\n key: \"updateModules\",\n value: function updateModules() {\n var self = this;\n var modules = self.modules;\n self.params.modules.forEach(function (m) {\n if (typeof m === 'string' && modules[m] && modules[m].update) {\n modules[m].update(self);\n } else if (m && m.update) {\n m.update(self);\n }\n });\n }\n }, {\n key: \"update\",\n value: function update() {\n var self = this;\n self.updateModules();\n }\n }, {\n key: \"renderPicker\",\n value: function renderPicker() {\n var self = this;\n var params = self.params,\n modules = self.modules;\n var html = '';\n params.modules.forEach(function (m) {\n if (typeof m === 'string' && modules[m] && modules[m].render) {\n html += modules[m].render(self);\n } else if (m && m.render) {\n html += m.render(self);\n }\n });\n return html;\n }\n }, {\n key: \"renderNavbar\",\n value: function renderNavbar() {\n var self = this;\n\n if (self.params.renderNavbar) {\n return self.params.renderNavbar.call(self, self);\n }\n\n var _self$params = self.params,\n openIn = _self$params.openIn,\n navbarTitleText = _self$params.navbarTitleText,\n navbarBackLinkText = _self$params.navbarBackLinkText,\n navbarCloseText = _self$params.navbarCloseText;\n return \"\\n <div class=\\\"navbar\\\">\\n <div class=\\\"navbar-inner sliding\\\">\\n \".concat(openIn === 'page' ? \"\\n <div class=\\\"left\\\">\\n <a class=\\\"link back\\\">\\n <i class=\\\"icon icon-back\\\"></i>\\n <span class=\\\"if-not-md\\\">\".concat(navbarBackLinkText, \"</span>\\n </a>\\n </div>\\n \") : '', \"\\n <div class=\\\"title\\\">\").concat(navbarTitleText, \"</div>\\n \").concat(openIn !== 'page' ? \"\\n <div class=\\\"right\\\">\\n <a class=\\\"link popup-close\\\" data-popup=\\\".color-picker-popup\\\">\".concat(navbarCloseText, \"</a>\\n </div>\\n \") : '', \"\\n </div>\\n </div>\\n \").trim();\n }\n }, {\n key: \"renderToolbar\",\n value: function renderToolbar() {\n var self = this;\n\n if (self.params.renderToolbar) {\n return self.params.renderToolbar.call(self, self);\n }\n\n return \"\\n <div class=\\\"toolbar toolbar-top no-shadow\\\">\\n <div class=\\\"toolbar-inner\\\">\\n <div class=\\\"left\\\"></div>\\n <div class=\\\"right\\\">\\n <a class=\\\"link sheet-close popover-close\\\" data-sheet=\\\".color-picker-sheet-modal\\\" data-popover=\\\".color-picker-popover\\\">\".concat(self.params.toolbarCloseText, \"</a>\\n </div>\\n </div>\\n </div>\\n \").trim();\n }\n }, {\n key: \"renderInline\",\n value: function renderInline() {\n var self = this;\n var _self$params2 = self.params,\n cssClass = _self$params2.cssClass,\n groupedModules = _self$params2.groupedModules;\n var inlineHtml = \"\\n <div class=\\\"color-picker color-picker-inline \".concat(groupedModules ? 'color-picker-grouped-modules' : '', \" \").concat(cssClass || '', \"\\\">\\n \").concat(self.renderPicker(), \"\\n </div>\\n \").trim();\n return inlineHtml;\n }\n }, {\n key: \"renderSheet\",\n value: function renderSheet() {\n var self = this;\n var _self$params3 = self.params,\n cssClass = _self$params3.cssClass,\n toolbarSheet = _self$params3.toolbarSheet,\n groupedModules = _self$params3.groupedModules;\n var sheetHtml = \"\\n <div class=\\\"sheet-modal color-picker color-picker-sheet-modal \".concat(groupedModules ? 'color-picker-grouped-modules' : '', \" \").concat(cssClass || '', \"\\\">\\n \").concat(toolbarSheet ? self.renderToolbar() : '', \"\\n <div class=\\\"sheet-modal-inner\\\">\\n <div class=\\\"page-content\\\">\\n \").concat(self.renderPicker(), \"\\n </div>\\n </div>\\n </div>\\n \").trim();\n return sheetHtml;\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var self = this;\n var _self$params4 = self.params,\n cssClass = _self$params4.cssClass,\n toolbarPopover = _self$params4.toolbarPopover,\n groupedModules = _self$params4.groupedModules;\n var popoverHtml = \"\\n <div class=\\\"popover color-picker-popover \".concat(cssClass || '', \"\\\">\\n <div class=\\\"popover-inner\\\">\\n <div class=\\\"color-picker \").concat(groupedModules ? 'color-picker-grouped-modules' : '', \"\\\">\\n \").concat(toolbarPopover ? self.renderToolbar() : '', \"\\n <div class=\\\"page-content\\\">\\n \").concat(self.renderPicker(), \"\\n </div>\\n </div>\\n </div>\\n </div>\\n \").trim();\n return popoverHtml;\n }\n }, {\n key: \"renderPopup\",\n value: function renderPopup() {\n var self = this;\n var _self$params5 = self.params,\n cssClass = _self$params5.cssClass,\n navbarPopup = _self$params5.navbarPopup,\n groupedModules = _self$params5.groupedModules;\n var popupHtml = \"\\n <div class=\\\"popup color-picker-popup \".concat(cssClass || '', \"\\\">\\n <div class=\\\"page\\\">\\n \").concat(navbarPopup ? self.renderNavbar() : '', \"\\n <div class=\\\"color-picker \").concat(groupedModules ? 'color-picker-grouped-modules' : '', \"\\\">\\n <div class=\\\"page-content\\\">\\n \").concat(self.renderPicker(), \"\\n </div>\\n </div>\\n </div>\\n </div>\\n \").trim();\n return popupHtml;\n }\n }, {\n key: \"renderPage\",\n value: function renderPage() {\n var self = this;\n var _self$params6 = self.params,\n cssClass = _self$params6.cssClass,\n groupedModules = _self$params6.groupedModules;\n var pageHtml = \"\\n <div class=\\\"page color-picker-page \".concat(cssClass || '', \"\\\" data-name=\\\"color-picker-page\\\">\\n \").concat(self.renderNavbar(), \"\\n <div class=\\\"color-picker \").concat(groupedModules ? 'color-picker-grouped-modules' : '', \"\\\">\\n <div class=\\\"page-content\\\">\\n \").concat(self.renderPicker(), \"\\n </div>\\n </div>\\n </div>\\n \").trim();\n return pageHtml;\n } // eslint-disable-next-line\n\n }, {\n key: \"render\",\n value: function render() {\n var self = this;\n var params = self.params;\n if (params.render) return params.render.call(self);\n if (self.inline) return self.renderInline();\n\n if (params.openIn === 'page') {\n return self.renderPage();\n }\n\n var modalType = self.getModalType();\n if (modalType === 'popover') return self.renderPopover();\n if (modalType === 'sheet') return self.renderSheet();\n if (modalType === 'popup') return self.renderPopup();\n }\n }, {\n key: \"onOpen\",\n value: function onOpen() {\n var self = this;\n var initialized = self.initialized,\n $el = self.$el,\n app = self.app,\n $inputEl = self.$inputEl,\n inline = self.inline,\n value = self.value,\n params = self.params,\n modules = self.modules;\n self.closing = false;\n self.opened = true;\n self.opening = true; // Init main events\n\n self.attachEvents();\n params.modules.forEach(function (m) {\n if (typeof m === 'string' && modules[m] && modules[m].init) {\n modules[m].init(self);\n } else if (m && m.init) {\n m.init(self);\n }\n });\n var updateValue = !value && params.value; // Set value\n\n if (!initialized) {\n if (value) self.setValue(value);else if (params.value) {\n self.setValue(params.value, false);\n } else if (!params.value) {\n self.setValue({\n hex: '#ff0000'\n }, false);\n }\n } else if (value) {\n self.initialValue = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, value);\n self.setValue(value, false);\n } // Update input value\n\n\n if (updateValue) self.updateValue();\n self.updateModules(); // Center modules\n\n if (params.centerModules) {\n self.centerModules();\n } // Extra focus\n\n\n if (!inline && $inputEl && $inputEl.length && app.theme === 'md') {\n $inputEl.trigger('focus');\n }\n\n self.initialized = true; // Trigger events\n\n if ($el) {\n $el.trigger('colorpicker:open', self);\n }\n\n if ($inputEl) {\n $inputEl.trigger('colorpicker:open', self);\n }\n\n self.emit('local::open colorPickerOpen', self);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var self = this;\n self.opening = false;\n\n if (self.$el) {\n self.$el.trigger('colorpicker:opened', self);\n }\n\n if (self.$inputEl) {\n self.$inputEl.trigger('colorpicker:opened', self);\n }\n\n self.emit('local::opened colorPickerOpened', self);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var self = this;\n var app = self.app,\n params = self.params,\n modules = self.modules;\n self.opening = false;\n self.closing = true; // Detach events\n\n self.detachEvents();\n\n if (self.$inputEl && app.theme === 'md') {\n self.$inputEl.trigger('blur');\n }\n\n params.modules.forEach(function (m) {\n if (typeof m === 'string' && modules[m] && modules[m].destroy) {\n modules[m].destroy(self);\n } else if (m && m.destroy) {\n m.destroy(self);\n }\n });\n\n if (self.$el) {\n self.$el.trigger('colorpicker:close', self);\n }\n\n if (self.$inputEl) {\n self.$inputEl.trigger('colorpicker:close', self);\n }\n\n self.emit('local::close colorPickerClose', self);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var self = this;\n self.opened = false;\n self.closing = false;\n\n if (!self.inline) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (self.modal && self.modal.el && self.modal.destroy) {\n if (!self.params.routableModals) {\n self.modal.destroy();\n }\n }\n\n delete self.modal;\n });\n }\n\n if (self.$el) {\n self.$el.trigger('colorpicker:closed', self);\n }\n\n if (self.$inputEl) {\n self.$inputEl.trigger('colorpicker:closed', self);\n }\n\n self.emit('local::closed colorPickerClosed', self);\n }\n }, {\n key: \"open\",\n value: function open() {\n var self = this;\n var app = self.app,\n opened = self.opened,\n inline = self.inline,\n $inputEl = self.$inputEl,\n $targetEl = self.$targetEl,\n params = self.params;\n if (opened) return;\n\n if (inline) {\n self.$el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(self.render());\n self.$el[0].f7ColorPicker = self;\n self.$containerEl.append(self.$el);\n self.onOpen();\n self.onOpened();\n return;\n }\n\n var colorPickerContent = self.render();\n\n if (params.openIn === 'page') {\n self.view.router.navigate({\n url: self.url,\n route: {\n content: colorPickerContent,\n path: self.url,\n on: {\n pageBeforeIn: function pageBeforeIn(e, page) {\n self.$el = page.$el.find('.color-picker');\n self.$el[0].f7ColorPicker = self;\n self.onOpen();\n },\n pageAfterIn: function pageAfterIn() {\n self.onOpened();\n },\n pageBeforeOut: function pageBeforeOut() {\n self.onClose();\n },\n pageAfterOut: function pageAfterOut() {\n self.onClosed();\n\n if (self.$el && self.$el[0]) {\n self.$el[0].f7ColorPicker = null;\n delete self.$el[0].f7ColorPicker;\n }\n }\n }\n }\n });\n } else {\n var modalType = self.getModalType();\n var backdrop = params.backdrop;\n\n if (backdrop === null || typeof backdrop === 'undefined') {\n if (modalType === 'popover' && app.params.popover.backdrop !== false) backdrop = true;\n if (modalType === 'popup') backdrop = true;\n }\n\n var modalParams = {\n targetEl: $targetEl || $inputEl,\n scrollToEl: params.scrollToInput ? $targetEl || $inputEl : undefined,\n content: colorPickerContent,\n backdrop: backdrop,\n closeByBackdropClick: params.closeByBackdropClick,\n on: {\n open: function open() {\n var modal = this;\n self.modal = modal;\n self.$el = modalType === 'popover' || modalType === 'popup' ? modal.$el.find('.color-picker') : modal.$el;\n self.$el[0].f7ColorPicker = self;\n self.onOpen();\n },\n opened: function opened() {\n self.onOpened();\n },\n close: function close() {\n self.onClose();\n },\n closed: function closed() {\n self.onClosed();\n\n if (self.$el && self.$el[0]) {\n self.$el[0].f7ColorPicker = null;\n delete self.$el[0].f7ColorPicker;\n }\n }\n }\n };\n\n if (params.routableModals) {\n self.view.router.navigate({\n url: self.url,\n route: _defineProperty({\n path: self.url\n }, modalType, modalParams)\n });\n } else {\n self.modal = app[modalType].create(modalParams);\n self.modal.open();\n }\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n var self = this;\n var opened = self.opened,\n inline = self.inline;\n if (!opened) return;\n\n if (inline) {\n self.onClose();\n self.onClosed();\n return;\n }\n\n if (self.params.routableModals) {\n self.view.router.back();\n } else {\n self.modal.close();\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var self = this;\n self.initInput();\n\n if (self.inline) {\n self.open();\n self.emit('local::init colorPickerInit', self);\n return;\n }\n\n if (!self.initialized && self.params.value) {\n self.setValue(self.params.value);\n } // Attach input Events\n\n\n if (self.$inputEl) {\n self.attachInputEvents();\n }\n\n if (self.$targetEl) {\n self.attachTargetEvents();\n }\n\n if (self.params.closeByOutsideClick) {\n self.attachHtmlEvents();\n }\n\n self.emit('local::init colorPickerInit', self);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var self = this;\n if (self.destroyed) return;\n var $el = self.$el;\n self.emit('local::beforeDestroy colorPickerBeforeDestroy', self);\n if ($el) $el.trigger('colorpicker:beforedestroy', self);\n self.close(); // Detach Events\n\n self.detachEvents();\n\n if (self.$inputEl) {\n self.detachInputEvents();\n }\n\n if (self.$targetEl) {\n self.detachTargetEvents();\n }\n\n if (self.params.closeByOutsideClick) {\n self.detachHtmlEvents();\n }\n\n if ($el && $el.length) delete self.$el[0].f7ColorPicker;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(self);\n self.destroyed = true;\n }\n }]);\n\n return ColorPicker;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ColorPicker);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/color-picker-class.js?");
  181. /***/ }),
  182. /***/ "./node_modules/framework7/components/color-picker/color-picker.js":
  183. /*!*************************************************************************!*\
  184. !*** ./node_modules/framework7/components/color-picker/color-picker.js ***!
  185. \*************************************************************************/
  186. /*! exports provided: default */
  187. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  188. "use strict";
  189. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _color_picker_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./color-picker-class */ \"./node_modules/framework7/components/color-picker/color-picker-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'colorPicker',\n static: {\n ColorPicker: _color_picker_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.colorPicker = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.color-picker',\n constructor: _color_picker_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7ColorPicker'\n });\n\n app.colorPicker.close = function close() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.color-picker';\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n var colorPicker = $el[0].f7ColorPicker;\n if (!colorPicker || colorPicker && !colorPicker.opened) return;\n colorPicker.close();\n };\n },\n params: {\n colorPicker: {\n // Color picker settings\n value: null,\n modules: ['wheel'],\n palette: [['#FFEBEE', '#FFCDD2', '#EF9A9A', '#E57373', '#EF5350', '#F44336', '#E53935', '#D32F2F', '#C62828', '#B71C1C'], ['#F3E5F5', '#E1BEE7', '#CE93D8', '#BA68C8', '#AB47BC', '#9C27B0', '#8E24AA', '#7B1FA2', '#6A1B9A', '#4A148C'], ['#E8EAF6', '#C5CAE9', '#9FA8DA', '#7986CB', '#5C6BC0', '#3F51B5', '#3949AB', '#303F9F', '#283593', '#1A237E'], ['#E1F5FE', '#B3E5FC', '#81D4FA', '#4FC3F7', '#29B6F6', '#03A9F4', '#039BE5', '#0288D1', '#0277BD', '#01579B'], ['#E0F2F1', '#B2DFDB', '#80CBC4', '#4DB6AC', '#26A69A', '#009688', '#00897B', '#00796B', '#00695C', '#004D40'], ['#F1F8E9', '#DCEDC8', '#C5E1A5', '#AED581', '#9CCC65', '#8BC34A', '#7CB342', '#689F38', '#558B2F', '#33691E'], ['#FFFDE7', '#FFF9C4', '#FFF59D', '#FFF176', '#FFEE58', '#FFEB3B', '#FDD835', '#FBC02D', '#F9A825', '#F57F17'], ['#FFF3E0', '#FFE0B2', '#FFCC80', '#FFB74D', '#FFA726', '#FF9800', '#FB8C00', '#F57C00', '#EF6C00', '#E65100']],\n groupedModules: false,\n centerModules: true,\n sliderLabel: false,\n sliderValue: false,\n sliderValueEdiable: false,\n barLabel: false,\n barValue: false,\n barValueEdiable: false,\n hexLabel: false,\n hexValueEditable: false,\n redLabelText: 'R',\n greenLabelText: 'G',\n blueLabelText: 'B',\n hueLabelText: 'H',\n saturationLabelText: 'S',\n brightnessLabelText: 'B',\n hexLabelText: 'HEX',\n alphaLabelText: 'A',\n // Common opener settings\n containerEl: null,\n openIn: 'popover',\n // or 'popover' or 'sheet' or 'popup' or 'page' or 'auto'\n openInPhone: 'popup',\n // or 'popover' or 'sheet' or 'popup' or 'page'\n formatValue: null,\n targetEl: null,\n targetElSetBackgroundColor: false,\n inputEl: null,\n inputReadOnly: true,\n closeByOutsideClick: true,\n scrollToInput: true,\n toolbarSheet: true,\n toolbarPopover: false,\n toolbarCloseText: 'Done',\n navbarPopup: true,\n navbarCloseText: 'Done',\n navbarTitleText: 'Color',\n navbarBackLinkText: 'Back',\n cssClass: null,\n routableModals: true,\n view: null,\n url: 'color/',\n backdrop: null,\n closeByBackdropClick: true,\n // Render functions\n renderToolbar: null,\n renderNavbar: null,\n renderInline: null,\n renderPopover: null,\n renderSheet: null,\n renderPopup: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/color-picker.js?");
  190. /***/ }),
  191. /***/ "./node_modules/framework7/components/color-picker/modules/alpha-slider.js":
  192. /*!*********************************************************************************!*\
  193. !*** ./node_modules/framework7/components/color-picker/modules/alpha-slider.js ***!
  194. \*********************************************************************************/
  195. /*! exports provided: default */
  196. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  197. "use strict";
  198. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n alphaLabelText = _self$params.alphaLabelText;\n return \"\\n <div class=\\\"color-picker-module color-picker-module-alpha-slider\\\">\\n <div class=\\\"color-picker-slider-wrap\\\">\\n \".concat(sliderLabel ? \"\\n <div class=\\\"color-picker-slider-label\\\">\".concat(alphaLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-slider color-picker-slider-alpha\\\"></div>\\n \").concat(sliderValue ? \"\\n <div class=\\\"color-picker-slider-value\\\">\\n \".concat(sliderValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"0.01\\\" min=\\\"0\\\" max=\\\"1\\\" class=\\\"color-picker-value-alpha\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-alpha\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n </div>\\n \");\n },\n init: function init(self) {\n self.alphaRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-alpha'),\n min: 0,\n max: 1,\n step: 0.01,\n value: 1,\n on: {\n change: function change(range, value) {\n var alpha = Math.floor(value * 100) / 100;\n self.setValue({\n alpha: alpha\n });\n }\n }\n });\n\n function handleInputChange(e) {\n var alpha = self.value.alpha;\n var value = parseFloat(e.target.value);\n\n if (Number.isNaN(value)) {\n e.target.value = alpha;\n return;\n }\n\n value = Math.max(0, Math.min(1, value));\n self.setValue({\n alpha: value\n });\n }\n\n self.$el.on('change', '.color-picker-module-alpha-slider input', handleInputChange);\n\n self.destroyAlphaSliderEvents = function destroyAlphaSliderEvents() {\n self.$el.off('change', '.color-picker-module-alpha-slider input', handleInputChange);\n };\n },\n update: function update(self) {\n var value = self.value;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var alpha = value.alpha;\n self.alphaRangeSlider.value = alpha;\n self.alphaRangeSlider.layout();\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-alpha').val(alpha);\n } else {\n self.$el.find('span.color-picker-value-alpha').text(alpha);\n }\n },\n destroy: function destroy(self) {\n if (self.alphaRangeSlider && self.alphaRangeSlider.destroy) {\n self.alphaRangeSlider.destroy();\n }\n\n delete self.alphaRangeSlider;\n if (self.destroyAlphaSliderEvents) self.destroyAlphaSliderEvents();\n delete self.destroyAlphaSliderEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/alpha-slider.js?");
  199. /***/ }),
  200. /***/ "./node_modules/framework7/components/color-picker/modules/brightness-slider.js":
  201. /*!**************************************************************************************!*\
  202. !*** ./node_modules/framework7/components/color-picker/modules/brightness-slider.js ***!
  203. \**************************************************************************************/
  204. /*! exports provided: default */
  205. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  206. "use strict";
  207. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n brightnessLabelText = _self$params.brightnessLabelText;\n return \"\\n <div class=\\\"color-picker-module color-picker-module-brightness-slider\\\">\\n <div class=\\\"color-picker-slider-wrap\\\">\\n \".concat(sliderLabel ? \"\\n <div class=\\\"color-picker-slider-label\\\">\".concat(brightnessLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-slider color-picker-slider-brightness\\\"></div>\\n \").concat(sliderValue ? \"\\n <div class=\\\"color-picker-slider-value\\\">\\n \".concat(sliderValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"0.1\\\" min=\\\"0\\\" max=\\\"100\\\" class=\\\"color-picker-value-brightness\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-brightness\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n </div>\\n \");\n },\n init: function init(self) {\n self.brightnessRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-brightness'),\n min: 0,\n max: 1,\n step: 0.001,\n value: 0,\n on: {\n change: function change(range, value) {\n var b = Math.floor(value * 1000) / 1000;\n self.setValue({\n hsb: [self.value.hsb[0], self.value.hsb[1], b]\n });\n }\n }\n });\n },\n update: function update(self) {\n var value = self.value,\n app = self.app;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var hsb = value.hsb;\n self.brightnessRangeSlider.value = hsb[2];\n self.brightnessRangeSlider.layout();\n var hslCurrent = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], hsb[2]);\n var hslLeft = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], 0);\n var hslRight = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], 1);\n self.brightnessRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"hsl(\".concat(hslCurrent[0], \", \").concat(hslCurrent[1] * 100, \"%, \").concat(hslCurrent[2] * 100, \"%)\"));\n self.brightnessRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(app.rtl ? 'to left' : 'to right', \", hsl(\").concat(hslLeft[0], \", \").concat(hslLeft[1] * 100, \"%, \").concat(hslLeft[2] * 100, \"%), hsl(\").concat(hslRight[0], \", \").concat(hslRight[1] * 100, \"%, \").concat(hslRight[2] * 100, \"%))\"));\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-brightness').val(\"\".concat(hsb[2] * 1000 / 10));\n } else if (sliderValue) {\n self.$el.find('span.color-picker-value-brightness').text(\"\".concat(hsb[2] * 1000 / 10));\n }\n },\n destroy: function destroy(self) {\n if (self.brightnessRangeSlider && self.brightnessRangeSlider.destroy) {\n self.brightnessRangeSlider.destroy();\n }\n\n delete self.brightnessRangeSlider;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/brightness-slider.js?");
  208. /***/ }),
  209. /***/ "./node_modules/framework7/components/color-picker/modules/current-color.js":
  210. /*!**********************************************************************************!*\
  211. !*** ./node_modules/framework7/components/color-picker/modules/current-color.js ***!
  212. \**********************************************************************************/
  213. /*! exports provided: default */
  214. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  215. "use strict";
  216. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n <div class=\\\"color-picker-module color-picker-module-current-color\\\">\\n <div class=\\\"color-picker-current-color\\\"></div>\\n </div>\\n \";\n },\n update: function update(self) {\n self.$el.find('.color-picker-module-current-color .color-picker-current-color').css('background-color', self.value.hex);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/current-color.js?");
  217. /***/ }),
  218. /***/ "./node_modules/framework7/components/color-picker/modules/hex.js":
  219. /*!************************************************************************!*\
  220. !*** ./node_modules/framework7/components/color-picker/modules/hex.js ***!
  221. \************************************************************************/
  222. /*! exports provided: default */
  223. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  224. "use strict";
  225. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n hexLabel = _self$params.hexLabel,\n hexLabelText = _self$params.hexLabelText,\n hexValueEditable = _self$params.hexValueEditable;\n return \"\\n <div class=\\\"color-picker-module color-picker-module-hex\\\">\\n <div class=\\\"color-picker-hex-wrap\\\">\\n \".concat(hexLabel ? \"\\n <div class=\\\"color-picker-hex-label\\\">\".concat(hexLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"color-picker-hex-value\\\">\\n \").concat(hexValueEditable ? \"\\n <input type=\\\"text\\\" class=\\\"color-picker-value-hex\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-hex\\\"></span>\\n \", \"\\n </div>\\n </div>\\n </div>\\n \");\n },\n init: function init(self) {\n function handleInputChange(e) {\n var hex = self.value.hex;\n var value = e.target.value.replace(/#/g, '');\n\n if (Number.isNaN(value) || !value || value.length !== 3 && value.length !== 6) {\n e.target.value = hex;\n return;\n }\n\n var min = 0;\n var current = parseInt(value, 16);\n var max = parseInt('ffffff', 16); // eslint-disable-line\n\n if (current > max) {\n value = 'fff';\n }\n\n if (current < min) {\n value = '000';\n }\n\n self.setValue({\n hex: value\n });\n }\n\n self.$el.on('change', '.color-picker-module-hex input', handleInputChange);\n\n self.destroyHexEvents = function destroyHexEvents() {\n self.$el.off('change', '.color-picker-module-hex input', handleInputChange);\n };\n },\n update: function update(self) {\n var value = self.value;\n var hexValueEditable = self.params.hexValueEditable;\n var hex = value.hex;\n\n if (hexValueEditable) {\n self.$el.find('input.color-picker-value-hex').val(hex);\n } else {\n self.$el.find('span.color-picker-value-hex').text(hex);\n }\n },\n destroy: function destroy(self) {\n if (self.destroyHexEvents) self.destroyHexEvents();\n delete self.destroyHexEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/hex.js?");
  226. /***/ }),
  227. /***/ "./node_modules/framework7/components/color-picker/modules/hs-spectrum.js":
  228. /*!********************************************************************************!*\
  229. !*** ./node_modules/framework7/components/color-picker/modules/hs-spectrum.js ***!
  230. \********************************************************************************/
  231. /*! exports provided: default */
  232. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  233. "use strict";
  234. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n <div class=\\\"color-picker-module color-picker-module-hs-spectrum\\\">\\n <div class=\\\"color-picker-hs-spectrum\\\">\\n <div class=\\\"color-picker-hs-spectrum-handle\\\"></div>\\n </div>\\n </div>\\n \";\n },\n init: function init(self) {\n var app = self.app;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchCurrentX;\n var touchCurrentY;\n var specterRect;\n var specterIsTouched;\n var specterHandleIsTouched;\n var $el = self.$el;\n\n function setHSFromSpecterCoords(x, y) {\n var h = (x - specterRect.left) / specterRect.width * 360;\n var s = (y - specterRect.top) / specterRect.height;\n h = Math.max(0, Math.min(360, h));\n s = 1 - Math.max(0, Math.min(1, s));\n self.setValue({\n hsb: [h, s, self.value.hsb[2]]\n });\n }\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n touchStartX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentX = touchStartX;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n specterHandleIsTouched = $targetEl.closest('.color-picker-hs-spectrum-handle').length > 0;\n\n if (!specterHandleIsTouched) {\n specterIsTouched = $targetEl.closest('.color-picker-hs-spectrum').length > 0;\n }\n\n if (specterIsTouched) {\n specterRect = $el.find('.color-picker-hs-spectrum')[0].getBoundingClientRect();\n setHSFromSpecterCoords(touchStartX, touchStartY);\n }\n\n if (specterHandleIsTouched || specterIsTouched) {\n $el.find('.color-picker-hs-spectrum-handle').addClass('color-picker-hs-spectrum-handle-pressed');\n }\n }\n\n function handleTouchMove(e) {\n if (!(specterIsTouched || specterHandleIsTouched)) return;\n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n e.preventDefault();\n\n if (!isMoved) {\n // First move\n isMoved = true;\n\n if (specterHandleIsTouched) {\n specterRect = $el.find('.color-picker-hs-spectrum')[0].getBoundingClientRect();\n }\n }\n\n if (specterIsTouched || specterHandleIsTouched) {\n setHSFromSpecterCoords(touchCurrentX, touchCurrentY);\n }\n }\n\n function handleTouchEnd() {\n isMoved = false;\n\n if (specterIsTouched || specterHandleIsTouched) {\n $el.find('.color-picker-hs-spectrum-handle').removeClass('color-picker-hs-spectrum-handle-pressed');\n }\n\n specterIsTouched = false;\n specterHandleIsTouched = false;\n }\n\n function handleResize() {\n self.modules['hs-spectrum'].update(self);\n }\n\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {\n passive: true,\n capture: false\n } : false;\n self.$el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n\n self.destroySpectrumEvents = function destroySpectrumEvents() {\n self.$el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n };\n },\n update: function update(self) {\n var value = self.value;\n var hsb = value.hsb;\n var specterWidth = self.$el.find('.color-picker-hs-spectrum')[0].offsetWidth;\n var specterHeight = self.$el.find('.color-picker-hs-spectrum')[0].offsetHeight;\n var hslBright = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], 1);\n self.$el.find('.color-picker-hs-spectrum-handle').css('background-color', \"hsl(\".concat(hslBright[0], \", \").concat(hslBright[1] * 100, \"%, \").concat(hslBright[2] * 100, \"%)\")).transform(\"translate(\".concat(specterWidth * (hsb[0] / 360), \"px, \").concat(specterHeight * (1 - hsb[1]), \"px)\"));\n },\n destroy: function destroy(self) {\n if (self.destroySpectrumEvents) self.destroySpectrumEvents();\n delete self.destroySpectrumEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/hs-spectrum.js?");
  235. /***/ }),
  236. /***/ "./node_modules/framework7/components/color-picker/modules/hsb-sliders.js":
  237. /*!********************************************************************************!*\
  238. !*** ./node_modules/framework7/components/color-picker/modules/hsb-sliders.js ***!
  239. \********************************************************************************/
  240. /*! exports provided: default */
  241. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  242. "use strict";
  243. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n hueLabelText = _self$params.hueLabelText,\n saturationLabelText = _self$params.saturationLabelText,\n brightnessLabelText = _self$params.brightnessLabelText;\n return \"\\n <div class=\\\"color-picker-module color-picker-module-hsb-sliders\\\">\\n <div class=\\\"color-picker-slider-wrap\\\">\\n \".concat(sliderLabel ? \"\\n <div class=\\\"color-picker-slider-label\\\">\".concat(hueLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-slider color-picker-slider-hue\\\"></div>\\n \").concat(sliderValue ? \"\\n <div class=\\\"color-picker-slider-value\\\">\\n \".concat(sliderValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"0.1\\\" min=\\\"0\\\" max=\\\"360\\\" class=\\\"color-picker-value-hue\\\" data-color-index=\\\"0\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-hue\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n <div class=\\\"color-picker-slider-wrap\\\">\\n \").concat(sliderLabel ? \"\\n <div class=\\\"color-picker-slider-label\\\">\".concat(saturationLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-slider color-picker-slider-saturation\\\"></div>\\n \").concat(sliderValue ? \"\\n <div class=\\\"color-picker-slider-value\\\">\\n \".concat(sliderValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"0.1\\\" min=\\\"0\\\" max=\\\"100\\\" class=\\\"color-picker-value-saturation\\\" data-color-index=\\\"1\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-saturation\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n <div class=\\\"color-picker-slider-wrap\\\">\\n \").concat(sliderLabel ? \"\\n <div class=\\\"color-picker-slider-label\\\">\".concat(brightnessLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-slider color-picker-slider-brightness\\\"></div>\\n \").concat(sliderValue ? \"\\n <div class=\\\"color-picker-slider-value\\\">\\n \".concat(sliderValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"0.1\\\" min=\\\"0\\\" max=\\\"100\\\" class=\\\"color-picker-value-brightness\\\" data-color-index=\\\"2\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-brightness\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n </div>\\n \");\n },\n init: function init(self) {\n self.hueRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-hue'),\n min: 0,\n max: 360,\n step: 0.1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n hue: value\n });\n }\n }\n });\n self.saturationRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-saturation'),\n min: 0,\n max: 1,\n step: 0.001,\n value: 0,\n on: {\n change: function change(range, value) {\n var s = Math.floor(value * 1000) / 1000;\n self.setValue({\n hsb: [self.value.hsb[0], s, self.value.hsb[2]]\n });\n }\n }\n });\n self.brightnessRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-brightness'),\n min: 0,\n max: 1,\n step: 0.001,\n value: 0,\n on: {\n change: function change(range, value) {\n var b = Math.floor(value * 1000) / 1000;\n self.setValue({\n hsb: [self.value.hsb[0], self.value.hsb[1], b]\n });\n }\n }\n });\n\n function handleInputChange(e) {\n var hsb = _toConsumableArray(self.value.hsb);\n\n var index = parseInt(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).attr('data-color-index'), 10);\n var value = parseFloat(e.target.value);\n\n if (Number.isNaN(value)) {\n e.target.value = hsb[index];\n return;\n }\n\n if (index === 0) {\n value = Math.max(0, Math.min(360, value));\n } else {\n value = Math.max(0, Math.min(100, value)) / 100;\n }\n\n hsb[index] = value;\n self.setValue({\n hsb: hsb\n });\n }\n\n self.$el.on('change', '.color-picker-module-hsb-sliders input', handleInputChange);\n\n self.destroyHsbSlidersEvents = function destroyHsbSlidersEvents() {\n self.$el.off('change', '.color-picker-module-hsb-sliders input', handleInputChange);\n };\n },\n update: function update(self) {\n var app = self.app,\n value = self.value;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var hsb = value.hsb,\n hue = value.hue;\n self.hueRangeSlider.value = hue;\n self.saturationRangeSlider.value = hsb[1];\n self.brightnessRangeSlider.value = hsb[2];\n self.hueRangeSlider.layout();\n self.saturationRangeSlider.layout();\n self.brightnessRangeSlider.layout();\n var hslCurrent = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl(hsb[0], hsb[1], 1);\n var hslLeft = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl(hsb[0], 0, 1);\n var hslRight = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].colorHsbToHsl(hsb[0], 1, 1);\n var brightness = hsb[2];\n self.hueRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"hsl(\".concat(hue, \", 100%, 50%)\"));\n self.saturationRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"hsl(\".concat(hslCurrent[0], \", \").concat(hslCurrent[1] * 100, \"%, \").concat(hslCurrent[2] * 100, \"%)\"));\n self.brightnessRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"rgb(\".concat(brightness * 255, \", \").concat(brightness * 255, \", \").concat(brightness * 255, \")\"));\n self.saturationRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(app.rtl ? 'to left' : 'to right', \", hsl(\").concat(hslLeft[0], \", \").concat(hslLeft[1] * 100, \"%, \").concat(hslLeft[2] * 100, \"%), hsl(\").concat(hslRight[0], \", \").concat(hslRight[1] * 100, \"%, \").concat(hslRight[2] * 100, \"%))\"));\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-hue').val(\"\".concat(hue));\n self.$el.find('input.color-picker-value-saturation').val(\"\".concat(hsb[1] * 1000 / 10));\n self.$el.find('input.color-picker-value-brightness').val(\"\".concat(hsb[2] * 1000 / 10));\n } else if (sliderValue) {\n self.$el.find('span.color-picker-value-hue').text(\"\".concat(hue));\n self.$el.find('span.color-picker-value-saturation').text(\"\".concat(hsb[1] * 1000 / 10));\n self.$el.find('span.color-picker-value-brightness').text(\"\".concat(hsb[2] * 1000 / 10));\n }\n },\n destroy: function destroy(self) {\n if (self.hueRangeSlider && self.hueRangeSlider.destroy) {\n self.hueRangeSlider.destroy();\n }\n\n if (self.saturationRangeSlider && self.saturationRangeSlider.destroy) {\n self.saturationRangeSlider.destroy();\n }\n\n if (self.brightnessRangeSlider && self.brightnessRangeSlider.destroy) {\n self.brightnessRangeSlider.destroy();\n }\n\n delete self.hueRangeSlider;\n delete self.saturationRangeSlider;\n delete self.brightnessRangeSlider;\n if (self.destroyHsbSlidersEvents) self.destroyHsbSlidersEvents();\n delete self.destroyHsbSlidersEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/hsb-sliders.js?");
  244. /***/ }),
  245. /***/ "./node_modules/framework7/components/color-picker/modules/hue-slider.js":
  246. /*!*******************************************************************************!*\
  247. !*** ./node_modules/framework7/components/color-picker/modules/hue-slider.js ***!
  248. \*******************************************************************************/
  249. /*! exports provided: default */
  250. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  251. "use strict";
  252. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n hueLabelText = _self$params.hueLabelText;\n return \"\\n <div class=\\\"color-picker-module color-picker-module-hue-slider\\\">\\n <div class=\\\"color-picker-slider-wrap\\\">\\n \".concat(sliderLabel ? \"\\n <div class=\\\"color-picker-slider-label\\\">\".concat(hueLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-slider color-picker-slider-hue\\\"></div>\\n \").concat(sliderValue ? \"\\n <div class=\\\"color-picker-slider-value\\\">\\n \".concat(sliderValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"0.1\\\" min=\\\"0\\\" max=\\\"360\\\" class=\\\"color-picker-value-hue\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-hue\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n </div>\\n \");\n },\n init: function init(self) {\n self.hueRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-hue'),\n min: 0,\n max: 360,\n step: 0.1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n hue: value\n });\n }\n }\n });\n },\n update: function update(self) {\n var value = self.value;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var hue = value.hue;\n self.hueRangeSlider.value = hue;\n self.hueRangeSlider.layout();\n self.hueRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"hsl(\".concat(hue, \", 100%, 50%)\"));\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-hue').val(\"\".concat(hue));\n } else if (sliderValue) {\n self.$el.find('span.color-picker-value-hue').text(\"\".concat(hue));\n }\n },\n destroy: function destroy(self) {\n if (self.hueRangeSlider && self.hueRangeSlider.destroy) {\n self.hueRangeSlider.destroy();\n }\n\n delete self.hueRangeSlider;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/hue-slider.js?");
  253. /***/ }),
  254. /***/ "./node_modules/framework7/components/color-picker/modules/initial-current-colors.js":
  255. /*!*******************************************************************************************!*\
  256. !*** ./node_modules/framework7/components/color-picker/modules/initial-current-colors.js ***!
  257. \*******************************************************************************************/
  258. /*! exports provided: default */
  259. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  260. "use strict";
  261. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n <div class=\\\"color-picker-module color-picker-module-initial-current-colors\\\">\\n <div class=\\\"color-picker-initial-current-colors\\\">\\n <div class=\\\"color-picker-initial-color\\\"></div>\\n <div class=\\\"color-picker-current-color\\\"></div>\\n </div>\\n </div>\\n \";\n },\n init: function init(self) {\n function handleInitialColorClick() {\n if (self.initialValue) {\n var _self$initialValue = self.initialValue,\n hex = _self$initialValue.hex,\n alpha = _self$initialValue.alpha;\n self.setValue({\n hex: hex,\n alpha: alpha\n });\n }\n }\n\n self.$el.on('click', '.color-picker-initial-color', handleInitialColorClick);\n\n self.destroyInitialCurrentEvents = function destroyInitialCurrentEvents() {\n self.$el.off('click', '.color-picker-initial-color', handleInitialColorClick);\n };\n },\n update: function update(self) {\n self.$el.find('.color-picker-module-initial-current-colors .color-picker-initial-color').css('background-color', self.initialValue.hex);\n self.$el.find('.color-picker-module-initial-current-colors .color-picker-current-color').css('background-color', self.value.hex);\n },\n destroy: function destroy(self) {\n if (self.destroyInitialCurrentEvents) {\n self.destroyInitialCurrentEvents();\n }\n\n delete self.destroyInitialCurrentEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/initial-current-colors.js?");
  262. /***/ }),
  263. /***/ "./node_modules/framework7/components/color-picker/modules/palette.js":
  264. /*!****************************************************************************!*\
  265. !*** ./node_modules/framework7/components/color-picker/modules/palette.js ***!
  266. \****************************************************************************/
  267. /*! exports provided: default */
  268. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  269. "use strict";
  270. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* eslint indent: [\"off\"] */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n return \"\\n <div class=\\\"color-picker-module color-picker-module-palette\\\">\\n <div class=\\\"color-picker-palette\\\">\\n \".concat(self.params.palette.map(function (p) {\n if (Array.isArray(p)) {\n var row = '<div class=\"color-picker-palette-row\">';\n row += p.map(function (c) {\n return \"\\n <div class=\\\"color-picker-palette-value\\\" data-palette-color=\\\"\".concat(c, \"\\\" style=\\\"background-color: \").concat(c, \"\\\"></div>\\n \");\n }).join('');\n row += '</div>';\n return row;\n }\n\n return \"\\n <div class=\\\"color-picker-palette-value\\\" data-palette-color=\\\"\".concat(p, \"\\\" style=\\\"background-color: \").concat(p, \"\\\"></div>\\n \");\n }).join(''), \"\\n </div>\\n </div>\\n \");\n },\n init: function init(self) {\n function handlePaletteClick(e) {\n var hex = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).attr('data-palette-color');\n self.setValue({\n hex: hex\n });\n }\n\n self.$el.on('click', '.color-picker-module-palette .color-picker-palette-value', handlePaletteClick);\n\n self.destroyPaletteEvents = function destroyPaletteEvents() {\n self.$el.off('click', '.color-picker-module-hex input', handlePaletteClick);\n };\n },\n destroy: function destroy(self) {\n if (self.destroyPaletteEvents) {\n self.destroyPaletteEvents();\n }\n\n delete self.destroyPaletteEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/palette.js?");
  271. /***/ }),
  272. /***/ "./node_modules/framework7/components/color-picker/modules/rgb-bars.js":
  273. /*!*****************************************************************************!*\
  274. !*** ./node_modules/framework7/components/color-picker/modules/rgb-bars.js ***!
  275. \*****************************************************************************/
  276. /*! exports provided: default */
  277. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  278. "use strict";
  279. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n barLabel = _self$params.barLabel,\n barValue = _self$params.barValue,\n barValueEditable = _self$params.barValueEditable,\n redLabelText = _self$params.redLabelText,\n greenLabelText = _self$params.greenLabelText,\n blueLabelText = _self$params.blueLabelText;\n return \"\\n <div class=\\\"color-picker-module color-picker-module-rgb-bars\\\">\\n <div class=\\\"color-picker-bar-wrap\\\">\\n \".concat(barLabel ? \"\\n <div class=\\\"color-picker-bar-label\\\">\".concat(redLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-bar color-picker-bar-red\\\"></div>\\n \").concat(barValue ? \"\\n <div class=\\\"color-picker-bar-value\\\">\\n \".concat(barValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"1\\\" min=\\\"0\\\" max=\\\"255\\\" class=\\\"color-picker-value-bar-red\\\" data-color-index=\\\"0\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-bar-red\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n <div class=\\\"color-picker-bar-wrap\\\">\\n \").concat(barLabel ? \"\\n <div class=\\\"color-picker-bar-label\\\">\".concat(greenLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-bar color-picker-bar-green\\\"></div>\\n \").concat(barValue ? \"\\n <div class=\\\"color-picker-bar-value\\\">\\n \".concat(barValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"1\\\" min=\\\"0\\\" max=\\\"255\\\" class=\\\"color-picker-value-bar-green\\\" data-color-index=\\\"1\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-bar-green\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n <div class=\\\"color-picker-bar-wrap\\\">\\n \").concat(barLabel ? \"\\n <div class=\\\"color-picker-bar-label\\\">\".concat(blueLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-bar color-picker-bar-blue\\\"></div>\\n \").concat(barValue ? \"\\n <div class=\\\"color-picker-bar-value\\\">\\n \".concat(barValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"1\\\" min=\\\"0\\\" max=\\\"255\\\" class=\\\"color-picker-value-bar-blue\\\" data-color-index=\\\"2\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-bar-blue\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n </div>\\n \");\n },\n init: function init(self) {\n self.redBar = self.app.range.create({\n el: self.$el.find('.color-picker-bar-red'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n vertical: true,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [value, self.value.rgb[1], self.value.rgb[2]]\n });\n }\n }\n });\n self.greenBar = self.app.range.create({\n el: self.$el.find('.color-picker-bar-green'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n vertical: true,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [self.value.rgb[0], value, self.value.rgb[2]]\n });\n }\n }\n });\n self.blueBar = self.app.range.create({\n el: self.$el.find('.color-picker-bar-blue'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n vertical: true,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [self.value.rgb[0], self.value.rgb[1], value]\n });\n }\n }\n });\n\n function handleInputChange(e) {\n var rgb = _toConsumableArray(self.value.rgb);\n\n var index = parseInt(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).attr('data-color-index'), 10);\n var value = parseInt(e.target.value, 10);\n\n if (Number.isNaN(value)) {\n e.target.value = rgb[index];\n return;\n }\n\n value = Math.max(0, Math.min(255, value));\n rgb[index] = value;\n self.setValue({\n rgb: rgb\n });\n }\n\n self.$el.on('change', '.color-picker-module-rgb-bars input', handleInputChange);\n\n self.destroyRgbBarsEvents = function destroyRgbBarsEvents() {\n self.$el.off('change', '.color-picker-module-rgb-bars input', handleInputChange);\n };\n },\n update: function update(self) {\n var value = self.value,\n redBar = self.redBar,\n greenBar = self.greenBar,\n blueBar = self.blueBar;\n var _self$params2 = self.params,\n barValue = _self$params2.barValue,\n barValueEditable = _self$params2.barValueEditable;\n var rgb = value.rgb;\n redBar.value = rgb[0];\n greenBar.value = rgb[1];\n blueBar.value = rgb[2];\n redBar.layout();\n greenBar.layout();\n blueBar.layout();\n redBar.$el.find('.range-bar').css('background-image', \"linear-gradient(to top, rgb(0, \".concat(rgb[1], \", \").concat(rgb[2], \"), rgb(255, \").concat(rgb[1], \", \").concat(rgb[2], \"))\"));\n greenBar.$el.find('.range-bar').css('background-image', \"linear-gradient(to top, rgb(\".concat(rgb[0], \", 0, \").concat(rgb[2], \"), rgb(\").concat(rgb[0], \", 255, \").concat(rgb[2], \"))\"));\n blueBar.$el.find('.range-bar').css('background-image', \"linear-gradient(to top, rgb(\".concat(rgb[0], \", \").concat(rgb[1], \", 0), rgb(\").concat(rgb[0], \", \").concat(rgb[1], \", 255))\"));\n\n if (barValue && barValueEditable) {\n self.$el.find('input.color-picker-value-bar-red').val(rgb[0]);\n self.$el.find('input.color-picker-value-bar-green').val(rgb[1]);\n self.$el.find('input.color-picker-value-bar-blue').val(rgb[2]);\n } else if (barValue) {\n self.$el.find('span.color-picker-value-bar-red').text(rgb[0]);\n self.$el.find('span.color-picker-value-bar-green').text(rgb[1]);\n self.$el.find('span.color-picker-value-bar-blue').text(rgb[2]);\n }\n },\n destroy: function destroy(self) {\n if (self.redBar && self.redBar.destroy) {\n self.redBar.destroy();\n }\n\n if (self.greenBar && self.greenBar.destroy) {\n self.greenBar.destroy();\n }\n\n if (self.blueBar && self.blueBar.destroy) {\n self.blueBar.destroy();\n }\n\n delete self.redBar;\n delete self.greenBar;\n delete self.blueBar;\n if (self.destroyRgbBarsEvents) self.destroyRgbBarsEvents();\n delete self.destroyRgbBarsEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/rgb-bars.js?");
  280. /***/ }),
  281. /***/ "./node_modules/framework7/components/color-picker/modules/rgb-sliders.js":
  282. /*!********************************************************************************!*\
  283. !*** ./node_modules/framework7/components/color-picker/modules/rgb-sliders.js ***!
  284. \********************************************************************************/
  285. /*! exports provided: default */
  286. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  287. "use strict";
  288. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render(self) {\n var _self$params = self.params,\n sliderLabel = _self$params.sliderLabel,\n sliderValue = _self$params.sliderValue,\n sliderValueEditable = _self$params.sliderValueEditable,\n redLabelText = _self$params.redLabelText,\n greenLabelText = _self$params.greenLabelText,\n blueLabelText = _self$params.blueLabelText;\n return \"\\n <div class=\\\"color-picker-module color-picker-module-rgb-sliders\\\">\\n <div class=\\\"color-picker-slider-wrap\\\">\\n \".concat(sliderLabel ? \"\\n <div class=\\\"color-picker-slider-label\\\">\".concat(redLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-slider color-picker-slider-red\\\"></div>\\n \").concat(sliderValue ? \"\\n <div class=\\\"color-picker-slider-value\\\">\\n \".concat(sliderValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"1\\\" min=\\\"0\\\" max=\\\"255\\\" class=\\\"color-picker-value-red\\\" data-color-index=\\\"0\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-red\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n <div class=\\\"color-picker-slider-wrap\\\">\\n \").concat(sliderLabel ? \"\\n <div class=\\\"color-picker-slider-label\\\">\".concat(greenLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-slider color-picker-slider-green\\\"></div>\\n \").concat(sliderValue ? \"\\n <div class=\\\"color-picker-slider-value\\\">\\n \".concat(sliderValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"1\\\" min=\\\"0\\\" max=\\\"255\\\" class=\\\"color-picker-value-green\\\" data-color-index=\\\"1\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-green\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n <div class=\\\"color-picker-slider-wrap\\\">\\n \").concat(sliderLabel ? \"\\n <div class=\\\"color-picker-slider-label\\\">\".concat(blueLabelText, \"</div>\\n \") : '', \"\\n <div class=\\\"range-slider color-picker-slider color-picker-slider-blue\\\"></div>\\n \").concat(sliderValue ? \"\\n <div class=\\\"color-picker-slider-value\\\">\\n \".concat(sliderValueEditable ? \"\\n <input type=\\\"number\\\" step=\\\"1\\\" min=\\\"0\\\" max=\\\"255\\\" class=\\\"color-picker-value-blue\\\" data-color-index=\\\"2\\\">\\n \" : \"\\n <span class=\\\"color-picker-value-blue\\\"></span>\\n \", \"\\n </div>\\n \") : '', \"\\n </div>\\n </div>\\n \");\n },\n init: function init(self) {\n self.redRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-red'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [value, self.value.rgb[1], self.value.rgb[2]]\n });\n }\n }\n });\n self.greenRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-green'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [self.value.rgb[0], value, self.value.rgb[2]]\n });\n }\n }\n });\n self.blueRangeSlider = self.app.range.create({\n el: self.$el.find('.color-picker-slider-blue'),\n min: 0,\n max: 255,\n step: 1,\n value: 0,\n on: {\n change: function change(range, value) {\n self.setValue({\n rgb: [self.value.rgb[0], self.value.rgb[1], value]\n });\n }\n }\n });\n\n function handleInputChange(e) {\n var rgb = _toConsumableArray(self.value.rgb);\n\n var index = parseInt(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).attr('data-color-index'), 10);\n var value = parseInt(e.target.value, 10);\n\n if (Number.isNaN(value)) {\n e.target.value = rgb[index];\n return;\n }\n\n value = Math.max(0, Math.min(255, value));\n rgb[index] = value;\n self.setValue({\n rgb: rgb\n });\n }\n\n self.$el.on('change', '.color-picker-module-rgb-sliders input', handleInputChange);\n\n self.destroyRgbSlidersEvents = function destroyRgbSlidersEvents() {\n self.$el.off('change', '.color-picker-module-rgb-sliders input', handleInputChange);\n };\n },\n update: function update(self) {\n var app = self.app,\n value = self.value,\n redRangeSlider = self.redRangeSlider,\n greenRangeSlider = self.greenRangeSlider,\n blueRangeSlider = self.blueRangeSlider;\n var _self$params2 = self.params,\n sliderValue = _self$params2.sliderValue,\n sliderValueEditable = _self$params2.sliderValueEditable;\n var rgb = value.rgb;\n redRangeSlider.value = rgb[0];\n greenRangeSlider.value = rgb[1];\n blueRangeSlider.value = rgb[2];\n redRangeSlider.layout();\n greenRangeSlider.layout();\n blueRangeSlider.layout();\n redRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"rgb(\".concat(rgb[0], \", \").concat(rgb[1], \", \").concat(rgb[2], \")\"));\n greenRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"rgb(\".concat(rgb[0], \", \").concat(rgb[1], \", \").concat(rgb[2], \")\"));\n blueRangeSlider.$el[0].style.setProperty('--f7-range-knob-color', \"rgb(\".concat(rgb[0], \", \").concat(rgb[1], \", \").concat(rgb[2], \")\"));\n var direction = app.rtl ? 'to left' : 'to right';\n redRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(direction, \", rgb(0, \").concat(rgb[1], \", \").concat(rgb[2], \"), rgb(255, \").concat(rgb[1], \", \").concat(rgb[2], \"))\"));\n greenRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(direction, \", rgb(\").concat(rgb[0], \", 0, \").concat(rgb[2], \"), rgb(\").concat(rgb[0], \", 255, \").concat(rgb[2], \"))\"));\n blueRangeSlider.$el.find('.range-bar').css('background-image', \"linear-gradient(\".concat(direction, \", rgb(\").concat(rgb[0], \", \").concat(rgb[1], \", 0), rgb(\").concat(rgb[0], \", \").concat(rgb[1], \", 255))\"));\n\n if (sliderValue && sliderValueEditable) {\n self.$el.find('input.color-picker-value-red').val(rgb[0]);\n self.$el.find('input.color-picker-value-green').val(rgb[1]);\n self.$el.find('input.color-picker-value-blue').val(rgb[2]);\n } else if (sliderValue) {\n self.$el.find('span.color-picker-value-red').text(rgb[0]);\n self.$el.find('span.color-picker-value-green').text(rgb[1]);\n self.$el.find('span.color-picker-value-blue').text(rgb[2]);\n }\n },\n destroy: function destroy(self) {\n if (self.redRangeSlider && self.redRangeSlider.destroy) {\n self.redRangeSlider.destroy();\n }\n\n if (self.greenRangeSlider && self.greenRangeSlider.destroy) {\n self.greenRangeSlider.destroy();\n }\n\n if (self.blueRangeSlider && self.blueRangeSlider.destroy) {\n self.blueRangeSlider.destroy();\n }\n\n delete self.redRangeSlider;\n delete self.greenRangeSlider;\n delete self.blueRangeSlider;\n if (self.destroyRgbSlidersEvents) self.destroyRgbSlidersEvents();\n delete self.destroyRgbSlidersEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/rgb-sliders.js?");
  289. /***/ }),
  290. /***/ "./node_modules/framework7/components/color-picker/modules/sb-spectrum.js":
  291. /*!********************************************************************************!*\
  292. !*** ./node_modules/framework7/components/color-picker/modules/sb-spectrum.js ***!
  293. \********************************************************************************/
  294. /*! exports provided: default */
  295. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  296. "use strict";
  297. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n <div class=\\\"color-picker-module color-picker-module-sb-spectrum\\\">\\n <div class=\\\"color-picker-sb-spectrum\\\" style=\\\"background-color: hsl(0, 100%, 50%)\\\">\\n <div class=\\\"color-picker-sb-spectrum-handle\\\"></div>\\n </div>\\n </div>\\n \";\n },\n init: function init(self) {\n var app = self.app;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchCurrentX;\n var touchCurrentY;\n var specterRect;\n var specterIsTouched;\n var specterHandleIsTouched;\n var $el = self.$el;\n\n function setSBFromSpecterCoords(x, y) {\n var s = (x - specterRect.left) / specterRect.width;\n var b = (y - specterRect.top) / specterRect.height;\n s = Math.max(0, Math.min(1, s));\n b = 1 - Math.max(0, Math.min(1, b));\n self.setValue({\n hsb: [self.value.hue, s, b]\n });\n }\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n touchStartX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentX = touchStartX;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n specterHandleIsTouched = $targetEl.closest('.color-picker-sb-spectrum-handle').length > 0;\n\n if (!specterHandleIsTouched) {\n specterIsTouched = $targetEl.closest('.color-picker-sb-spectrum').length > 0;\n }\n\n if (specterIsTouched) {\n specterRect = $el.find('.color-picker-sb-spectrum')[0].getBoundingClientRect();\n setSBFromSpecterCoords(touchStartX, touchStartY);\n }\n\n if (specterHandleIsTouched || specterIsTouched) {\n $el.find('.color-picker-sb-spectrum-handle').addClass('color-picker-sb-spectrum-handle-pressed');\n }\n }\n\n function handleTouchMove(e) {\n if (!(specterIsTouched || specterHandleIsTouched)) return;\n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n e.preventDefault();\n\n if (!isMoved) {\n // First move\n isMoved = true;\n\n if (specterHandleIsTouched) {\n specterRect = $el.find('.color-picker-sb-spectrum')[0].getBoundingClientRect();\n }\n }\n\n if (specterIsTouched || specterHandleIsTouched) {\n setSBFromSpecterCoords(touchCurrentX, touchCurrentY);\n }\n }\n\n function handleTouchEnd() {\n isMoved = false;\n\n if (specterIsTouched || specterHandleIsTouched) {\n $el.find('.color-picker-sb-spectrum-handle').removeClass('color-picker-sb-spectrum-handle-pressed');\n }\n\n specterIsTouched = false;\n specterHandleIsTouched = false;\n }\n\n function handleResize() {\n self.modules['sb-spectrum'].update(self);\n }\n\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {\n passive: true,\n capture: false\n } : false;\n self.$el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n\n self.destroySpectrumEvents = function destroySpectrumEvents() {\n self.$el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n };\n },\n update: function update(self) {\n var value = self.value;\n var hsl = value.hsl,\n hsb = value.hsb;\n var specterWidth = self.$el.find('.color-picker-sb-spectrum')[0].offsetWidth;\n var specterHeight = self.$el.find('.color-picker-sb-spectrum')[0].offsetHeight;\n self.$el.find('.color-picker-sb-spectrum').css('background-color', \"hsl(\".concat(hsl[0], \", 100%, 50%)\"));\n self.$el.find('.color-picker-sb-spectrum-handle').css('background-color', \"hsl(\".concat(hsl[0], \", \").concat(hsl[1] * 100, \"%, \").concat(hsl[2] * 100, \"%)\")).transform(\"translate(\".concat(specterWidth * hsb[1], \"px, \").concat(specterHeight * (1 - hsb[2]), \"px)\"));\n },\n destroy: function destroy(self) {\n if (self.destroySpectrumEvents) self.destroySpectrumEvents();\n delete self.destroySpectrumEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/sb-spectrum.js?");
  298. /***/ }),
  299. /***/ "./node_modules/framework7/components/color-picker/modules/wheel.js":
  300. /*!**************************************************************************!*\
  301. !*** ./node_modules/framework7/components/color-picker/modules/wheel.js ***!
  302. \**************************************************************************/
  303. /*! exports provided: default */
  304. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  305. "use strict";
  306. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n\n\nfunction svgWheelCircles() {\n var total = 256;\n var circles = '';\n\n for (var i = total; i > 0; i -= 1) {\n var angle = i * Math.PI / (total / 2);\n var hue = 360 / total * i;\n circles += \"<circle cx=\\\"\".concat(150 - Math.sin(angle) * 125, \"\\\" cy=\\\"\").concat(150 - Math.cos(angle) * 125, \"\\\" r=\\\"25\\\" fill=\\\"hsl(\").concat(hue, \", 100%, 50%)\\\"></circle>\");\n }\n\n return circles;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: function render() {\n return \"\\n <div class=\\\"color-picker-module color-picker-module-wheel\\\">\\n <div class=\\\"color-picker-wheel\\\">\\n <svg viewBox=\\\"0 0 300 300\\\" width=\\\"300\\\" height=\\\"300\\\">\".concat(svgWheelCircles(), \"</svg>\\n <div class=\\\"color-picker-wheel-handle\\\"></div>\\n <div class=\\\"color-picker-sb-spectrum\\\" style=\\\"background-color: hsl(0, 100%, 50%)\\\">\\n <div class=\\\"color-picker-sb-spectrum-handle\\\"></div>\\n </div>\\n </div>\\n </div>\\n \");\n },\n init: function init(self) {\n var app = self.app;\n var isTouched;\n var isMoved;\n var touchStartX;\n var touchStartY;\n var touchCurrentX;\n var touchCurrentY;\n var wheelRect;\n var wheelIsTouched;\n var wheelHandleIsTouched;\n var specterRect;\n var specterIsTouched;\n var specterHandleIsTouched;\n var $el = self.$el;\n\n function setHueFromWheelCoords(x, y) {\n var wheelCenterX = wheelRect.left + wheelRect.width / 2;\n var wheelCenterY = wheelRect.top + wheelRect.height / 2;\n var angleRad = Math.atan2(y - wheelCenterY, x - wheelCenterX);\n var angleDeg = angleRad * 180 / Math.PI + 90;\n if (angleDeg < 0) angleDeg += 360;\n angleDeg = 360 - angleDeg;\n self.setValue({\n hue: angleDeg\n });\n }\n\n function setSBFromSpecterCoords(x, y) {\n var s = (x - specterRect.left) / specterRect.width;\n var b = (y - specterRect.top) / specterRect.height;\n s = Math.max(0, Math.min(1, s));\n b = 1 - Math.max(0, Math.min(1, b));\n self.setValue({\n hsb: [self.value.hue, s, b]\n });\n }\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n touchStartX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentX = touchStartX;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n wheelHandleIsTouched = $targetEl.closest('.color-picker-wheel-handle').length > 0;\n wheelIsTouched = $targetEl.closest('circle').length > 0;\n specterHandleIsTouched = $targetEl.closest('.color-picker-sb-spectrum-handle').length > 0;\n\n if (!specterHandleIsTouched) {\n specterIsTouched = $targetEl.closest('.color-picker-sb-spectrum').length > 0;\n }\n\n if (wheelIsTouched) {\n wheelRect = $el.find('.color-picker-wheel')[0].getBoundingClientRect();\n setHueFromWheelCoords(touchStartX, touchStartY);\n }\n\n if (specterIsTouched) {\n specterRect = $el.find('.color-picker-sb-spectrum')[0].getBoundingClientRect();\n setSBFromSpecterCoords(touchStartX, touchStartY);\n }\n\n if (specterHandleIsTouched || specterIsTouched) {\n $el.find('.color-picker-sb-spectrum-handle').addClass('color-picker-sb-spectrum-handle-pressed');\n }\n }\n\n function handleTouchMove(e) {\n if (!(wheelIsTouched || wheelHandleIsTouched) && !(specterIsTouched || specterHandleIsTouched)) return;\n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n e.preventDefault();\n\n if (!isMoved) {\n // First move\n isMoved = true;\n\n if (wheelHandleIsTouched) {\n wheelRect = $el.find('.color-picker-wheel')[0].getBoundingClientRect();\n }\n\n if (specterHandleIsTouched) {\n specterRect = $el.find('.color-picker-sb-spectrum')[0].getBoundingClientRect();\n }\n }\n\n if (wheelIsTouched || wheelHandleIsTouched) {\n setHueFromWheelCoords(touchCurrentX, touchCurrentY);\n }\n\n if (specterIsTouched || specterHandleIsTouched) {\n setSBFromSpecterCoords(touchCurrentX, touchCurrentY);\n }\n }\n\n function handleTouchEnd() {\n isMoved = false;\n\n if (specterIsTouched || specterHandleIsTouched) {\n $el.find('.color-picker-sb-spectrum-handle').removeClass('color-picker-sb-spectrum-handle-pressed');\n }\n\n wheelIsTouched = false;\n wheelHandleIsTouched = false;\n specterIsTouched = false;\n specterHandleIsTouched = false;\n }\n\n function handleResize() {\n self.modules.wheel.update(self);\n }\n\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {\n passive: true,\n capture: false\n } : false;\n self.$el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n\n self.destroyWheelEvents = function destroyWheelEvents() {\n self.$el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n };\n },\n update: function update(self) {\n var value = self.value;\n var hsl = value.hsl,\n hsb = value.hsb;\n var specterWidth = self.$el.find('.color-picker-sb-spectrum')[0].offsetWidth;\n var specterHeight = self.$el.find('.color-picker-sb-spectrum')[0].offsetHeight;\n var wheelSize = self.$el.find('.color-picker-wheel')[0].offsetWidth;\n var wheelHalfSize = wheelSize / 2;\n var angleRad = value.hue * Math.PI / 180;\n var handleSize = wheelSize / 6;\n var handleHalfSize = handleSize / 2;\n var tX = wheelHalfSize - Math.sin(angleRad) * (wheelHalfSize - handleHalfSize) - handleHalfSize;\n var tY = wheelHalfSize - Math.cos(angleRad) * (wheelHalfSize - handleHalfSize) - handleHalfSize;\n self.$el.find('.color-picker-wheel-handle').css('background-color', \"hsl(\".concat(hsl[0], \", 100%, 50%)\")).transform(\"translate(\".concat(tX, \"px, \").concat(tY, \"px)\"));\n self.$el.find('.color-picker-sb-spectrum').css('background-color', \"hsl(\".concat(hsl[0], \", 100%, 50%)\"));\n self.$el.find('.color-picker-sb-spectrum-handle').css('background-color', \"hsl(\".concat(hsl[0], \", \").concat(hsl[1] * 100, \"%, \").concat(hsl[2] * 100, \"%)\")).transform(\"translate(\".concat(specterWidth * hsb[1], \"px, \").concat(specterHeight * (1 - hsb[2]), \"px)\"));\n },\n destroy: function destroy(self) {\n if (self.destroyWheelEvents) self.destroyWheelEvents();\n delete self.destroyWheelEvents;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/color-picker/modules/wheel.js?");
  307. /***/ }),
  308. /***/ "./node_modules/framework7/components/contacts-list/contacts-list.js":
  309. /*!***************************************************************************!*\
  310. !*** ./node_modules/framework7/components/contacts-list/contacts-list.js ***!
  311. \***************************************************************************/
  312. /*! exports provided: default */
  313. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  314. "use strict";
  315. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'contactsList'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/contacts-list/contacts-list.js?");
  316. /***/ }),
  317. /***/ "./node_modules/framework7/components/data-table/data-table-class.js":
  318. /*!***************************************************************************!*\
  319. !*** ./node_modules/framework7/components/data-table/data-table-class.js ***!
  320. \***************************************************************************/
  321. /*! exports provided: default */
  322. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  323. "use strict";
  324. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar DataTable = /*#__PURE__*/function (_Framework7Class) {\n _inherits(DataTable, _Framework7Class);\n\n var _super = _createSuper(DataTable);\n\n function DataTable(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, DataTable);\n\n _this = _super.call(this, params, [app]);\n\n var table = _assertThisInitialized(_this);\n\n var defaults = {}; // Extend defaults with modules params\n\n table.useModulesParams(defaults);\n table.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params); // El\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(table.params.el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, undefined);\n table.$el = $el;\n table.el = $el[0];\n\n if (table.$el[0].f7DataTable) {\n var instance = table.$el[0].f7DataTable;\n table.destroy();\n return _possibleConstructorReturn(_this, instance);\n }\n\n table.$el[0].f7DataTable = table;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(table, {\n collapsible: $el.hasClass('data-table-collapsible'),\n // Headers\n $headerEl: $el.find('.data-table-header'),\n $headerSelectedEl: $el.find('.data-table-header-selected')\n }); // Events\n\n function handleChange(e) {\n if (e.detail && e.detail.sentByF7DataTable) {\n // Scripted event, don't do anything\n return;\n }\n\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var checked = $inputEl[0].checked;\n var columnIndex = $inputEl.parents('td,th').index();\n\n if ($inputEl.parents('thead').length > 0) {\n if (columnIndex === 0) {\n $el.find('tbody tr')[checked ? 'addClass' : 'removeClass']('data-table-row-selected');\n }\n\n $el.find(\"tbody tr td:nth-child(\".concat(columnIndex + 1, \") input\")).prop('checked', checked).trigger('change', {\n sentByF7DataTable: true\n });\n $inputEl.prop('indeterminate', false);\n } else {\n if (columnIndex === 0) {\n $inputEl.parents('tr')[checked ? 'addClass' : 'removeClass']('data-table-row-selected');\n }\n\n var checkedRows = $el.find(\"tbody .checkbox-cell:nth-child(\".concat(columnIndex + 1, \") input[type=\\\"checkbox\\\"]:checked\")).length;\n var totalRows = $el.find('tbody tr').length;\n var $headCheckboxEl = $el.find(\"thead .checkbox-cell:nth-child(\".concat(columnIndex + 1, \") input[type=\\\"checkbox\\\"]\"));\n\n if (!checked) {\n $headCheckboxEl.prop('checked', false);\n } else if (checkedRows === totalRows) {\n $headCheckboxEl.prop('checked', true).trigger('change', {\n sentByF7DataTable: true\n });\n }\n\n $headCheckboxEl.prop('indeterminate', checkedRows > 0 && checkedRows < totalRows);\n }\n\n table.checkSelectedHeader();\n }\n\n function handleSortableClick() {\n var $cellEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var isActive = $cellEl.hasClass('sortable-cell-active');\n var currentSort = $cellEl.hasClass('sortable-desc') ? 'desc' : 'asc';\n var newSort;\n\n if (isActive) {\n newSort = currentSort === 'desc' ? 'asc' : 'desc';\n $cellEl.removeClass('sortable-desc sortable-asc').addClass(\"sortable-\".concat(newSort));\n } else {\n $el.find('thead .sortable-cell-active').removeClass('sortable-cell-active');\n $cellEl.addClass('sortable-cell-active');\n newSort = currentSort;\n }\n\n $cellEl.trigger('datatable:sort', newSort);\n table.emit('local::sort dataTableSort', table, newSort);\n }\n\n table.attachEvents = function attachEvents() {\n table.$el.on('change', '.checkbox-cell input[type=\"checkbox\"]', handleChange);\n table.$el.find('thead .sortable-cell').on('click', handleSortableClick);\n };\n\n table.detachEvents = function detachEvents() {\n table.$el.off('change', '.checkbox-cell input[type=\"checkbox\"]', handleChange);\n table.$el.find('thead .sortable-cell').off('click', handleSortableClick);\n }; // Install Modules\n\n\n table.useModules(); // Init\n\n table.init();\n return _possibleConstructorReturn(_this, table);\n }\n\n _createClass(DataTable, [{\n key: \"setCollapsibleLabels\",\n value: function setCollapsibleLabels() {\n var table = this;\n if (!table.collapsible) return;\n table.$el.find('tbody td:not(.checkbox-cell)').each(function (index, el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var elIndex = $el.index();\n var collpsibleTitle = $el.attr('data-collapsible-title');\n\n if (!collpsibleTitle && collpsibleTitle !== '') {\n $el.attr('data-collapsible-title', table.$el.find('thead th').eq(elIndex).text());\n }\n });\n }\n }, {\n key: \"checkSelectedHeader\",\n value: function checkSelectedHeader() {\n var table = this;\n\n if (table.$headerEl.length > 0 && table.$headerSelectedEl.length > 0) {\n var checkedItems = table.$el.find('tbody .checkbox-cell input:checked').length;\n table.$el[checkedItems > 0 ? 'addClass' : 'removeClass']('data-table-has-checked');\n table.$headerSelectedEl.find('.data-table-selected-count').text(checkedItems);\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var table = this;\n table.attachEvents();\n table.setCollapsibleLabels();\n table.checkSelectedHeader();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var table = this;\n table.$el.trigger('datatable:beforedestroy', table);\n table.emit('local::beforeDestroy dataTableBeforeDestroy', table);\n table.attachEvents();\n\n if (table.$el[0]) {\n table.$el[0].f7DataTable = null;\n delete table.$el[0].f7DataTable;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(table);\n table = null;\n }\n }]);\n\n return DataTable;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (DataTable);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/data-table/data-table-class.js?");
  325. /***/ }),
  326. /***/ "./node_modules/framework7/components/data-table/data-table.js":
  327. /*!*********************************************************************!*\
  328. !*** ./node_modules/framework7/components/data-table/data-table.js ***!
  329. \*********************************************************************/
  330. /*! exports provided: default */
  331. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  332. "use strict";
  333. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _data_table_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./data-table-class */ \"./node_modules/framework7/components/data-table/data-table-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'dataTable',\n static: {\n DataTable: _data_table_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.dataTable = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.data-table',\n constructor: _data_table_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7DataTable'\n });\n },\n on: {\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.data-table-init').each(function (index, tableEl) {\n app.dataTable.destroy(tableEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.data-table-init').each(function (index, tableEl) {\n app.dataTable.create({\n el: tableEl\n });\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.data-table-init').each(function (index, tableEl) {\n app.dataTable.destroy(tableEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.data-table-init').each(function (index, tableEl) {\n app.dataTable.create({\n el: tableEl\n });\n });\n }\n },\n vnode: {\n 'data-table-init': {\n insert: function insert(vnode) {\n var app = this;\n var tableEl = vnode.elm;\n app.dataTable.create({\n el: tableEl\n });\n },\n destroy: function destroy(vnode) {\n var app = this;\n var tableEl = vnode.elm;\n app.dataTable.destroy(tableEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/data-table/data-table.js?");
  334. /***/ }),
  335. /***/ "./node_modules/framework7/components/dialog/dialog-class.js":
  336. /*!*******************************************************************!*\
  337. !*** ./node_modules/framework7/components/dialog/dialog-class.js ***!
  338. \*******************************************************************/
  339. /*! exports provided: default */
  340. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  341. "use strict";
  342. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Dialog = /*#__PURE__*/function (_Modal) {\n _inherits(Dialog, _Modal);\n\n var _super = _createSuper(Dialog);\n\n function Dialog(app, params) {\n var _this;\n\n _classCallCheck(this, Dialog);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({\n title: app.params.dialog.title,\n text: undefined,\n content: '',\n buttons: [],\n verticalButtons: false,\n onClick: undefined,\n cssClass: undefined,\n destroyOnClose: false,\n on: {}\n }, params);\n\n if (typeof extendedParams.closeByBackdropClick === 'undefined') {\n extendedParams.closeByBackdropClick = app.params.dialog.closeByBackdropClick;\n } // Extends with open/close Modal methods;\n\n\n _this = _super.call(this, app, extendedParams);\n\n var dialog = _assertThisInitialized(_this);\n\n var title = extendedParams.title,\n text = extendedParams.text,\n content = extendedParams.content,\n buttons = extendedParams.buttons,\n verticalButtons = extendedParams.verticalButtons,\n cssClass = extendedParams.cssClass;\n dialog.params = extendedParams; // Find Element\n\n var $el;\n\n if (!dialog.params.el) {\n var dialogClasses = ['dialog'];\n if (buttons.length === 0) dialogClasses.push('dialog-no-buttons');\n if (buttons.length > 0) dialogClasses.push(\"dialog-buttons-\".concat(buttons.length));\n if (verticalButtons) dialogClasses.push('dialog-buttons-vertical');\n if (cssClass) dialogClasses.push(cssClass);\n var buttonsHTML = '';\n\n if (buttons.length > 0) {\n buttonsHTML = \"\\n <div class=\\\"dialog-buttons\\\">\\n \".concat(buttons.map(function (button) {\n return \"\\n <span class=\\\"dialog-button\".concat(button.bold ? ' dialog-button-bold' : '').concat(button.color ? \" color-\".concat(button.color) : '').concat(button.cssClass ? \" \".concat(button.cssClass) : '', \"\\\">\").concat(button.text, \"</span>\\n \");\n }).join(''), \"\\n </div>\\n \");\n }\n\n var dialogHtml = \"\\n <div class=\\\"\".concat(dialogClasses.join(' '), \"\\\">\\n <div class=\\\"dialog-inner\\\">\\n \").concat(title ? \"<div class=\\\"dialog-title\\\">\".concat(title, \"</div>\") : '', \"\\n \").concat(text ? \"<div class=\\\"dialog-text\\\">\".concat(text, \"</div>\") : '', \"\\n \").concat(content, \"\\n </div>\\n \").concat(buttonsHTML, \"\\n </div>\\n \");\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dialogHtml);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(dialog.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, dialog.destroy());\n }\n\n var $backdropEl = app.root.children('.dialog-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"dialog-backdrop\"></div>');\n app.root.append($backdropEl);\n } // Assign events\n\n\n function buttonOnClick(e) {\n var buttonEl = this;\n var index = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).index();\n var button = buttons[index];\n if (button.onClick) button.onClick(dialog, e);\n if (dialog.params.onClick) dialog.params.onClick(dialog, index);\n if (button.close !== false) dialog.close();\n }\n\n var addKeyboardHander;\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n buttons.forEach(function (button, index) {\n if (button.keyCodes && button.keyCodes.indexOf(keyCode) >= 0) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"].activeElement) ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"].activeElement.blur();\n if (button.onClick) button.onClick(dialog, e);\n if (dialog.params.onClick) dialog.params.onClick(dialog, index);\n if (button.close !== false) dialog.close();\n }\n });\n }\n\n if (buttons && buttons.length > 0) {\n dialog.on('open', function () {\n $el.find('.dialog-button').each(function (index, buttonEl) {\n var button = buttons[index];\n if (button.keyCodes) addKeyboardHander = true;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).on('click', buttonOnClick);\n });\n\n if (addKeyboardHander && !app.device.ios && !app.device.android && !app.device.cordova) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('keydown', onKeyDown);\n }\n });\n dialog.on('close', function () {\n $el.find('.dialog-button').each(function (index, buttonEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl).off('click', buttonOnClick);\n });\n\n if (addKeyboardHander && !app.device.ios && !app.device.android && !app.device.cordova) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).off('keydown', onKeyDown);\n }\n\n addKeyboardHander = false;\n });\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(dialog, {\n app: app,\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl[0],\n type: 'dialog',\n setProgress: function setProgress(progress, duration) {\n app.progressbar.set($el.find('.progressbar'), progress, duration);\n return dialog;\n },\n setText: function setText(newText) {\n var $textEl = $el.find('.dialog-text');\n\n if ($textEl.length === 0) {\n $textEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"dialog-text\"></div>');\n\n if (typeof title !== 'undefined') {\n $textEl.insertAfter($el.find('.dialog-title'));\n } else {\n $el.find('.dialog-inner').prepend($textEl);\n }\n }\n\n $textEl.html(newText);\n dialog.params.text = newText;\n return dialog;\n },\n setTitle: function setTitle(newTitle) {\n var $titleEl = $el.find('.dialog-title');\n\n if ($titleEl.length === 0) {\n $titleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"dialog-title\"></div>');\n $el.find('.dialog-inner').prepend($titleEl);\n }\n\n $titleEl.html(newTitle);\n dialog.params.title = newTitle;\n return dialog;\n }\n });\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n\n if ($target.closest(dialog.el).length === 0) {\n if (dialog.params.closeByBackdropClick && dialog.backdropEl && dialog.backdropEl === target) {\n dialog.close();\n }\n }\n }\n\n dialog.on('opened', function () {\n if (dialog.params.closeByBackdropClick) {\n app.on('click', handleClick);\n }\n });\n dialog.on('close', function () {\n if (dialog.params.closeByBackdropClick) {\n app.off('click', handleClick);\n }\n });\n $el[0].f7Modal = dialog;\n\n if (dialog.params.destroyOnClose) {\n dialog.once('closed', function () {\n setTimeout(function () {\n dialog.destroy();\n }, 0);\n });\n }\n\n return _possibleConstructorReturn(_this, dialog);\n }\n\n return Dialog;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Dialog);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/dialog/dialog-class.js?");
  343. /***/ }),
  344. /***/ "./node_modules/framework7/components/dialog/dialog.js":
  345. /*!*************************************************************!*\
  346. !*** ./node_modules/framework7/components/dialog/dialog.js ***!
  347. \*************************************************************/
  348. /*! exports provided: default */
  349. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  350. "use strict";
  351. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _dialog_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dialog-class */ \"./node_modules/framework7/components/dialog/dialog-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'dialog',\n params: {\n dialog: {\n title: undefined,\n buttonOk: 'OK',\n buttonCancel: 'Cancel',\n usernamePlaceholder: 'Username',\n passwordPlaceholder: 'Password',\n preloaderTitle: 'Loading... ',\n progressTitle: 'Loading... ',\n closeByBackdropClick: false,\n destroyPredefinedDialogs: true,\n keyboardActions: true\n }\n },\n static: {\n Dialog: _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n\n function defaultDialogTitle() {\n return app.params.dialog.title || app.name;\n }\n\n var destroyOnClose = app.params.dialog.destroyPredefinedDialogs;\n var keyboardActions = app.params.dialog.keyboardActions;\n app.dialog = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n app: app,\n constructor: _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n defaultSelector: '.dialog.modal-in'\n }), {\n // Shortcuts\n alert: function alert() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2];\n\n if (args.length === 2 && typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n title = args[2];\n }\n\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n buttons: [{\n text: app.params.dialog.buttonOk,\n bold: true,\n onClick: callbackOk,\n keyCodes: keyboardActions ? [13, 27] : null\n }],\n destroyOnClose: destroyOnClose\n }).open();\n },\n prompt: function prompt() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2],\n callbackCancel = args[3],\n defaultValue = args[4];\n\n if (typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n callbackCancel = args[2];\n defaultValue = args[3];\n title = args[4];\n }\n\n defaultValue = typeof defaultValue === 'undefined' || defaultValue === null ? '' : defaultValue;\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n content: \"<div class=\\\"dialog-input-field input\\\"><input type=\\\"text\\\" class=\\\"dialog-input\\\" value=\\\"\".concat(defaultValue, \"\\\"></div>\"),\n buttons: [{\n text: app.params.dialog.buttonCancel,\n keyCodes: keyboardActions ? [27] : null,\n color: app.theme === 'aurora' ? 'gray' : null\n }, {\n text: app.params.dialog.buttonOk,\n bold: true,\n keyCodes: keyboardActions ? [13] : null\n }],\n onClick: function onClick(dialog, index) {\n var inputValue = dialog.$el.find('.dialog-input').val();\n if (index === 0 && callbackCancel) callbackCancel(inputValue);\n if (index === 1 && callbackOk) callbackOk(inputValue);\n },\n destroyOnClose: destroyOnClose\n }).open();\n },\n confirm: function confirm() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2],\n callbackCancel = args[3];\n\n if (typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n callbackCancel = args[2];\n title = args[3];\n }\n\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n buttons: [{\n text: app.params.dialog.buttonCancel,\n onClick: callbackCancel,\n keyCodes: keyboardActions ? [27] : null,\n color: app.theme === 'aurora' ? 'gray' : null\n }, {\n text: app.params.dialog.buttonOk,\n bold: true,\n onClick: callbackOk,\n keyCodes: keyboardActions ? [13] : null\n }],\n destroyOnClose: destroyOnClose\n }).open();\n },\n login: function login() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2],\n callbackCancel = args[3];\n\n if (typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n callbackCancel = args[2];\n title = args[3];\n }\n\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n content: \"\\n <div class=\\\"dialog-input-field dialog-input-double input\\\">\\n <input type=\\\"text\\\" name=\\\"dialog-username\\\" placeholder=\\\"\".concat(app.params.dialog.usernamePlaceholder, \"\\\" class=\\\"dialog-input\\\">\\n </div>\\n <div class=\\\"dialog-input-field dialog-input-double input\\\">\\n <input type=\\\"password\\\" name=\\\"dialog-password\\\" placeholder=\\\"\").concat(app.params.dialog.passwordPlaceholder, \"\\\" class=\\\"dialog-input\\\">\\n </div>\"),\n buttons: [{\n text: app.params.dialog.buttonCancel,\n keyCodes: keyboardActions ? [27] : null,\n color: app.theme === 'aurora' ? 'gray' : null\n }, {\n text: app.params.dialog.buttonOk,\n bold: true,\n keyCodes: keyboardActions ? [13] : null\n }],\n onClick: function onClick(dialog, index) {\n var username = dialog.$el.find('[name=\"dialog-username\"]').val();\n var password = dialog.$el.find('[name=\"dialog-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(username, password);\n if (index === 1 && callbackOk) callbackOk(username, password);\n },\n destroyOnClose: destroyOnClose\n }).open();\n },\n password: function password() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var text = args[0],\n title = args[1],\n callbackOk = args[2],\n callbackCancel = args[3];\n\n if (typeof args[1] === 'function') {\n text = args[0];\n callbackOk = args[1];\n callbackCancel = args[2];\n title = args[3];\n }\n\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? defaultDialogTitle() : title,\n text: text,\n content: \"\\n <div class=\\\"dialog-input-field input\\\">\\n <input type=\\\"password\\\" name=\\\"dialog-password\\\" placeholder=\\\"\".concat(app.params.dialog.passwordPlaceholder, \"\\\" class=\\\"dialog-input\\\">\\n </div>\"),\n buttons: [{\n text: app.params.dialog.buttonCancel,\n keyCodes: keyboardActions ? [27] : null,\n color: app.theme === 'aurora' ? 'gray' : null\n }, {\n text: app.params.dialog.buttonOk,\n bold: true,\n keyCodes: keyboardActions ? [13] : null\n }],\n onClick: function onClick(dialog, index) {\n var password = dialog.$el.find('[name=\"dialog-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(password);\n if (index === 1 && callbackOk) callbackOk(password);\n },\n destroyOnClose: destroyOnClose\n }).open();\n },\n preloader: function preloader(title, color) {\n var preloaderInner = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"][\"\".concat(app.theme, \"PreloaderContent\")] || '';\n return new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' || title === null ? app.params.dialog.preloaderTitle : title,\n content: \"<div class=\\\"preloader\".concat(color ? \" color-\".concat(color) : '', \"\\\">\").concat(preloaderInner, \"</div>\"),\n cssClass: 'dialog-preloader',\n destroyOnClose: destroyOnClose\n }).open();\n },\n progress: function progress() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var title = args[0],\n progress = args[1],\n color = args[2];\n\n if (args.length === 2) {\n if (typeof args[0] === 'number') {\n progress = args[0];\n color = args[1];\n title = args[2];\n } else if (typeof args[0] === 'string' && typeof args[1] === 'string') {\n title = args[0];\n color = args[1];\n progress = args[2];\n }\n } else if (args.length === 1) {\n if (typeof args[0] === 'number') {\n progress = args[0];\n title = args[1];\n color = args[2];\n }\n }\n\n var infinite = typeof progress === 'undefined';\n var dialog = new _dialog_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, {\n title: typeof title === 'undefined' ? app.params.dialog.progressTitle : title,\n cssClass: 'dialog-progress',\n content: \"\\n <div class=\\\"progressbar\".concat(infinite ? '-infinite' : '').concat(color ? \" color-\".concat(color) : '', \"\\\">\\n \").concat(!infinite ? '<span></span>' : '', \"\\n </div>\\n \"),\n destroyOnClose: destroyOnClose\n });\n if (!infinite) dialog.setProgress(progress);\n return dialog.open();\n }\n });\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/dialog/dialog.js?");
  352. /***/ }),
  353. /***/ "./node_modules/framework7/components/elevation/elevation.js":
  354. /*!*******************************************************************!*\
  355. !*** ./node_modules/framework7/components/elevation/elevation.js ***!
  356. \*******************************************************************/
  357. /*! exports provided: default */
  358. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  359. "use strict";
  360. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'elevation'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/elevation/elevation.js?");
  361. /***/ }),
  362. /***/ "./node_modules/framework7/components/fab/fab.js":
  363. /*!*******************************************************!*\
  364. !*** ./node_modules/framework7/components/fab/fab.js ***!
  365. \*******************************************************/
  366. /*! exports provided: default */
  367. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  368. "use strict";
  369. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Fab = {\n morphOpen: function morphOpen(fabEl, targetEl) {\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl);\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(targetEl);\n if ($targetEl.length === 0) return;\n $targetEl.transition(0).addClass('fab-morph-target-visible');\n var target = {\n width: $targetEl[0].offsetWidth,\n height: $targetEl[0].offsetHeight,\n offset: $targetEl.offset(),\n borderRadius: $targetEl.css('border-radius'),\n zIndex: $targetEl.css('z-index')\n };\n var fab = {\n width: $fabEl[0].offsetWidth,\n height: $fabEl[0].offsetHeight,\n offset: $fabEl.offset(),\n translateX: _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate($fabEl[0], 'x'),\n translateY: _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate($fabEl[0], 'y')\n };\n $fabEl[0].f7FabMorphData = {\n $targetEl: $targetEl,\n target: target,\n fab: fab\n };\n var diffX = fab.offset.left + fab.width / 2 - (target.offset.left + target.width / 2) - fab.translateX;\n var diffY = fab.offset.top + fab.height / 2 - (target.offset.top + target.height / 2) - fab.translateY;\n var scaleX = target.width / fab.width;\n var scaleY = target.height / fab.height;\n var borderRadius = Math.ceil(parseInt(target.borderRadius, 10) / Math.max(scaleX, scaleY));\n if (borderRadius > 0) borderRadius += 2;\n\n $fabEl[0].f7FabMorphResizeHandler = function resizeHandler() {\n $fabEl.transition(0).transform('');\n $targetEl.transition(0);\n target.width = $targetEl[0].offsetWidth;\n target.height = $targetEl[0].offsetHeight;\n target.offset = $targetEl.offset();\n fab.offset = $fabEl.offset();\n var diffXNew = fab.offset.left + fab.width / 2 - (target.offset.left + target.width / 2) - fab.translateX;\n var diffYNew = fab.offset.top + fab.height / 2 - (target.offset.top + target.height / 2) - fab.translateY;\n var scaleXNew = target.width / fab.width;\n var scaleYNew = target.height / fab.height;\n $fabEl.transform(\"translate3d(\".concat(-diffXNew, \"px, \").concat(-diffYNew, \"px, 0) scale(\").concat(scaleXNew, \", \").concat(scaleYNew, \")\"));\n };\n\n $targetEl.css('opacity', 0).transform(\"scale(\".concat(1 / scaleX, \", \").concat(1 / scaleY, \")\"));\n $fabEl.addClass('fab-opened').css('z-index', target.zIndex - 1).transform(\"translate3d(\".concat(-diffX, \"px, \").concat(-diffY, \"px, 0)\"));\n $fabEl.transitionEnd(function () {\n $targetEl.transition('');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $targetEl.css('opacity', 1).transform('scale(1,1)');\n $fabEl.transform(\"translate3d(\".concat(-diffX, \"px, \").concat(-diffY, \"px, 0) scale(\").concat(scaleX, \", \").concat(scaleY, \")\")).css('border-radius', \"\".concat(borderRadius, \"px\")).css('box-shadow', 'none');\n });\n app.on('resize', $fabEl[0].f7FabMorphResizeHandler);\n\n if ($targetEl.parents('.page-content').length > 0) {\n $targetEl.parents('.page-content').on('scroll', $fabEl[0].f7FabMorphResizeHandler);\n }\n });\n },\n morphClose: function morphClose(fabEl) {\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl);\n var morphData = $fabEl[0].f7FabMorphData;\n if (!morphData) return;\n var $targetEl = morphData.$targetEl,\n target = morphData.target,\n fab = morphData.fab;\n if ($targetEl.length === 0) return;\n var diffX = fab.offset.left + fab.width / 2 - (target.offset.left + target.width / 2) - fab.translateX;\n var diffY = fab.offset.top + fab.height / 2 - (target.offset.top + target.height / 2) - fab.translateY;\n var scaleX = target.width / fab.width;\n var scaleY = target.height / fab.height;\n app.off('resize', $fabEl[0].f7FabMorphResizeHandler);\n\n if ($targetEl.parents('.page-content').length > 0) {\n $targetEl.parents('.page-content').off('scroll', $fabEl[0].f7FabMorphResizeHandler);\n }\n\n $targetEl.css('opacity', 0).transform(\"scale(\".concat(1 / scaleX, \", \").concat(1 / scaleY, \")\"));\n $fabEl.transition('').css('box-shadow', '').css('border-radius', '').transform(\"translate3d(\".concat(-diffX, \"px, \").concat(-diffY, \"px, 0)\"));\n $fabEl.transitionEnd(function () {\n $fabEl.css('z-index', '').removeClass('fab-opened').transform('');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $fabEl.transitionEnd(function () {\n $targetEl.removeClass('fab-morph-target-visible').css('opacity', '').transform('').transition('');\n });\n });\n });\n },\n open: function open(fabEl, targetEl) {\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl).eq(0);\n var $buttonsEl = $fabEl.find('.fab-buttons');\n if (!$fabEl.length) return;\n if ($fabEl.hasClass('fab-opened')) return;\n if (!$buttonsEl.length && !$fabEl.hasClass('fab-morph')) return;\n\n if (app.fab.openedEl) {\n if (app.fab.openedEl === $fabEl[0]) return;\n app.fab.close(app.fab.openedEl);\n }\n\n app.fab.openedEl = $fabEl[0];\n\n if ($fabEl.hasClass('fab-morph')) {\n app.fab.morphOpen($fabEl, targetEl || $fabEl.attr('data-morph-to'));\n } else {\n $fabEl.addClass('fab-opened');\n }\n\n $fabEl.trigger('fab:open');\n },\n close: function close() {\n var fabEl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.fab-opened';\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl).eq(0);\n var $buttonsEl = $fabEl.find('.fab-buttons');\n if (!$fabEl.length) return;\n if (!$fabEl.hasClass('fab-opened')) return;\n if (!$buttonsEl.length && !$fabEl.hasClass('fab-morph')) return;\n app.fab.openedEl = null;\n\n if ($fabEl.hasClass('fab-morph')) {\n app.fab.morphClose($fabEl);\n } else {\n $fabEl.removeClass('fab-opened');\n }\n\n $fabEl.trigger('fab:close');\n },\n toggle: function toggle(fabEl) {\n var app = this;\n var $fabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(fabEl);\n if (!$fabEl.hasClass('fab-opened')) app.fab.open(fabEl);else app.fab.close(fabEl);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'fab',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n fab: {\n openedEl: null,\n morphOpen: Fab.morphOpen.bind(app),\n morphClose: Fab.morphClose.bind(app),\n open: Fab.open.bind(app),\n close: Fab.close.bind(app),\n toggle: Fab.toggle.bind(app)\n }\n });\n },\n clicks: {\n '.fab > a': function open($clickedEl) {\n var app = this;\n app.fab.toggle($clickedEl.parents('.fab'));\n },\n '.fab-open': function open($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.fab.open(data.fab);\n },\n '.fab-close': function close($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.fab.close(data.fab);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/fab/fab.js?");
  370. /***/ }),
  371. /***/ "./node_modules/framework7/components/form/form.js":
  372. /*!*********************************************************!*\
  373. !*** ./node_modules/framework7/components/form/form.js ***!
  374. \*********************************************************/
  375. /*! exports provided: default */
  376. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  377. "use strict";
  378. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n // Form Data\n\nvar FormData = {\n store: function store(form, data) {\n var app = this;\n var formId = form;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(form);\n\n if ($formEl.length && $formEl.is('form') && $formEl.attr('id')) {\n formId = $formEl.attr('id');\n } // Store form data in app.formsData\n\n\n app.form.data[\"form-\".concat(formId)] = data; // Store form data in local storage also\n\n try {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)] = JSON.stringify(data);\n } catch (e) {\n throw e;\n }\n },\n get: function get(form) {\n var app = this;\n var formId = form;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(form);\n\n if ($formEl.length && $formEl.is('form') && $formEl.attr('id')) {\n formId = $formEl.attr('id');\n }\n\n try {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)]) {\n return JSON.parse(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)]);\n }\n } catch (e) {\n throw e;\n }\n\n if (app.form.data[\"form-\".concat(formId)]) {\n return app.form.data[\"form-\".concat(formId)];\n }\n\n return undefined;\n },\n remove: function remove(form) {\n var app = this;\n var formId = form;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(form);\n\n if ($formEl.length && $formEl.is('form') && $formEl.attr('id')) {\n formId = $formEl.attr('id');\n } // Delete form data from app.formsData\n\n\n if (app.form.data[\"form-\".concat(formId)]) {\n app.form.data[\"form-\".concat(formId)] = '';\n delete app.form.data[\"form-\".concat(formId)];\n } // Delete form data from local storage also\n\n\n try {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)]) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage[\"f7form-\".concat(formId)] = '';\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].localStorage.removeItem(\"f7form-\".concat(formId));\n }\n } catch (e) {\n throw e;\n }\n }\n}; // Form Storage\n\nvar FormStorage = {\n init: function init(formEl) {\n var app = this;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(formEl);\n var formId = $formEl.attr('id');\n if (!formId) return;\n var initialData = app.form.getFormData(formId);\n\n if (initialData) {\n app.form.fillFromData($formEl, initialData);\n }\n\n function store() {\n var data = app.form.convertToData($formEl);\n if (!data) return;\n app.form.storeFormData(formId, data);\n $formEl.trigger('form:storedata', data);\n app.emit('formStoreData', $formEl[0], data);\n }\n\n $formEl.on('change submit', store);\n },\n destroy: function destroy(formEl) {\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(formEl);\n $formEl.off('change submit');\n }\n}; // Form To/From Data\n\nfunction formToData(formEl) {\n var app = this;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(formEl).eq(0);\n if ($formEl.length === 0) return undefined; // Form data\n\n var data = {}; // Skip input types\n\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n $formEl.find('input, select, textarea').each(function (inputIndex, inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n\n if ($inputEl.hasClass('ignore-store-data') || $inputEl.hasClass('no-store-data')) {\n return;\n }\n\n var name = $inputEl.attr('name');\n var type = $inputEl.attr('type');\n var tag = inputEl.nodeName.toLowerCase();\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n\n if (tag === 'select' && $inputEl.prop('multiple')) {\n skipNames.push(name);\n data[name] = [];\n $formEl.find(\"select[name=\\\"\".concat(name, \"\\\"] option\")).each(function (index, el) {\n if (el.selected) data[name].push(el.value);\n });\n } else {\n switch (type) {\n case 'checkbox':\n skipNames.push(name);\n data[name] = [];\n $formEl.find(\"input[name=\\\"\".concat(name, \"\\\"]\")).each(function (index, el) {\n if (el.checked) data[name].push(el.value);\n });\n break;\n\n case 'radio':\n skipNames.push(name);\n $formEl.find(\"input[name=\\\"\".concat(name, \"\\\"]\")).each(function (index, el) {\n if (el.checked) data[name] = el.value;\n });\n break;\n\n default:\n data[name] = $inputEl.val();\n break;\n }\n }\n });\n $formEl.trigger('form:todata', data);\n app.emit('formToData', $formEl[0], data);\n return data;\n}\n\nfunction formFromData(formEl, formData) {\n var app = this;\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(formEl).eq(0);\n if (!$formEl.length) return;\n var data = formData;\n var formId = $formEl.attr('id');\n\n if (!data && formId) {\n data = app.form.getFormData(formId);\n }\n\n if (!data) return; // Skip input types\n\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n $formEl.find('input, select, textarea').each(function (inputIndex, inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n\n if ($inputEl.hasClass('ignore-store-data') || $inputEl.hasClass('no-store-data')) {\n return;\n }\n\n var name = $inputEl.attr('name');\n var type = $inputEl.attr('type');\n var tag = inputEl.nodeName.toLowerCase();\n if (typeof data[name] === 'undefined' || data[name] === null) return;\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n\n if (tag === 'select' && $inputEl.prop('multiple')) {\n skipNames.push(name);\n $formEl.find(\"select[name=\\\"\".concat(name, \"\\\"] option\")).each(function (index, el) {\n var selectEl = el;\n if (data[name].indexOf(el.value) >= 0) selectEl.selected = true;else selectEl.selected = false;\n });\n } else {\n switch (type) {\n case 'checkbox':\n skipNames.push(name);\n $formEl.find(\"input[name=\\\"\".concat(name, \"\\\"]\")).each(function (index, el) {\n var checkboxEl = el;\n if (data[name].indexOf(el.value) >= 0) checkboxEl.checked = true;else checkboxEl.checked = false;\n });\n break;\n\n case 'radio':\n skipNames.push(name);\n $formEl.find(\"input[name=\\\"\".concat(name, \"\\\"]\")).each(function (index, el) {\n var radioEl = el;\n if (data[name] === el.value) radioEl.checked = true;else radioEl.checked = false;\n });\n break;\n\n default:\n $inputEl.val(data[name]);\n break;\n }\n }\n\n if (tag === 'select' || tag === 'input' || tag === 'textarea') {\n $inputEl.trigger('change', 'fromdata');\n }\n });\n $formEl.trigger('form:fromdata', data);\n app.emit('formFromData', $formEl[0], data);\n}\n\nfunction initAjaxForm() {\n var app = this;\n\n function onSubmitChange(e, fromData) {\n var $formEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n if (e.type === 'change' && !$formEl.hasClass('form-ajax-submit-onchange')) return;\n if (e.type === 'submit') e.preventDefault();\n if (e.type === 'change' && fromData === 'fromdata') return;\n var method = ($formEl.attr('method') || 'GET').toUpperCase();\n var contentType = $formEl.prop('enctype') || $formEl.attr('enctype');\n var url = $formEl.attr('action');\n if (!url) return;\n var data;\n\n if (method === 'POST') {\n if (contentType === 'application/x-www-form-urlencoded') {\n data = app.form.convertToData($formEl[0]);\n } else {\n data = new ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].FormData($formEl[0]);\n }\n } else {\n data = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].serializeObject(app.form.convertToData($formEl[0]));\n }\n\n app.request({\n method: method,\n url: url,\n contentType: contentType,\n data: data,\n beforeSend: function beforeSend(xhr) {\n $formEl.trigger('formajax:beforesend', {\n data: data,\n xhr: xhr\n });\n app.emit('formAjaxBeforeSend', $formEl[0], data, xhr);\n },\n error: function error(xhr) {\n $formEl.trigger('formajax:error', {\n data: data,\n xhr: xhr\n });\n app.emit('formAjaxError', $formEl[0], data, xhr);\n },\n complete: function complete(xhr) {\n $formEl.trigger('formajax:complete', {\n data: data,\n xhr: xhr\n });\n app.emit('formAjaxComplete', $formEl[0], data, xhr);\n },\n success: function success(response, status, xhr) {\n $formEl.trigger('formajax:success', {\n data: data,\n xhr: xhr\n });\n app.emit('formAjaxSuccess', $formEl[0], data, xhr);\n }\n });\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('submit change', 'form.form-ajax-submit, form.form-ajax-submit-onchange', onSubmitChange);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'form',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n form: {\n data: {},\n storeFormData: FormData.store.bind(app),\n getFormData: FormData.get.bind(app),\n removeFormData: FormData.remove.bind(app),\n convertToData: formToData.bind(app),\n fillFromData: formFromData.bind(app),\n storage: {\n init: FormStorage.init.bind(app),\n destroy: FormStorage.destroy.bind(app)\n }\n }\n });\n },\n on: {\n init: function init() {\n var app = this;\n initAjaxForm.call(app);\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.form-store-data').each(function (index, formEl) {\n app.form.storage.destroy(formEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.form-store-data').each(function (index, formEl) {\n app.form.storage.init(formEl);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.form-store-data').each(function (index, formEl) {\n app.form.storage.destroy(formEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.form-store-data').each(function (index, formEl) {\n app.form.storage.init(formEl);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/form/form.js?");
  379. /***/ }),
  380. /***/ "./node_modules/framework7/components/gauge/gauge-class.js":
  381. /*!*****************************************************************!*\
  382. !*** ./node_modules/framework7/components/gauge/gauge-class.js ***!
  383. \*****************************************************************/
  384. /*! exports provided: default */
  385. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  386. "use strict";
  387. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint no-nested-ternary: off */\n\n\n\n\nvar Gauge = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Gauge, _Framework7Class);\n\n var _super = _createSuper(Gauge);\n\n function Gauge(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Gauge);\n\n // Extends with open/close Modal methods;\n _this = _super.call(this, params, [app]);\n\n var gauge = _assertThisInitialized(_this);\n\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, app.params.gauge); // Extend defaults with modules params\n\n gauge.useModulesParams(defaults);\n gauge.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var el = gauge.params.el;\n if (!el) return _possibleConstructorReturn(_this, gauge);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, gauge);\n if ($el[0].f7Gauge) return _possibleConstructorReturn(_this, $el[0].f7Gauge);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(gauge, {\n app: app,\n $el: $el,\n el: $el && $el[0]\n });\n $el[0].f7Gauge = gauge; // Install Modules\n\n gauge.useModules();\n gauge.init();\n return _possibleConstructorReturn(_this, gauge);\n }\n\n _createClass(Gauge, [{\n key: \"calcRadius\",\n value: function calcRadius() {\n var gauge = this;\n var _gauge$params = gauge.params,\n size = _gauge$params.size,\n borderWidth = _gauge$params.borderWidth;\n return size / 2 - borderWidth / 2;\n }\n }, {\n key: \"calcBorderLength\",\n value: function calcBorderLength() {\n var gauge = this;\n var radius = gauge.calcRadius();\n return 2 * Math.PI * radius;\n }\n }, {\n key: \"render\",\n value: function render() {\n var gauge = this;\n if (gauge.params.render) return gauge.params.render.call(gauge, gauge);\n var _gauge$params2 = gauge.params,\n type = _gauge$params2.type,\n value = _gauge$params2.value,\n size = _gauge$params2.size,\n bgColor = _gauge$params2.bgColor,\n borderBgColor = _gauge$params2.borderBgColor,\n borderColor = _gauge$params2.borderColor,\n borderWidth = _gauge$params2.borderWidth,\n valueText = _gauge$params2.valueText,\n valueTextColor = _gauge$params2.valueTextColor,\n valueFontSize = _gauge$params2.valueFontSize,\n valueFontWeight = _gauge$params2.valueFontWeight,\n labelText = _gauge$params2.labelText,\n labelTextColor = _gauge$params2.labelTextColor,\n labelFontSize = _gauge$params2.labelFontSize,\n labelFontWeight = _gauge$params2.labelFontWeight;\n var semiCircle = type === 'semicircle';\n var radius = gauge.calcRadius();\n var length = gauge.calcBorderLength();\n var progress = Math.max(Math.min(value, 1), 0);\n return \"\\n <svg class=\\\"gauge-svg\\\" width=\\\"\".concat(size, \"px\\\" height=\\\"\").concat(semiCircle ? size / 2 : size, \"px\\\" viewBox=\\\"0 0 \").concat(size, \" \").concat(semiCircle ? size / 2 : size, \"\\\">\\n \").concat(semiCircle ? \"\\n <path\\n class=\\\"gauge-back-semi\\\"\\n d=\\\"M\".concat(size - borderWidth / 2, \",\").concat(size / 2, \" a1,1 0 0,0 -\").concat(size - borderWidth, \",0\\\"\\n stroke=\\\"\").concat(borderBgColor, \"\\\"\\n stroke-width=\\\"\").concat(borderWidth, \"\\\"\\n fill=\\\"\").concat(bgColor || 'none', \"\\\"\\n />\\n <path\\n class=\\\"gauge-front-semi\\\"\\n d=\\\"M\").concat(size - borderWidth / 2, \",\").concat(size / 2, \" a1,1 0 0,0 -\").concat(size - borderWidth, \",0\\\"\\n stroke=\\\"\").concat(borderColor, \"\\\"\\n stroke-width=\\\"\").concat(borderWidth, \"\\\"\\n stroke-dasharray=\\\"\").concat(length / 2, \"\\\"\\n stroke-dashoffset=\\\"\").concat(length / 2 * (1 + progress), \"\\\"\\n fill=\\\"\").concat(borderBgColor ? 'none' : bgColor || 'none', \"\\\"\\n />\\n \") : \"\\n \".concat(borderBgColor ? \"\\n <circle\\n class=\\\"gauge-back-circle\\\"\\n stroke=\\\"\".concat(borderBgColor, \"\\\"\\n stroke-width=\\\"\").concat(borderWidth, \"\\\"\\n fill=\\\"\").concat(bgColor || 'none', \"\\\"\\n cx=\\\"\").concat(size / 2, \"\\\"\\n cy=\\\"\").concat(size / 2, \"\\\"\\n r=\\\"\").concat(radius, \"\\\"\\n ></circle>\\n \") : '', \"\\n <circle\\n class=\\\"gauge-front-circle\\\"\\n transform=\\\"\", \"rotate(-90 \".concat(size / 2, \" \").concat(size / 2, \")\"), \"\\\"\\n stroke=\\\"\").concat(borderColor, \"\\\"\\n stroke-width=\\\"\").concat(borderWidth, \"\\\"\\n stroke-dasharray=\\\"\").concat(length, \"\\\"\\n stroke-dashoffset=\\\"\").concat(length * (1 - progress), \"\\\"\\n fill=\\\"\").concat(borderBgColor ? 'none' : bgColor || 'none', \"\\\"\\n cx=\\\"\").concat(size / 2, \"\\\"\\n cy=\\\"\").concat(size / 2, \"\\\"\\n r=\\\"\").concat(radius, \"\\\"\\n ></circle>\\n \"), \"\\n \").concat(valueText ? \"\\n <text\\n class=\\\"gauge-value-text\\\"\\n x=\\\"50%\\\"\\n y=\\\"\".concat(semiCircle ? '100%' : '50%', \"\\\"\\n font-weight=\\\"\").concat(valueFontWeight, \"\\\"\\n font-size=\\\"\").concat(valueFontSize, \"\\\"\\n fill=\\\"\").concat(valueTextColor, \"\\\"\\n dy=\\\"\").concat(semiCircle ? labelText ? -labelFontSize - 15 : -5 : 0, \"\\\"\\n text-anchor=\\\"middle\\\"\\n dominant-baseline=\\\"\").concat(!semiCircle && 'middle', \"\\\"\\n >\").concat(valueText, \"</text>\\n \") : '', \"\\n \").concat(labelText ? \"\\n <text\\n class=\\\"gauge-label-text\\\"\\n x=\\\"50%\\\"\\n y=\\\"\".concat(semiCircle ? '100%' : '50%', \"\\\"\\n font-weight=\\\"\").concat(labelFontWeight, \"\\\"\\n font-size=\\\"\").concat(labelFontSize, \"\\\"\\n fill=\\\"\").concat(labelTextColor, \"\\\"\\n dy=\\\"\").concat(semiCircle ? -5 : valueText ? valueFontSize / 2 + 10 : 0, \"\\\"\\n text-anchor=\\\"middle\\\"\\n dominant-baseline=\\\"\").concat(!semiCircle && 'middle', \"\\\"\\n >\").concat(labelText, \"</text>\\n \") : '', \"\\n </svg>\\n \").trim();\n }\n }, {\n key: \"update\",\n value: function update() {\n var newParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var gauge = this;\n var params = gauge.params,\n $gaugeSvgEl = gauge.$gaugeSvgEl;\n Object.keys(newParams).forEach(function (param) {\n if (typeof newParams[param] !== 'undefined') {\n params[param] = newParams[param];\n }\n });\n if ($gaugeSvgEl.length === 0) return gauge;\n var value = params.value,\n size = params.size,\n bgColor = params.bgColor,\n borderBgColor = params.borderBgColor,\n borderColor = params.borderColor,\n borderWidth = params.borderWidth,\n valueText = params.valueText,\n valueTextColor = params.valueTextColor,\n valueFontSize = params.valueFontSize,\n valueFontWeight = params.valueFontWeight,\n labelText = params.labelText,\n labelTextColor = params.labelTextColor,\n labelFontSize = params.labelFontSize,\n labelFontWeight = params.labelFontWeight;\n var length = gauge.calcBorderLength();\n var progress = Math.max(Math.min(value, 1), 0);\n var radius = gauge.calcRadius();\n var semiCircle = params.type === 'semicircle';\n var svgAttrs = {\n width: \"\".concat(size, \"px\"),\n height: \"\".concat(semiCircle ? size / 2 : size, \"px\"),\n viewBox: \"0 0 \".concat(size, \" \").concat(semiCircle ? size / 2 : size)\n };\n Object.keys(svgAttrs).forEach(function (attr) {\n $gaugeSvgEl.attr(attr, svgAttrs[attr]);\n });\n\n if (semiCircle) {\n var backAttrs = {\n d: \"M\".concat(size - borderWidth / 2, \",\").concat(size / 2, \" a1,1 0 0,0 -\").concat(size - borderWidth, \",0\"),\n stroke: borderBgColor,\n 'stroke-width': borderWidth,\n fill: bgColor || 'none'\n };\n var frontAttrs = {\n d: \"M\".concat(size - borderWidth / 2, \",\").concat(size / 2, \" a1,1 0 0,0 -\").concat(size - borderWidth, \",0\"),\n stroke: borderColor,\n 'stroke-width': borderWidth,\n 'stroke-dasharray': length / 2,\n 'stroke-dashoffset': length / 2 * (progress - 1),\n fill: borderBgColor ? 'none' : bgColor || 'none'\n };\n Object.keys(backAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-back-semi').attr(attr, backAttrs[attr]);\n });\n Object.keys(frontAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-front-semi').attr(attr, frontAttrs[attr]);\n });\n } else {\n var _backAttrs = {\n stroke: borderBgColor,\n 'stroke-width': borderWidth,\n fill: bgColor || 'none',\n cx: size / 2,\n cy: size / 2,\n r: radius\n };\n var _frontAttrs = {\n transform: \"rotate(-90 \".concat(size / 2, \" \").concat(size / 2, \")\"),\n stroke: borderColor,\n 'stroke-width': borderWidth,\n 'stroke-dasharray': length,\n 'stroke-dashoffset': length * (1 - progress),\n fill: borderBgColor ? 'none' : bgColor || 'none',\n cx: size / 2,\n cy: size / 2,\n r: radius\n };\n Object.keys(_backAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-back-circle').attr(attr, _backAttrs[attr]);\n });\n Object.keys(_frontAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-front-circle').attr(attr, _frontAttrs[attr]);\n });\n }\n\n if (valueText) {\n if (!$gaugeSvgEl.find('.gauge-value-text').length) {\n $gaugeSvgEl.append('<text class=\"gauge-value-text\"></text>');\n }\n\n var textAttrs = {\n x: '50%',\n y: semiCircle ? '100%' : '50%',\n 'font-weight': valueFontWeight,\n 'font-size': valueFontSize,\n fill: valueTextColor,\n dy: semiCircle ? labelText ? -labelFontSize - 15 : -5 : 0,\n 'text-anchor': 'middle',\n 'dominant-baseline': !semiCircle && 'middle'\n };\n Object.keys(textAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-value-text').attr(attr, textAttrs[attr]);\n });\n $gaugeSvgEl.find('.gauge-value-text').text(valueText);\n } else {\n $gaugeSvgEl.find('.gauge-value-text').remove();\n }\n\n if (labelText) {\n if (!$gaugeSvgEl.find('.gauge-label-text').length) {\n $gaugeSvgEl.append('<text class=\"gauge-label-text\"></text>');\n }\n\n var labelAttrs = {\n x: '50%',\n y: semiCircle ? '100%' : '50%',\n 'font-weight': labelFontWeight,\n 'font-size': labelFontSize,\n fill: labelTextColor,\n dy: semiCircle ? -5 : valueText ? valueFontSize / 2 + 10 : 0,\n 'text-anchor': 'middle',\n 'dominant-baseline': !semiCircle && 'middle'\n };\n Object.keys(labelAttrs).forEach(function (attr) {\n $gaugeSvgEl.find('.gauge-label-text').attr(attr, labelAttrs[attr]);\n });\n $gaugeSvgEl.find('.gauge-label-text').text(labelText);\n } else {\n $gaugeSvgEl.find('.gauge-label-text').remove();\n }\n\n return gauge;\n }\n }, {\n key: \"init\",\n value: function init() {\n var gauge = this;\n var $gaugeSvgEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(gauge.render()).eq(0);\n $gaugeSvgEl.f7Gauge = gauge;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(gauge, {\n $gaugeSvgEl: $gaugeSvgEl,\n gaugeSvgEl: $gaugeSvgEl && $gaugeSvgEl[0]\n });\n gauge.$el.append($gaugeSvgEl);\n return gauge;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var gauge = this;\n if (!gauge.$el || gauge.destroyed) return;\n gauge.$el.trigger('gauge:beforedestroy', gauge);\n gauge.emit('local::beforeDestroy gaugeBeforeDestroy', gauge);\n gauge.$gaugeSvgEl.remove();\n delete gauge.$el[0].f7Gauge;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(gauge);\n gauge.destroyed = true;\n }\n }]);\n\n return Gauge;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Gauge);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/gauge/gauge-class.js?");
  388. /***/ }),
  389. /***/ "./node_modules/framework7/components/gauge/gauge.js":
  390. /*!***********************************************************!*\
  391. !*** ./node_modules/framework7/components/gauge/gauge.js ***!
  392. \***********************************************************/
  393. /*! exports provided: default */
  394. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  395. "use strict";
  396. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _gauge_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./gauge-class */ \"./node_modules/framework7/components/gauge/gauge-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'gauge',\n static: {\n Gauge: _gauge_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.gauge = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.gauge',\n constructor: _gauge_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7Gauge'\n });\n\n app.gauge.update = function update(el, newParams) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var gauge = app.gauge.get(el);\n if (!gauge) return undefined;\n gauge.update(newParams);\n return gauge;\n };\n },\n params: {\n gauge: {\n el: null,\n type: 'circle',\n value: 0,\n size: 200,\n bgColor: 'transparent',\n borderBgColor: '#eeeeee',\n borderColor: '#000000',\n borderWidth: 10,\n valueText: null,\n valueTextColor: '#000000',\n valueFontSize: 31,\n valueFontWeight: 500,\n labelText: null,\n labelTextColor: '#888888',\n labelFontSize: 14,\n labelFontWeight: 400\n }\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.gauge-init').each(function (index, el) {\n app.gauge.create(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend({\n el: el\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).dataset() || {}));\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.gauge-init').each(function (index, el) {\n if (el.f7Gauge) el.f7Gauge.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.gauge-init').each(function (index, el) {\n app.gauge.create(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend({\n el: el\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).dataset() || {}));\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.gauge-init').each(function (index, el) {\n if (el.f7Gauge) el.f7Gauge.destroy();\n });\n }\n },\n vnode: {\n 'gauge-init': {\n insert: function insert(vnode) {\n var app = this;\n var el = vnode.elm;\n app.gauge.create(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend({\n el: el\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).dataset() || {}));\n },\n destroy: function destroy(vnode) {\n var el = vnode.elm;\n if (el.f7Gauge) el.f7Gauge.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/gauge/gauge.js?");
  397. /***/ }),
  398. /***/ "./node_modules/framework7/components/grid/grid.js":
  399. /*!*********************************************************!*\
  400. !*** ./node_modules/framework7/components/grid/grid.js ***!
  401. \*********************************************************/
  402. /*! exports provided: default */
  403. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  404. "use strict";
  405. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'grid'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/grid/grid.js?");
  406. /***/ }),
  407. /***/ "./node_modules/framework7/components/infinite-scroll/infinite-scroll.js":
  408. /*!*******************************************************************************!*\
  409. !*** ./node_modules/framework7/components/infinite-scroll/infinite-scroll.js ***!
  410. \*******************************************************************************/
  411. /*! exports provided: default */
  412. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  413. "use strict";
  414. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar InfiniteScroll = {\n handleScroll: function handleScroll(el, e) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var scrollTop = $el[0].scrollTop;\n var scrollHeight = $el[0].scrollHeight;\n var height = $el[0].offsetHeight;\n var distance = $el[0].getAttribute('data-infinite-distance');\n var virtualListContainer = $el.find('.virtual-list');\n var virtualList;\n var onTop = $el.hasClass('infinite-scroll-top');\n if (!distance) distance = 50;\n\n if (typeof distance === 'string' && distance.indexOf('%') >= 0) {\n distance = parseInt(distance, 10) / 100 * height;\n }\n\n if (distance > height) distance = height;\n\n if (onTop) {\n if (scrollTop < distance) {\n $el.trigger('infinite', e);\n app.emit('infinite', $el[0], e);\n }\n } else if (scrollTop + height >= scrollHeight - distance) {\n if (virtualListContainer.length > 0) {\n virtualList = virtualListContainer.eq(-1)[0].f7VirtualList;\n\n if (virtualList && !virtualList.reachEnd && !virtualList.params.updatableScroll) {\n return;\n }\n }\n\n $el.trigger('infinite', e);\n app.emit('infinite', $el[0], e);\n }\n },\n create: function create(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var app = this;\n\n function scrollHandler(e) {\n app.infiniteScroll.handle(this, e);\n }\n\n $el.each(function (index, element) {\n element.f7InfiniteScrollHandler = scrollHandler;\n element.addEventListener('scroll', element.f7InfiniteScrollHandler);\n });\n },\n destroy: function destroy(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n $el.each(function (index, element) {\n element.removeEventListener('scroll', element.f7InfiniteScrollHandler);\n delete element.f7InfiniteScrollHandler;\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'infiniteScroll',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n infiniteScroll: {\n handle: InfiniteScroll.handleScroll.bind(app),\n create: InfiniteScroll.create.bind(app),\n destroy: InfiniteScroll.destroy.bind(app)\n }\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n var $isEls = $tabEl.find('.infinite-scroll-content');\n if ($tabEl.is('.infinite-scroll-content')) $isEls.add($tabEl);\n $isEls.each(function (index, el) {\n app.infiniteScroll.create(el);\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n var app = this;\n var $isEls = $tabEl.find('.infinite-scroll-content');\n if ($tabEl.is('.infinite-scroll-content')) $isEls.add($tabEl);\n $isEls.each(function (index, el) {\n app.infiniteScroll.destroy(el);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.infinite-scroll-content').each(function (index, el) {\n app.infiniteScroll.create(el);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.infinite-scroll-content').each(function (index, el) {\n app.infiniteScroll.destroy(el);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/infinite-scroll/infinite-scroll.js?");
  415. /***/ }),
  416. /***/ "./node_modules/framework7/components/input/input.js":
  417. /*!***********************************************************!*\
  418. !*** ./node_modules/framework7/components/input/input.js ***!
  419. \***********************************************************/
  420. /*! exports provided: default */
  421. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  422. "use strict";
  423. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n\n\n\n\nvar Input = {\n ignoreTypes: ['checkbox', 'button', 'submit', 'range', 'radio', 'image'],\n createTextareaResizableShadow: function createTextareaResizableShadow() {\n var $shadowEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"].createElement('textarea'));\n $shadowEl.addClass('textarea-resizable-shadow');\n $shadowEl.prop({\n disabled: true,\n readonly: true\n });\n Input.textareaResizableShadow = $shadowEl;\n },\n textareaResizableShadow: undefined,\n resizeTextarea: function resizeTextarea(textareaEl) {\n var app = this;\n var $textareaEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(textareaEl);\n\n if (!Input.textareaResizableShadow) {\n Input.createTextareaResizableShadow();\n }\n\n var $shadowEl = Input.textareaResizableShadow;\n if (!$textareaEl.length) return;\n if (!$textareaEl.hasClass('resizable')) return;\n\n if (Input.textareaResizableShadow.parents().length === 0) {\n app.root.append($shadowEl);\n }\n\n var styles = ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].getComputedStyle($textareaEl[0]);\n 'padding-top padding-bottom padding-left padding-right margin-left margin-right margin-top margin-bottom width font-size font-family font-style font-weight line-height font-variant text-transform letter-spacing border box-sizing display'.split(' ').forEach(function (style) {\n var styleValue = styles[style];\n\n if ('font-size line-height letter-spacing width'.split(' ').indexOf(style) >= 0) {\n styleValue = styleValue.replace(',', '.');\n }\n\n $shadowEl.css(style, styleValue);\n });\n var currentHeight = $textareaEl[0].clientHeight;\n $shadowEl.val('');\n var initialHeight = $shadowEl[0].scrollHeight;\n $shadowEl.val($textareaEl.val());\n $shadowEl.css('height', 0);\n var scrollHeight = $shadowEl[0].scrollHeight;\n\n if (currentHeight !== scrollHeight) {\n if (scrollHeight > initialHeight) {\n $textareaEl.css('height', \"\".concat(scrollHeight, \"px\"));\n $textareaEl.trigger('textarea:resize', {\n initialHeight: initialHeight,\n currentHeight: currentHeight,\n scrollHeight: scrollHeight\n });\n } else if (scrollHeight < currentHeight) {\n $textareaEl.css('height', '');\n $textareaEl.trigger('textarea:resize', {\n initialHeight: initialHeight,\n currentHeight: currentHeight,\n scrollHeight: scrollHeight\n });\n }\n }\n },\n validate: function validate(inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n if (!$inputEl.length) return;\n var $itemInputEl = $inputEl.parents('.item-input');\n var $inputWrapEl = $inputEl.parents('.input');\n var validity = $inputEl[0].validity;\n var validationMessage = $inputEl.dataset().errorMessage || $inputEl[0].validationMessage || '';\n if (!validity) return;\n\n if (!validity.valid) {\n var $errorEl = $inputEl.nextAll('.item-input-error-message, .input-error-message');\n\n if (validationMessage) {\n if ($errorEl.length === 0) {\n $errorEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"\".concat($inputWrapEl.length ? 'input-error-message' : 'item-input-error-message', \"\\\"></div>\"));\n $errorEl.insertAfter($inputEl);\n }\n\n $errorEl.text(validationMessage);\n }\n\n if ($errorEl.length > 0) {\n $itemInputEl.addClass('item-input-with-error-message');\n $inputWrapEl.addClass('input-with-error-message');\n }\n\n $itemInputEl.addClass('item-input-invalid');\n $inputWrapEl.addClass('input-invalid');\n $inputEl.addClass('input-invalid');\n } else {\n $itemInputEl.removeClass('item-input-invalid item-input-with-error-message');\n $inputWrapEl.removeClass('input-invalid input-with-error-message');\n $inputEl.removeClass('input-invalid');\n }\n },\n validateInputs: function validateInputs(el) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).find('input, textarea, select').each(function (index, inputEl) {\n app.input.validate(inputEl);\n });\n },\n focus: function focus(inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n var type = $inputEl.attr('type');\n if (Input.ignoreTypes.indexOf(type) >= 0) return;\n $inputEl.parents('.item-input').addClass('item-input-focused');\n $inputEl.parents('.input').addClass('input-focused');\n $inputEl.addClass('input-focused');\n },\n blur: function blur(inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n $inputEl.parents('.item-input').removeClass('item-input-focused');\n $inputEl.parents('.input').removeClass('input-focused');\n $inputEl.removeClass('input-focused');\n },\n checkEmptyState: function checkEmptyState(inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n\n if (!$inputEl.is('input, select, textarea')) {\n $inputEl = $inputEl.find('input, select, textarea').eq(0);\n }\n\n if (!$inputEl.length) return;\n var value = $inputEl.val();\n var $itemInputEl = $inputEl.parents('.item-input');\n var $inputWrapEl = $inputEl.parents('.input');\n\n if (value && typeof value === 'string' && value.trim() !== '' || Array.isArray(value) && value.length > 0) {\n $itemInputEl.addClass('item-input-with-value');\n $inputWrapEl.addClass('input-with-value');\n $inputEl.addClass('input-with-value');\n $inputEl.trigger('input:notempty');\n } else {\n $itemInputEl.removeClass('item-input-with-value');\n $inputWrapEl.removeClass('input-with-value');\n $inputEl.removeClass('input-with-value');\n $inputEl.trigger('input:empty');\n }\n },\n scrollIntoView: function scrollIntoView(inputEl) {\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var centered = arguments.length > 2 ? arguments[2] : undefined;\n var force = arguments.length > 3 ? arguments[3] : undefined;\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n var $scrollableEl = $inputEl.parents('.page-content, .panel').eq(0);\n\n if (!$scrollableEl.length) {\n return false;\n }\n\n var contentHeight = $scrollableEl[0].offsetHeight;\n var contentScrollTop = $scrollableEl[0].scrollTop;\n var contentPaddingTop = parseInt($scrollableEl.css('padding-top'), 10);\n var contentPaddingBottom = parseInt($scrollableEl.css('padding-bottom'), 10);\n var contentOffsetTop = $scrollableEl.offset().top - contentScrollTop;\n var inputOffsetTop = $inputEl.offset().top - contentOffsetTop;\n var inputHeight = $inputEl[0].offsetHeight;\n var min = inputOffsetTop + contentScrollTop - contentPaddingTop;\n var max = inputOffsetTop + contentScrollTop - contentHeight + contentPaddingBottom + inputHeight;\n var centeredPosition = min + (max - min) / 2;\n\n if (contentScrollTop > min) {\n $scrollableEl.scrollTop(centered ? centeredPosition : min, duration);\n return true;\n }\n\n if (contentScrollTop < max) {\n $scrollableEl.scrollTop(centered ? centeredPosition : max, duration);\n return true;\n }\n\n if (force) {\n $scrollableEl.scrollTop(centered ? centeredPosition : max, duration);\n }\n\n return false;\n },\n init: function init() {\n var app = this;\n Input.createTextareaResizableShadow();\n\n function onFocus() {\n var inputEl = this;\n\n if (app.params.input.scrollIntoViewOnFocus) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"]).once('resize', function () {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"] && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"].activeElement === inputEl) {\n app.input.scrollIntoView(inputEl, app.params.input.scrollIntoViewDuration, app.params.input.scrollIntoViewCentered, app.params.input.scrollIntoViewAlways);\n }\n });\n } else {\n app.input.scrollIntoView(inputEl, app.params.input.scrollIntoViewDuration, app.params.input.scrollIntoViewCentered, app.params.input.scrollIntoViewAlways);\n }\n }\n\n app.input.focus(inputEl);\n }\n\n function onBlur() {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var tag = $inputEl[0].nodeName.toLowerCase();\n app.input.blur($inputEl);\n\n if ($inputEl.dataset().validate || $inputEl.attr('validate') !== null || $inputEl.attr('data-validate-on-blur') !== null) {\n app.input.validate($inputEl);\n } // Resize textarea\n\n\n if (tag === 'textarea' && $inputEl.hasClass('resizable')) {\n if (Input.textareaResizableShadow) Input.textareaResizableShadow.remove();\n }\n }\n\n function onChange() {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var type = $inputEl.attr('type');\n var tag = $inputEl[0].nodeName.toLowerCase();\n if (Input.ignoreTypes.indexOf(type) >= 0) return; // Check Empty State\n\n app.input.checkEmptyState($inputEl); // Check validation\n\n if ($inputEl.attr('data-validate-on-blur') === null && ($inputEl.dataset().validate || $inputEl.attr('validate') !== null)) {\n app.input.validate($inputEl);\n } // Resize textarea\n\n\n if (tag === 'textarea' && $inputEl.hasClass('resizable')) {\n app.input.resizeTextarea($inputEl);\n }\n }\n\n function onInvalid(e) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n\n if ($inputEl.attr('data-validate-on-blur') === null && ($inputEl.dataset().validate || $inputEl.attr('validate') !== null)) {\n e.preventDefault();\n app.input.validate($inputEl);\n }\n }\n\n function clearInput() {\n var $clicked = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n var $inputEl = $clicked.siblings('input, textarea').eq(0);\n var previousValue = $inputEl.val();\n $inputEl.val('').trigger('input change').focus().trigger('input:clear', previousValue);\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('click', '.input-clear-button', clearInput);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('change input', 'input, textarea, select', onChange, true);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('focus', 'input, textarea, select', onFocus, true);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('blur', 'input, textarea, select', onBlur, true);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('invalid', 'input, textarea, select', onInvalid, true);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'input',\n params: {\n input: {\n scrollIntoViewOnFocus: _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android,\n scrollIntoViewCentered: false,\n scrollIntoViewDuration: 0,\n scrollIntoViewAlways: false\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n input: {\n scrollIntoView: Input.scrollIntoView.bind(app),\n focus: Input.focus.bind(app),\n blur: Input.blur.bind(app),\n validate: Input.validate.bind(app),\n validateInputs: Input.validateInputs.bind(app),\n checkEmptyState: Input.checkEmptyState.bind(app),\n resizeTextarea: Input.resizeTextarea.bind(app),\n init: Input.init.bind(app)\n }\n });\n },\n on: {\n init: function init() {\n var app = this;\n app.input.init();\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n $tabEl.find('.item-input, .input').each(function (itemInputIndex, itemInputEl) {\n var $itemInputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemInputEl);\n $itemInputEl.find('input, select, textarea').each(function (inputIndex, inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n if (Input.ignoreTypes.indexOf($inputEl.attr('type')) >= 0) return;\n app.input.checkEmptyState($inputEl);\n });\n });\n $tabEl.find('textarea.resizable').each(function (textareaIndex, textareaEl) {\n app.input.resizeTextarea(textareaEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n var $pageEl = page.$el;\n $pageEl.find('.item-input, .input').each(function (itemInputIndex, itemInputEl) {\n var $itemInputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemInputEl);\n $itemInputEl.find('input, select, textarea').each(function (inputIndex, inputEl) {\n var $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl);\n if (Input.ignoreTypes.indexOf($inputEl.attr('type')) >= 0) return;\n app.input.checkEmptyState($inputEl);\n });\n });\n $pageEl.find('textarea.resizable').each(function (textareaIndex, textareaEl) {\n app.input.resizeTextarea(textareaEl);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/input/input.js?");
  424. /***/ }),
  425. /***/ "./node_modules/framework7/components/lazy/lazy.js":
  426. /*!*********************************************************!*\
  427. !*** ./node_modules/framework7/components/lazy/lazy.js ***!
  428. \*********************************************************/
  429. /*! exports provided: default */
  430. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  431. "use strict";
  432. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n\n\n\n\nvar Lazy = {\n destroy: function destroy(pageEl) {\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl).closest('.page');\n if (!$pageEl.length) return;\n\n if ($pageEl[0].f7LazyDestroy) {\n $pageEl[0].f7LazyDestroy();\n }\n },\n create: function create(pageEl) {\n var app = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl).closest('.page').eq(0); // Lazy images\n\n var $lazyLoadImages = $pageEl.find('.lazy');\n if ($lazyLoadImages.length === 0 && !$pageEl.hasClass('lazy')) return; // Placeholder\n\n var placeholderSrc = app.params.lazy.placeholder;\n\n if (placeholderSrc !== false) {\n $lazyLoadImages.each(function (index, lazyEl) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lazyEl).attr('data-src') && !Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lazyEl).attr('src')) Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lazyEl).attr('src', placeholderSrc);\n });\n } // load image\n\n\n var imagesSequence = [];\n var imageIsLoading = false;\n\n function onImageComplete(lazyEl) {\n if (imagesSequence.indexOf(lazyEl) >= 0) {\n imagesSequence.splice(imagesSequence.indexOf(lazyEl), 1);\n }\n\n imageIsLoading = false;\n\n if (app.params.lazy.sequential && imagesSequence.length > 0) {\n imageIsLoading = true;\n app.lazy.loadImage(imagesSequence[0], onImageComplete);\n }\n }\n\n function observerCallback(entries, observer) {\n entries.forEach(function (entry) {\n if (entry.isIntersecting) {\n if (app.params.lazy.sequential && imageIsLoading) {\n if (imagesSequence.indexOf(entry.target) < 0) imagesSequence.push(entry.target);\n return;\n } // Load image\n\n\n imageIsLoading = true;\n app.lazy.loadImage(entry.target, onImageComplete); // Detach\n\n observer.unobserve(entry.target);\n }\n });\n }\n\n if (app.params.lazy.observer && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].intersectionObserver) {\n var observer = $pageEl[0].f7LazyObserver;\n\n if (!observer) {\n observer = new ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].IntersectionObserver(observerCallback, {\n root: $pageEl[0]\n });\n }\n\n $lazyLoadImages.each(function (index, el) {\n if (el.f7LazyObserverAdded) return;\n el.f7LazyObserverAdded = true;\n observer.observe(el);\n });\n\n if (!$pageEl[0].f7LazyDestroy) {\n $pageEl[0].f7LazyDestroy = function () {\n observer.disconnect();\n delete $pageEl[0].f7LazyDestroy;\n delete $pageEl[0].f7LazyObserver;\n };\n }\n\n return;\n }\n\n function lazyHandler() {\n app.lazy.load($pageEl, function (lazyEl) {\n if (app.params.lazy.sequential && imageIsLoading) {\n if (imagesSequence.indexOf(lazyEl) < 0) imagesSequence.push(lazyEl);\n return;\n }\n\n imageIsLoading = true;\n app.lazy.loadImage(lazyEl, onImageComplete);\n });\n }\n\n function attachEvents() {\n $pageEl[0].f7LazyAttached = true;\n $pageEl.on('lazy', lazyHandler);\n $pageEl.on('scroll', lazyHandler, true);\n $pageEl.find('.tab').on('tab:mounted tab:show', lazyHandler);\n app.on('resize', lazyHandler);\n }\n\n function detachEvents() {\n $pageEl[0].f7LazyAttached = false;\n delete $pageEl[0].f7LazyAttached;\n $pageEl.off('lazy', lazyHandler);\n $pageEl.off('scroll', lazyHandler, true);\n $pageEl.find('.tab').off('tab:mounted tab:show', lazyHandler);\n app.off('resize', lazyHandler);\n } // Store detach function\n\n\n if (!$pageEl[0].f7LazyDestroy) {\n $pageEl[0].f7LazyDestroy = detachEvents;\n } // Attach events\n\n\n if (!$pageEl[0].f7LazyAttached) {\n attachEvents();\n } // Run loader on page load/init\n\n\n lazyHandler();\n },\n isInViewport: function isInViewport(lazyEl) {\n var app = this;\n var rect = lazyEl.getBoundingClientRect();\n var threshold = app.params.lazy.threshold || 0;\n return rect.top >= 0 - threshold && rect.left >= 0 - threshold && rect.top <= app.height + threshold && rect.left <= app.width + threshold;\n },\n loadImage: function loadImage(imageEl, callback) {\n var app = this;\n var $imageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(imageEl);\n var bg = $imageEl.attr('data-background');\n var src = bg || $imageEl.attr('data-src');\n if (!src) return;\n\n function onLoad() {\n $imageEl.removeClass('lazy').addClass('lazy-loaded');\n\n if (bg) {\n $imageEl.css('background-image', \"url(\".concat(src, \")\"));\n } else {\n $imageEl.attr('src', src);\n }\n\n if (callback) callback(imageEl);\n $imageEl.trigger('lazy:loaded');\n app.emit('lazyLoaded', $imageEl[0]);\n }\n\n function onError() {\n $imageEl.removeClass('lazy').addClass('lazy-loaded');\n\n if (bg) {\n $imageEl.css('background-image', \"url(\".concat(app.params.lazy.placeholder || '', \")\"));\n } else {\n $imageEl.attr('src', app.params.lazy.placeholder || '');\n }\n\n if (callback) callback(imageEl);\n $imageEl.trigger('lazy:error');\n app.emit('lazyError', $imageEl[0]);\n }\n\n var image = new ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].Image();\n image.onload = onLoad;\n image.onerror = onError;\n image.src = src;\n $imageEl.removeAttr('data-src').removeAttr('data-background'); // Add loaded callback and events\n\n $imageEl.trigger('lazy:load');\n app.emit('lazyLoad', $imageEl[0]);\n },\n load: function load(pageEl, callback) {\n var app = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl);\n if (!$pageEl.hasClass('page')) $pageEl = $pageEl.parents('.page').eq(0);\n\n if ($pageEl.length === 0) {\n return;\n }\n\n $pageEl.find('.lazy').each(function (index, lazyEl) {\n var $lazyEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lazyEl);\n\n if ($lazyEl.parents('.tab:not(.tab-active)').length > 0) {\n return;\n }\n\n if (app.lazy.isInViewport(lazyEl)) {\n if (callback) callback(lazyEl);else app.lazy.loadImage(lazyEl);\n }\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'lazy',\n params: {\n lazy: {\n placeholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==',\n threshold: 0,\n sequential: true,\n observer: true\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n lazy: {\n create: Lazy.create.bind(app),\n destroy: Lazy.destroy.bind(app),\n loadImage: Lazy.loadImage.bind(app),\n load: Lazy.load.bind(app),\n isInViewport: Lazy.isInViewport.bind(app)\n }\n });\n },\n on: {\n pageInit: function pageInit(page) {\n var app = this;\n\n if (page.$el.find('.lazy').length > 0 || page.$el.hasClass('lazy')) {\n app.lazy.create(page.$el);\n }\n },\n pageAfterIn: function pageAfterIn(page) {\n var app = this;\n if (app.params.lazy.observer && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].intersectionObserver) return;\n\n if (page.$el.find('.lazy').length > 0 || page.$el.hasClass('lazy')) {\n app.lazy.create(page.$el);\n }\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n\n if (page.$el.find('.lazy').length > 0 || page.$el.hasClass('lazy')) {\n app.lazy.destroy(page.$el);\n }\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n\n if ($tabEl.find('.lazy').length > 0 || $tabEl.hasClass('lazy')) {\n app.lazy.create($tabEl);\n }\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n if (app.params.lazy.observer && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].intersectionObserver) return;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n\n if ($tabEl.find('.lazy').length > 0 || $tabEl.hasClass('lazy')) {\n app.lazy.destroy($tabEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/lazy/lazy.js?");
  433. /***/ }),
  434. /***/ "./node_modules/framework7/components/list-index/list-index-class.js":
  435. /*!***************************************************************************!*\
  436. !*** ./node_modules/framework7/components/list-index/list-index-class.js ***!
  437. \***************************************************************************/
  438. /*! exports provided: default */
  439. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  440. "use strict";
  441. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar ListIndex = /*#__PURE__*/function (_Framework7Class) {\n _inherits(ListIndex, _Framework7Class);\n\n var _super = _createSuper(ListIndex);\n\n function ListIndex(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ListIndex);\n\n _this = _super.call(this, params, [app]);\n\n var index = _assertThisInitialized(_this);\n\n var defaults = {\n el: null,\n // where to render indexes\n listEl: null,\n // list el to generate indexes\n indexes: 'auto',\n // or array of indexes\n iosItemHeight: 14,\n mdItemHeight: 14,\n auroraItemHeight: 14,\n scrollList: true,\n label: false,\n // eslint-disable-next-line\n renderItem: function renderItem(itemContent, itemIndex) {\n return \"\\n <li>\".concat(itemContent, \"</li>\\n \").trim();\n },\n renderSkipPlaceholder: function renderSkipPlaceholder() {\n return '<li class=\"list-index-skip-placeholder\"></li>';\n },\n on: {}\n }; // Extend defaults with modules params\n\n index.useModulesParams(defaults);\n index.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var $el;\n var $listEl;\n var $pageContentEl;\n var $ul;\n\n if (index.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(index.params.el);\n } else {\n return _possibleConstructorReturn(_this, index);\n }\n\n if ($el[0].f7ListIndex) {\n return _possibleConstructorReturn(_this, $el[0].f7ListIndex);\n }\n\n $ul = $el.find('ul');\n\n if ($ul.length === 0) {\n $ul = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<ul></ul>');\n $el.append($ul);\n }\n\n if (index.params.listEl) {\n $listEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(index.params.listEl);\n }\n\n if (index.params.indexes === 'auto' && !$listEl) {\n return _possibleConstructorReturn(_this, index);\n }\n\n if ($listEl) {\n $pageContentEl = $listEl.parents('.page-content').eq(0);\n } else {\n $pageContentEl = $el.siblings('.page-content').eq(0);\n\n if ($pageContentEl.length === 0) {\n $pageContentEl = $el.parents('.page').eq(0).find('.page-content').eq(0);\n }\n }\n\n $el[0].f7ListIndex = index;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(index, {\n app: app,\n $el: $el,\n el: $el && $el[0],\n $ul: $ul,\n ul: $ul && $ul[0],\n $listEl: $listEl,\n listEl: $listEl && $listEl[0],\n $pageContentEl: $pageContentEl,\n pageContentEl: $pageContentEl && $pageContentEl[0],\n indexes: params.indexes,\n height: 0,\n skipRate: 0\n }); // Install Modules\n\n index.useModules(); // Attach events\n\n function handleResize() {\n var height = {\n index: index\n };\n index.calcSize();\n\n if (height !== index.height) {\n index.render();\n }\n }\n\n function handleClick(e) {\n var $clickedLi = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('li');\n if (!$clickedLi.length) return;\n var itemIndex = $clickedLi.index();\n\n if (index.skipRate > 0) {\n var percentage = itemIndex / ($clickedLi.siblings('li').length - 1);\n itemIndex = Math.round((index.indexes.length - 1) * percentage);\n }\n\n var itemContent = index.indexes[itemIndex];\n index.$el.trigger('listindex:click', itemContent, itemIndex);\n index.emit('local::click listIndexClick', index, itemContent, itemIndex);\n index.$el.trigger('listindex:select', itemContent, itemIndex);\n index.emit('local::select listIndexSelect', index, itemContent, itemIndex);\n\n if (index.$listEl && index.params.scrollList) {\n index.scrollListToIndex(itemContent, itemIndex);\n }\n }\n\n var touchesStart = {};\n var isTouched;\n var isMoved;\n var topPoint;\n var bottomPoint;\n var $labelEl;\n var previousIndex = null;\n\n function handleTouchStart(e) {\n var $children = $ul.children();\n if (!$children.length) return;\n topPoint = $children[0].getBoundingClientRect().top;\n bottomPoint = $children[$children.length - 1].getBoundingClientRect().top + $children[0].offsetHeight;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n isTouched = true;\n isMoved = false;\n previousIndex = null;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n\n if (!isMoved && index.params.label) {\n $labelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<span class=\"list-index-label\"></span>');\n $el.append($labelEl);\n }\n\n isMoved = true;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n e.preventDefault();\n var percentage = (pageY - topPoint) / (bottomPoint - topPoint);\n percentage = Math.min(Math.max(percentage, 0), 1);\n var itemIndex = Math.round((index.indexes.length - 1) * percentage);\n var itemContent = index.indexes[itemIndex];\n var ulHeight = bottomPoint - topPoint;\n var bubbleBottom = (index.height - ulHeight) / 2 + (1 - percentage) * ulHeight;\n\n if (itemIndex !== previousIndex) {\n if (index.params.label) {\n $labelEl.html(itemContent).transform(\"translateY(-\".concat(bubbleBottom, \"px)\"));\n }\n\n if (index.$listEl && index.params.scrollList) {\n index.scrollListToIndex(itemContent, itemIndex);\n }\n }\n\n previousIndex = itemIndex;\n index.$el.trigger('listindex:select', index);\n index.emit('local::select listIndexSelect', index, itemContent, itemIndex);\n }\n\n function handleTouchEnd() {\n if (!isTouched) return;\n isTouched = false;\n isMoved = false;\n\n if (index.params.label) {\n if ($labelEl) $labelEl.remove();\n $labelEl = undefined;\n }\n }\n\n var passiveListener = app.support.passiveListener ? {\n passive: true\n } : false;\n\n index.attachEvents = function attachEvents() {\n $el.parents('.tab').on('tab:show', handleResize);\n $el.parents('.page').on('page:reinit', handleResize);\n $el.parents('.panel').on('panel:open', handleResize);\n $el.parents('.sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast').on('modal:open', handleResize);\n app.on('resize', handleResize);\n $el.on('click', handleClick);\n $el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n };\n\n index.detachEvents = function attachEvents() {\n $el.parents('.tab').off('tab:show', handleResize);\n $el.parents('.page').off('page:reinit', handleResize);\n $el.parents('.panel').off('panel:open', handleResize);\n $el.parents('.sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast').off('modal:open', handleResize);\n app.off('resize', handleResize);\n $el.off('click', handleClick);\n $el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }; // Init\n\n\n index.init();\n return _possibleConstructorReturn(_this, index);\n } // eslint-disable-next-line\n\n\n _createClass(ListIndex, [{\n key: \"scrollListToIndex\",\n value: function scrollListToIndex(itemContent, itemIndex) {\n var index = this;\n var $listEl = index.$listEl,\n $pageContentEl = index.$pageContentEl,\n app = index.app;\n if (!$listEl || !$pageContentEl || $pageContentEl.length === 0) return index;\n var $scrollToEl;\n $listEl.find('.list-group-title, .item-divider').each(function (elIndex, el) {\n if ($scrollToEl) return;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n\n if ($el.text() === itemContent) {\n $scrollToEl = $el;\n }\n });\n if (!$scrollToEl || $scrollToEl.length === 0) return index;\n var parentTop = $scrollToEl.parent().offset().top;\n var paddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n var scrollTop = $pageContentEl[0].scrollTop;\n var scrollToElTop = $scrollToEl.offset().top;\n\n if ($pageContentEl.parents('.page-with-navbar-large').length) {\n var navbarInnerEl = app.navbar.getElByPage($pageContentEl.parents('.page-with-navbar-large').eq(0));\n var $titleLargeEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).find('.title-large');\n\n if ($titleLargeEl.length) {\n paddingTop -= $titleLargeEl[0].offsetHeight || 0;\n }\n }\n\n if (parentTop <= paddingTop) {\n $pageContentEl.scrollTop(parentTop + scrollTop - paddingTop);\n } else {\n $pageContentEl.scrollTop(scrollToElTop + scrollTop - paddingTop);\n }\n\n return index;\n }\n }, {\n key: \"renderSkipPlaceholder\",\n value: function renderSkipPlaceholder() {\n var index = this;\n return index.params.renderSkipPlaceholder.call(index);\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(itemContent, itemIndex) {\n var index = this;\n return index.params.renderItem.call(index, itemContent, itemIndex);\n }\n }, {\n key: \"render\",\n value: function render() {\n var index = this;\n var $ul = index.$ul,\n indexes = index.indexes,\n skipRate = index.skipRate;\n var wasSkipped;\n var html = indexes.map(function (itemContent, itemIndex) {\n if (itemIndex % skipRate !== 0 && skipRate > 0) {\n wasSkipped = true;\n return '';\n }\n\n var itemHtml = index.renderItem(itemContent, itemIndex);\n\n if (wasSkipped) {\n itemHtml = index.renderSkipPlaceholder() + itemHtml;\n }\n\n wasSkipped = false;\n return itemHtml;\n }).join('');\n $ul.html(html);\n return index;\n }\n }, {\n key: \"calcSize\",\n value: function calcSize() {\n var index = this;\n var app = index.app,\n params = index.params,\n el = index.el,\n indexes = index.indexes;\n var height = el.offsetHeight;\n var itemHeight = params[\"\".concat(app.theme, \"ItemHeight\")];\n var maxItems = Math.floor(height / itemHeight);\n var items = indexes.length;\n var skipRate = 0;\n\n if (items > maxItems) {\n skipRate = Math.ceil((items * 2 - 1) / maxItems);\n }\n\n index.height = height;\n index.skipRate = skipRate;\n return index;\n }\n }, {\n key: \"calcIndexes\",\n value: function calcIndexes() {\n var index = this;\n\n if (index.params.indexes === 'auto') {\n index.indexes = [];\n index.$listEl.find('.list-group-title, .item-divider').each(function (elIndex, el) {\n var elContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).text();\n\n if (index.indexes.indexOf(elContent) < 0) {\n index.indexes.push(elContent);\n }\n });\n } else {\n index.indexes = index.params.indexes;\n }\n\n return index;\n }\n }, {\n key: \"update\",\n value: function update() {\n var index = this;\n index.calcIndexes();\n index.calcSize();\n index.render();\n return index;\n }\n }, {\n key: \"init\",\n value: function init() {\n var index = this;\n index.calcIndexes();\n index.calcSize();\n index.render();\n index.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var index = this;\n index.$el.trigger('listindex:beforedestroy', index);\n index.emit('local::beforeDestroy listIndexBeforeDestroy', index);\n index.detachEvents();\n\n if (index.$el[0]) {\n index.$el[0].f7ListIndex = null;\n delete index.$el[0].f7ListIndex;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(index);\n index = null;\n }\n }]);\n\n return ListIndex;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ListIndex);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/list-index/list-index-class.js?");
  442. /***/ }),
  443. /***/ "./node_modules/framework7/components/list-index/list-index.js":
  444. /*!*********************************************************************!*\
  445. !*** ./node_modules/framework7/components/list-index/list-index.js ***!
  446. \*********************************************************************/
  447. /*! exports provided: default */
  448. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  449. "use strict";
  450. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _list_index_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./list-index-class */ \"./node_modules/framework7/components/list-index/list-index-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'listIndex',\n static: {\n ListIndex: _list_index_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.listIndex = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.list-index',\n constructor: _list_index_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7ListIndex'\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.list-index-init').each(function (index, listIndexEl) {\n var params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(listIndexEl).dataset(), {\n el: listIndexEl\n });\n app.listIndex.create(params);\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.list-index-init').each(function (index, listIndexEl) {\n if (listIndexEl.f7ListIndex) listIndexEl.f7ListIndex.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.list-index-init').each(function (index, listIndexEl) {\n var params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(listIndexEl).dataset(), {\n el: listIndexEl\n });\n app.listIndex.create(params);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.list-index-init').each(function (index, listIndexEl) {\n if (listIndexEl.f7ListIndex) listIndexEl.f7ListIndex.destroy();\n });\n }\n },\n vnode: {\n 'list-index-init': {\n insert: function insert(vnode) {\n var app = this;\n var listIndexEl = vnode.elm;\n var params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(listIndexEl).dataset(), {\n el: listIndexEl\n });\n app.listIndex.create(params);\n },\n destroy: function destroy(vnode) {\n var listIndexEl = vnode.elm;\n if (listIndexEl.f7ListIndex) listIndexEl.f7ListIndex.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/list-index/list-index.js?");
  451. /***/ }),
  452. /***/ "./node_modules/framework7/components/login-screen/login-screen-class.js":
  453. /*!*******************************************************************************!*\
  454. !*** ./node_modules/framework7/components/login-screen/login-screen-class.js ***!
  455. \*******************************************************************************/
  456. /*! exports provided: default */
  457. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  458. "use strict";
  459. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar LoginScreen = /*#__PURE__*/function (_Modal) {\n _inherits(LoginScreen, _Modal);\n\n var _super = _createSuper(LoginScreen);\n\n function LoginScreen(app, params) {\n var _this;\n\n _classCallCheck(this, LoginScreen);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var loginScreen = _assertThisInitialized(_this);\n\n loginScreen.params = extendedParams; // Find Element\n\n var $el;\n\n if (!loginScreen.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(loginScreen.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(loginScreen.params.el).eq(0);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, loginScreen.destroy());\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(loginScreen, {\n app: app,\n $el: $el,\n el: $el[0],\n type: 'loginScreen'\n });\n $el[0].f7Modal = loginScreen;\n return _possibleConstructorReturn(_this, loginScreen);\n }\n\n return LoginScreen;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LoginScreen);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/login-screen/login-screen-class.js?");
  460. /***/ }),
  461. /***/ "./node_modules/framework7/components/login-screen/login-screen.js":
  462. /*!*************************************************************************!*\
  463. !*** ./node_modules/framework7/components/login-screen/login-screen.js ***!
  464. \*************************************************************************/
  465. /*! exports provided: default */
  466. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  467. "use strict";
  468. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _login_screen_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./login-screen-class */ \"./node_modules/framework7/components/login-screen/login-screen-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'loginScreen',\n static: {\n LoginScreen: _login_screen_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.loginScreen = Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n app: app,\n constructor: _login_screen_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n defaultSelector: '.login-screen.modal-in'\n });\n },\n clicks: {\n '.login-screen-open': function openLoginScreen($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.loginScreen.open(data.loginScreen, data.animate);\n },\n '.login-screen-close': function closeLoginScreen($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.loginScreen.close(data.loginScreen, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/login-screen/login-screen.js?");
  469. /***/ }),
  470. /***/ "./node_modules/framework7/components/menu/menu.js":
  471. /*!*********************************************************!*\
  472. !*** ./node_modules/framework7/components/menu/menu.js ***!
  473. \*********************************************************/
  474. /*! exports provided: default */
  475. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  476. "use strict";
  477. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n\nvar Menu = {\n open: function open() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.menu-item-dropdown';\n var app = this;\n if (!el) return;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).closest('.menu-item-dropdown');\n if (!$el.length) return;\n var $menuEl = $el.closest('.menu').eq(0);\n\n if ($menuEl.length) {\n var zIndex = $menuEl.css('z-index');\n var originalZIndex = $menuEl[0].style.zIndex;\n $menuEl.css('z-index', parseInt(zIndex || 0, 0) + 1);\n $menuEl[0].f7MenuZIndex = originalZIndex;\n }\n\n $el.eq(0).addClass('menu-item-dropdown-opened').trigger('menu:opened');\n app.emit('menuOpened', $el.eq(0)[0]);\n },\n close: function close() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.menu-item-dropdown-opened';\n var app = this;\n if (!el) return;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).closest('.menu-item-dropdown-opened');\n if (!$el.length) return;\n var $menuEl = $el.closest('.menu').eq(0);\n\n if ($menuEl.length) {\n var zIndex = $menuEl[0].f7MenuZIndex;\n $menuEl.css('z-index', zIndex);\n delete $menuEl[0].f7MenuZIndex;\n }\n\n $el.eq(0).removeClass('menu-item-dropdown-opened').trigger('menu:closed');\n app.emit('menuClosed', $el.eq(0)[0]);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'menu',\n create: function create() {\n var app = this;\n app.menu = {\n open: Menu.open.bind(app),\n close: Menu.close.bind(app)\n };\n },\n on: {\n click: function click(e) {\n var app = this;\n var openedMenus = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.menu-item-dropdown-opened');\n if (!openedMenus.length) return;\n openedMenus.each(function (index, el) {\n if (!Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.menu-item-dropdown-opened').length) {\n app.menu.close(el);\n }\n });\n }\n },\n clicks: {\n '.menu-item-dropdown': function onClick($clickedEl, dataset, e) {\n var app = this;\n\n if ($clickedEl.hasClass('menu-item-dropdown-opened')) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.menu-dropdown').length) return;\n app.menu.close($clickedEl);\n } else {\n app.menu.open($clickedEl);\n }\n },\n '.menu-close': function onClick() {\n var app = this;\n app.menu.close();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/menu/menu.js?");
  478. /***/ }),
  479. /***/ "./node_modules/framework7/components/messagebar/messagebar-class.js":
  480. /*!***************************************************************************!*\
  481. !*** ./node_modules/framework7/components/messagebar/messagebar-class.js ***!
  482. \***************************************************************************/
  483. /*! exports provided: default */
  484. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  485. "use strict";
  486. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar Messagebar = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Messagebar, _Framework7Class);\n\n var _super = _createSuper(Messagebar);\n\n function Messagebar(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Messagebar);\n\n _this = _super.call(this, params, [app]);\n\n var messagebar = _assertThisInitialized(_this);\n\n var defaults = {\n top: false,\n topOffset: 0,\n bottomOffset: 0,\n attachments: [],\n renderAttachments: undefined,\n renderAttachment: undefined,\n maxHeight: null,\n resizePage: true\n }; // Extend defaults with modules params\n\n messagebar.useModulesParams(defaults);\n messagebar.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params); // El\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebar.params.el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, messagebar);\n if ($el[0].f7Messagebar) return _possibleConstructorReturn(_this, $el[0].f7Messagebar);\n $el[0].f7Messagebar = messagebar; // Page and PageContent\n\n var $pageEl = $el.parents('.page').eq(0);\n var $pageContentEl = $pageEl.find('.page-content').eq(0); // Area\n\n var $areaEl = $el.find('.messagebar-area'); // Textarea\n\n var $textareaEl;\n\n if (messagebar.params.textareaEl) {\n $textareaEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebar.params.textareaEl);\n } else {\n $textareaEl = $el.find('textarea');\n } // Attachments & Library\n\n\n var $attachmentsEl = $el.find('.messagebar-attachments');\n var $sheetEl = $el.find('.messagebar-sheet');\n\n if (messagebar.params.top) {\n $el.addClass('messagebar-top');\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(messagebar, {\n $el: $el,\n el: $el[0],\n $areaEl: $areaEl,\n areaEl: $areaEl[0],\n $textareaEl: $textareaEl,\n textareaEl: $textareaEl[0],\n $attachmentsEl: $attachmentsEl,\n attachmentsEl: $attachmentsEl[0],\n attachmentsVisible: $attachmentsEl.hasClass('messagebar-attachments-visible'),\n $sheetEl: $sheetEl,\n sheetEl: $sheetEl[0],\n sheetVisible: $sheetEl.hasClass('messagebar-sheet-visible'),\n $pageEl: $pageEl,\n pageEl: $pageEl[0],\n $pageContentEl: $pageContentEl,\n pageContentEl: $pageContentEl,\n top: $el.hasClass('messagebar-top') || messagebar.params.top,\n attachments: []\n }); // Events\n\n function onAppResize() {\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n }\n\n function onSubmit(e) {\n e.preventDefault();\n }\n\n function onAttachmentClick(e) {\n var index = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).index();\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.messagebar-attachment-delete').length) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).trigger('messagebar:attachmentdelete', index);\n messagebar.emit('local::attachmentDelete messagebarAttachmentDelete', messagebar, this, index);\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).trigger('messagebar:attachmentclick', index);\n messagebar.emit('local::attachmentClick messagebarAttachmentClick', messagebar, this, index);\n }\n }\n\n function onTextareaChange() {\n messagebar.checkEmptyState();\n messagebar.$el.trigger('messagebar:change');\n messagebar.emit('local::change messagebarChange', messagebar);\n }\n\n function onTextareaFocus() {\n messagebar.sheetHide();\n messagebar.$el.addClass('messagebar-focused');\n messagebar.$el.trigger('messagebar:focus');\n messagebar.emit('local::focus messagebarFocus', messagebar);\n }\n\n function onTextareaBlur() {\n messagebar.$el.removeClass('messagebar-focused');\n messagebar.$el.trigger('messagebar:blur');\n messagebar.emit('local::blur messagebarBlur', messagebar);\n }\n\n messagebar.attachEvents = function attachEvents() {\n $el.on('textarea:resize', onAppResize);\n $el.on('submit', onSubmit);\n $el.on('click', '.messagebar-attachment', onAttachmentClick);\n $textareaEl.on('change input', onTextareaChange);\n $textareaEl.on('focus', onTextareaFocus);\n $textareaEl.on('blur', onTextareaBlur);\n app.on('resize', onAppResize);\n };\n\n messagebar.detachEvents = function detachEvents() {\n $el.off('textarea:resize', onAppResize);\n $el.off('submit', onSubmit);\n $el.off('click', '.messagebar-attachment', onAttachmentClick);\n $textareaEl.off('change input', onTextareaChange);\n $textareaEl.off('focus', onTextareaFocus);\n $textareaEl.off('blur', onTextareaBlur);\n app.off('resize', onAppResize);\n }; // Install Modules\n\n\n messagebar.useModules(); // Init\n\n messagebar.init();\n return _possibleConstructorReturn(_this, messagebar);\n }\n\n _createClass(Messagebar, [{\n key: \"focus\",\n value: function focus() {\n var messagebar = this;\n messagebar.$textareaEl.focus();\n return messagebar;\n }\n }, {\n key: \"blur\",\n value: function blur() {\n var messagebar = this;\n messagebar.$textareaEl.blur();\n return messagebar;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var messagebar = this;\n messagebar.$textareaEl.val('').trigger('change');\n return messagebar;\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var messagebar = this;\n return messagebar.$textareaEl.val().trim();\n }\n }, {\n key: \"setValue\",\n value: function setValue(value) {\n var messagebar = this;\n messagebar.$textareaEl.val(value).trigger('change');\n return messagebar;\n }\n }, {\n key: \"setPlaceholder\",\n value: function setPlaceholder(placeholder) {\n var messagebar = this;\n messagebar.$textareaEl.attr('placeholder', placeholder);\n return messagebar;\n }\n }, {\n key: \"resizePage\",\n value: function resizePage() {\n var messagebar = this;\n var params = messagebar.params,\n $el = messagebar.$el,\n top = messagebar.top,\n $pageEl = messagebar.$pageEl,\n $pageContentEl = messagebar.$pageContentEl,\n $areaEl = messagebar.$areaEl,\n $textareaEl = messagebar.$textareaEl,\n $sheetEl = messagebar.$sheetEl,\n $attachmentsEl = messagebar.$attachmentsEl;\n var elHeight = $el[0].offsetHeight;\n var maxHeight = params.maxHeight;\n\n if (top) {\n /*\n Disable at the moment\n const requiredPaddingTop = elHeight + params.topOffset;\n const currentPaddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n if (requiredPaddingTop !== currentPaddingTop) {\n if (!maxHeight) {\n maxHeight = $pageEl[0].offsetHeight - currentPaddingTop - $sheetEl.outerHeight() - $attachmentsEl.outerHeight() - parseInt($areaEl.css('margin-top'), 10) - parseInt($areaEl.css('margin-bottom'), 10);\n }\n $textareaEl.css('max-height', `${maxHeight}px`);\n $pageContentEl.css('padding-top', `${requiredPaddingTop}px`);\n $el.trigger('messagebar:resizePage');\n messagebar.emit('local::resizepage messagebarResizePage');\n }\n */\n } else {\n var currentPaddingBottom = parseInt($pageContentEl.css('padding-bottom'), 10);\n var requiredPaddingBottom = elHeight + params.bottomOffset;\n\n if (requiredPaddingBottom !== currentPaddingBottom && $pageContentEl.length) {\n var currentPaddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n var pageScrollHeight = $pageContentEl[0].scrollHeight;\n var pageOffsetHeight = $pageContentEl[0].offsetHeight;\n var pageScrollTop = $pageContentEl[0].scrollTop;\n var scrollOnBottom = pageScrollTop === pageScrollHeight - pageOffsetHeight;\n\n if (!maxHeight) {\n maxHeight = $pageEl[0].offsetHeight - currentPaddingTop - $sheetEl.outerHeight() - $attachmentsEl.outerHeight() - parseInt($areaEl.css('margin-top'), 10) - parseInt($areaEl.css('margin-bottom'), 10);\n }\n\n $textareaEl.css('max-height', \"\".concat(maxHeight, \"px\"));\n $pageContentEl.css('padding-bottom', \"\".concat(requiredPaddingBottom, \"px\"));\n\n if (scrollOnBottom) {\n $pageContentEl.scrollTop($pageContentEl[0].scrollHeight - pageOffsetHeight);\n }\n\n $el.trigger('messagebar:resizepage');\n messagebar.emit('local::resizePage messagebarResizePage', messagebar);\n }\n }\n }\n }, {\n key: \"checkEmptyState\",\n value: function checkEmptyState() {\n var messagebar = this;\n var $el = messagebar.$el,\n $textareaEl = messagebar.$textareaEl;\n var value = $textareaEl.val().trim();\n\n if (value && value.length) {\n $el.addClass('messagebar-with-value');\n } else {\n $el.removeClass('messagebar-with-value');\n }\n }\n }, {\n key: \"attachmentsCreate\",\n value: function attachmentsCreate() {\n var innerHTML = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var messagebar = this;\n var $attachmentsEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"messagebar-attachments\\\">\".concat(innerHTML, \"</div>\"));\n $attachmentsEl.insertBefore(messagebar.$textareaEl);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(messagebar, {\n $attachmentsEl: $attachmentsEl,\n attachmentsEl: $attachmentsEl[0]\n });\n return messagebar;\n }\n }, {\n key: \"attachmentsShow\",\n value: function attachmentsShow() {\n var innerHTML = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var messagebar = this;\n messagebar.$attachmentsEl = messagebar.$el.find('.messagebar-attachments');\n\n if (messagebar.$attachmentsEl.length === 0) {\n messagebar.attachmentsCreate(innerHTML);\n }\n\n messagebar.$el.addClass('messagebar-attachments-visible');\n messagebar.attachmentsVisible = true;\n\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n\n return messagebar;\n }\n }, {\n key: \"attachmentsHide\",\n value: function attachmentsHide() {\n var messagebar = this;\n messagebar.$el.removeClass('messagebar-attachments-visible');\n messagebar.attachmentsVisible = false;\n\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n\n return messagebar;\n }\n }, {\n key: \"attachmentsToggle\",\n value: function attachmentsToggle() {\n var messagebar = this;\n\n if (messagebar.attachmentsVisible) {\n messagebar.attachmentsHide();\n } else {\n messagebar.attachmentsShow();\n }\n\n return messagebar;\n }\n }, {\n key: \"renderAttachment\",\n value: function renderAttachment(attachment) {\n var messagebar = this;\n\n if (messagebar.params.renderAttachment) {\n return messagebar.params.renderAttachment.call(messagebar, attachment);\n }\n\n return \"\\n <div class=\\\"messagebar-attachment\\\">\\n <img src=\\\"\".concat(attachment, \"\\\">\\n <span class=\\\"messagebar-attachment-delete\\\"></span>\\n </div>\\n \");\n }\n }, {\n key: \"renderAttachments\",\n value: function renderAttachments() {\n var messagebar = this;\n var html;\n\n if (messagebar.params.renderAttachments) {\n html = messagebar.params.renderAttachments.call(messagebar, messagebar.attachments);\n } else {\n html = \"\".concat(messagebar.attachments.map(function (attachment) {\n return messagebar.renderAttachment(attachment);\n }).join(''));\n }\n\n if (messagebar.$attachmentsEl.length === 0) {\n messagebar.attachmentsCreate(html);\n } else {\n messagebar.$attachmentsEl.html(html);\n }\n }\n }, {\n key: \"sheetCreate\",\n value: function sheetCreate() {\n var innerHTML = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var messagebar = this;\n var $sheetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"messagebar-sheet\\\">\".concat(innerHTML, \"</div>\"));\n messagebar.$el.append($sheetEl);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(messagebar, {\n $sheetEl: $sheetEl,\n sheetEl: $sheetEl[0]\n });\n return messagebar;\n }\n }, {\n key: \"sheetShow\",\n value: function sheetShow() {\n var innerHTML = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var messagebar = this;\n messagebar.$sheetEl = messagebar.$el.find('.messagebar-sheet');\n\n if (messagebar.$sheetEl.length === 0) {\n messagebar.sheetCreate(innerHTML);\n }\n\n messagebar.$el.addClass('messagebar-sheet-visible');\n messagebar.sheetVisible = true;\n\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n\n return messagebar;\n }\n }, {\n key: \"sheetHide\",\n value: function sheetHide() {\n var messagebar = this;\n messagebar.$el.removeClass('messagebar-sheet-visible');\n messagebar.sheetVisible = false;\n\n if (messagebar.params.resizePage) {\n messagebar.resizePage();\n }\n\n return messagebar;\n }\n }, {\n key: \"sheetToggle\",\n value: function sheetToggle() {\n var messagebar = this;\n\n if (messagebar.sheetVisible) {\n messagebar.sheetHide();\n } else {\n messagebar.sheetShow();\n }\n\n return messagebar;\n }\n }, {\n key: \"init\",\n value: function init() {\n var messagebar = this;\n messagebar.attachEvents();\n messagebar.checkEmptyState();\n return messagebar;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var messagebar = this;\n messagebar.emit('local::beforeDestroy messagebarBeforeDestroy', messagebar);\n messagebar.$el.trigger('messagebar:beforedestroy', messagebar);\n messagebar.detachEvents();\n\n if (messagebar.$el[0]) {\n messagebar.$el[0].f7Messagebar = null;\n delete messagebar.$el[0].f7Messagebar;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(messagebar);\n }\n }]);\n\n return Messagebar;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Messagebar);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/messagebar/messagebar-class.js?");
  487. /***/ }),
  488. /***/ "./node_modules/framework7/components/messagebar/messagebar.js":
  489. /*!*********************************************************************!*\
  490. !*** ./node_modules/framework7/components/messagebar/messagebar.js ***!
  491. \*********************************************************************/
  492. /*! exports provided: default */
  493. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  494. "use strict";
  495. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _messagebar_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./messagebar-class */ \"./node_modules/framework7/components/messagebar/messagebar-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'messagebar',\n static: {\n Messagebar: _messagebar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.messagebar = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.messagebar',\n constructor: _messagebar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Messagebar',\n addMethods: 'clear getValue setValue setPlaceholder resizePage focus blur attachmentsCreate attachmentsShow attachmentsHide attachmentsToggle renderAttachments sheetCreate sheetShow sheetHide sheetToggle'.split(' ')\n });\n },\n on: {\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.messagebar-init').each(function (index, messagebarEl) {\n app.messagebar.destroy(messagebarEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.messagebar-init').each(function (index, messagebarEl) {\n app.messagebar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: messagebarEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebarEl).dataset()));\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.messagebar-init').each(function (index, messagebarEl) {\n app.messagebar.destroy(messagebarEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.messagebar-init').each(function (index, messagebarEl) {\n app.messagebar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: messagebarEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebarEl).dataset()));\n });\n }\n },\n vnode: {\n 'messagebar-init': {\n insert: function insert(vnode) {\n var app = this;\n var messagebarEl = vnode.elm;\n app.messagebar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: messagebarEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagebarEl).dataset()));\n },\n destroy: function destroy(vnode) {\n var app = this;\n var messagebarEl = vnode.elm;\n app.messagebar.destroy(messagebarEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/messagebar/messagebar.js?");
  496. /***/ }),
  497. /***/ "./node_modules/framework7/components/messages/messages-class.js":
  498. /*!***********************************************************************!*\
  499. !*** ./node_modules/framework7/components/messages/messages-class.js ***!
  500. \***********************************************************************/
  501. /*! exports provided: default */
  502. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  503. "use strict";
  504. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar Messages = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Messages, _Framework7Class);\n\n var _super = _createSuper(Messages);\n\n function Messages(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Messages);\n\n _this = _super.call(this, params, [app]);\n\n var m = _assertThisInitialized(_this);\n\n var defaults = {\n autoLayout: true,\n messages: [],\n newMessagesFirst: false,\n scrollMessages: true,\n scrollMessagesOnEdge: true,\n firstMessageRule: undefined,\n lastMessageRule: undefined,\n tailMessageRule: undefined,\n sameNameMessageRule: undefined,\n sameHeaderMessageRule: undefined,\n sameFooterMessageRule: undefined,\n sameAvatarMessageRule: undefined,\n customClassMessageRule: undefined,\n renderMessage: undefined\n }; // Extend defaults with modules params\n\n m.useModulesParams(defaults);\n m.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.el).eq(0);\n if ($el.length === 0) return _possibleConstructorReturn(_this, m);\n if ($el[0].f7Messages) return _possibleConstructorReturn(_this, $el[0].f7Messages);\n $el[0].f7Messages = m;\n var $pageContentEl = $el.closest('.page-content').eq(0);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(m, {\n messages: m.params.messages,\n $el: $el,\n el: $el[0],\n $pageContentEl: $pageContentEl,\n pageContentEl: $pageContentEl[0]\n }); // Install Modules\n\n m.useModules(); // Init\n\n m.init();\n return _possibleConstructorReturn(_this, m);\n } // eslint-disable-next-line\n\n\n _createClass(Messages, [{\n key: \"getMessageData\",\n value: function getMessageData(messageEl) {\n var $messageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messageEl);\n var data = {\n name: $messageEl.find('.message-name').html(),\n header: $messageEl.find('.message-header').html(),\n textHeader: $messageEl.find('.message-text-header').html(),\n textFooter: $messageEl.find('.message-text-footer').html(),\n footer: $messageEl.find('.message-footer').html(),\n isTitle: $messageEl.hasClass('messages-title'),\n type: $messageEl.hasClass('message-sent') ? 'sent' : 'received',\n text: $messageEl.find('.message-text').html(),\n image: $messageEl.find('.message-image').html(),\n imageSrc: $messageEl.find('.message-image img').attr('src'),\n typing: $messageEl.hasClass('message-typing')\n };\n\n if (data.isTitle) {\n data.text = $messageEl.html();\n }\n\n if (data.text && data.textHeader) {\n data.text = data.text.replace(\"<div class=\\\"message-text-header\\\">\".concat(data.textHeader, \"</div>\"), '');\n }\n\n if (data.text && data.textFooter) {\n data.text = data.text.replace(\"<div class=\\\"message-text-footer\\\">\".concat(data.textFooter, \"</div>\"), '');\n }\n\n var avatar = $messageEl.find('.message-avatar').css('background-image');\n if (avatar === 'none' || avatar === '') avatar = undefined;\n\n if (avatar && typeof avatar === 'string') {\n avatar = avatar.replace('url(', '').replace(')', '').replace(/\"/g, '').replace(/'/g, '');\n } else {\n avatar = undefined;\n }\n\n data.avatar = avatar;\n return data;\n }\n }, {\n key: \"getMessagesData\",\n value: function getMessagesData() {\n var m = this;\n var data = [];\n m.$el.find('.message, .messages-title').each(function (index, messageEl) {\n data.push(m.getMessageData(messageEl));\n });\n return data;\n }\n }, {\n key: \"renderMessage\",\n value: function renderMessage(messageToRender) {\n var m = this;\n var message = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n type: 'sent',\n attrs: {}\n }, messageToRender);\n\n if (m.params.renderMessage) {\n return m.params.renderMessage.call(m, message);\n }\n\n if (message.isTitle) {\n return \"<div class=\\\"messages-title\\\">\".concat(message.text, \"</div>\");\n }\n\n var attrs = Object.keys(message.attrs).map(function (attr) {\n return \"\".concat(attr, \"=\\\"\").concat(message.attrs[attr], \"\\\"\");\n }).join(' ');\n return \"\\n <div class=\\\"message message-\".concat(message.type, \" \").concat(message.isTyping ? 'message-typing' : '', \" \").concat(message.cssClass || '', \"\\\" \").concat(attrs, \">\\n \").concat(message.avatar ? \"\\n <div class=\\\"message-avatar\\\" style=\\\"background-image:url(\".concat(message.avatar, \")\\\"></div>\\n \") : '', \"\\n <div class=\\\"message-content\\\">\\n \").concat(message.name ? \"<div class=\\\"message-name\\\">\".concat(message.name, \"</div>\") : '', \"\\n \").concat(message.header ? \"<div class=\\\"message-header\\\">\".concat(message.header, \"</div>\") : '', \"\\n <div class=\\\"message-bubble\\\">\\n \").concat(message.textHeader ? \"<div class=\\\"message-text-header\\\">\".concat(message.textHeader, \"</div>\") : '', \"\\n \").concat(message.image ? \"<div class=\\\"message-image\\\">\".concat(message.image, \"</div>\") : '', \"\\n \").concat(message.imageSrc && !message.image ? \"<div class=\\\"message-image\\\"><img src=\\\"\".concat(message.imageSrc, \"\\\"></div>\") : '', \"\\n \").concat(message.text || message.isTyping ? \"<div class=\\\"message-text\\\">\".concat(message.text || '').concat(message.isTyping ? '<div class=\"message-typing-indicator\"><div></div><div></div><div></div></div>' : '', \"</div>\") : '', \"\\n \").concat(message.textFooter ? \"<div class=\\\"message-text-footer\\\">\".concat(message.textFooter, \"</div>\") : '', \"\\n </div>\\n \").concat(message.footer ? \"<div class=\\\"message-footer\\\">\".concat(message.footer, \"</div>\") : '', \"\\n </div>\\n </div>\\n \");\n }\n }, {\n key: \"renderMessages\",\n value: function renderMessages() {\n var messagesToRender = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.messages;\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.newMessagesFirst ? 'prepend' : 'append';\n var m = this;\n var html = messagesToRender.map(function (message) {\n return m.renderMessage(message);\n }).join('');\n m.$el[method](html);\n }\n }, {\n key: \"isFirstMessage\",\n value: function isFirstMessage() {\n var _m$params;\n\n var m = this;\n if (m.params.firstMessageRule) return (_m$params = m.params).firstMessageRule.apply(_m$params, arguments);\n return false;\n }\n }, {\n key: \"isLastMessage\",\n value: function isLastMessage() {\n var _m$params2;\n\n var m = this;\n if (m.params.lastMessageRule) return (_m$params2 = m.params).lastMessageRule.apply(_m$params2, arguments);\n return false;\n }\n }, {\n key: \"isTailMessage\",\n value: function isTailMessage() {\n var _m$params3;\n\n var m = this;\n if (m.params.tailMessageRule) return (_m$params3 = m.params).tailMessageRule.apply(_m$params3, arguments);\n return false;\n }\n }, {\n key: \"isSameNameMessage\",\n value: function isSameNameMessage() {\n var _m$params4;\n\n var m = this;\n if (m.params.sameNameMessageRule) return (_m$params4 = m.params).sameNameMessageRule.apply(_m$params4, arguments);\n return false;\n }\n }, {\n key: \"isSameHeaderMessage\",\n value: function isSameHeaderMessage() {\n var _m$params5;\n\n var m = this;\n if (m.params.sameHeaderMessageRule) return (_m$params5 = m.params).sameHeaderMessageRule.apply(_m$params5, arguments);\n return false;\n }\n }, {\n key: \"isSameFooterMessage\",\n value: function isSameFooterMessage() {\n var _m$params6;\n\n var m = this;\n if (m.params.sameFooterMessageRule) return (_m$params6 = m.params).sameFooterMessageRule.apply(_m$params6, arguments);\n return false;\n }\n }, {\n key: \"isSameAvatarMessage\",\n value: function isSameAvatarMessage() {\n var _m$params7;\n\n var m = this;\n if (m.params.sameAvatarMessageRule) return (_m$params7 = m.params).sameAvatarMessageRule.apply(_m$params7, arguments);\n return false;\n }\n }, {\n key: \"isCustomClassMessage\",\n value: function isCustomClassMessage() {\n var _m$params8;\n\n var m = this;\n if (m.params.customClassMessageRule) return (_m$params8 = m.params).customClassMessageRule.apply(_m$params8, arguments);\n return undefined;\n }\n }, {\n key: \"layout\",\n value: function layout() {\n var m = this;\n m.$el.find('.message, .messages-title').each(function (index, messageEl) {\n var $messageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messageEl);\n\n if (!m.messages) {\n m.messages = m.getMessagesData();\n }\n\n var classes = [];\n var message = m.messages[index];\n var previousMessage = m.messages[index - 1];\n var nextMessage = m.messages[index + 1];\n\n if (m.isFirstMessage(message, previousMessage, nextMessage)) {\n classes.push('message-first');\n }\n\n if (m.isLastMessage(message, previousMessage, nextMessage)) {\n classes.push('message-last');\n }\n\n if (m.isTailMessage(message, previousMessage, nextMessage)) {\n classes.push('message-tail');\n }\n\n if (m.isSameNameMessage(message, previousMessage, nextMessage)) {\n classes.push('message-same-name');\n }\n\n if (m.isSameHeaderMessage(message, previousMessage, nextMessage)) {\n classes.push('message-same-header');\n }\n\n if (m.isSameFooterMessage(message, previousMessage, nextMessage)) {\n classes.push('message-same-footer');\n }\n\n if (m.isSameAvatarMessage(message, previousMessage, nextMessage)) {\n classes.push('message-same-avatar');\n }\n\n var customMessageClasses = m.isCustomClassMessage(message, previousMessage, nextMessage);\n\n if (customMessageClasses && customMessageClasses.length) {\n if (typeof customMessageClasses === 'string') {\n customMessageClasses = customMessageClasses.split(' ');\n }\n\n customMessageClasses.forEach(function (customClass) {\n classes.push(customClass);\n });\n }\n\n $messageEl.removeClass('message-first message-last message-tail message-same-name message-same-header message-same-footer message-same-avatar');\n classes.forEach(function (className) {\n $messageEl.addClass(className);\n });\n });\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var m = this;\n m.messages = [];\n m.$el.html('');\n }\n }, {\n key: \"removeMessage\",\n value: function removeMessage(messageToRemove) {\n var layout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var m = this; // Index or El\n\n var index;\n var $el;\n\n if (typeof messageToRemove === 'number') {\n index = messageToRemove;\n $el = m.$el.find('.message, .messages-title').eq(index);\n } else if (m.messages && m.messages.indexOf(messageToRemove) >= 0) {\n index = m.messages.indexOf(messageToRemove);\n $el = m.$el.children().eq(index);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messageToRemove);\n index = $el.index();\n }\n\n if ($el.length === 0) {\n return m;\n }\n\n $el.remove();\n m.messages.splice(index, 1);\n if (m.params.autoLayout && layout) m.layout();\n return m;\n }\n }, {\n key: \"removeMessages\",\n value: function removeMessages(messagesToRemove) {\n var layout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var m = this;\n\n if (Array.isArray(messagesToRemove)) {\n var messagesToRemoveEls = [];\n messagesToRemove.forEach(function (messageToRemoveIndex) {\n messagesToRemoveEls.push(m.$el.find('.message, .messages-title').eq(messageToRemoveIndex));\n });\n messagesToRemoveEls.forEach(function (messageToRemove) {\n m.removeMessage(messageToRemove, false);\n });\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagesToRemove).each(function (index, messageToRemove) {\n m.removeMessage(messageToRemove, false);\n });\n }\n\n if (m.params.autoLayout && layout) m.layout();\n return m;\n }\n }, {\n key: \"addMessage\",\n value: function addMessage() {\n var m = this;\n var messageToAdd;\n var animate;\n var method;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[1] === 'boolean') {\n messageToAdd = args[0];\n animate = args[1];\n method = args[2];\n } else {\n messageToAdd = args[0];\n method = args[1];\n animate = args[2];\n }\n\n if (typeof animate === 'undefined') {\n animate = true;\n }\n\n if (typeof method === 'undefined') {\n method = m.params.newMessagesFirst ? 'prepend' : 'append';\n }\n\n return m.addMessages([messageToAdd], animate, method);\n }\n }, {\n key: \"addMessages\",\n value: function addMessages() {\n var m = this;\n var messagesToAdd;\n var animate;\n var method;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[1] === 'boolean') {\n messagesToAdd = args[0];\n animate = args[1];\n method = args[2];\n } else {\n messagesToAdd = args[0];\n method = args[1];\n animate = args[2];\n }\n\n if (typeof animate === 'undefined') {\n animate = true;\n }\n\n if (typeof method === 'undefined') {\n method = m.params.newMessagesFirst ? 'prepend' : 'append';\n } // Define scroll positions before new messages added\n\n\n var scrollHeightBefore = m.pageContentEl.scrollHeight;\n var heightBefore = m.pageContentEl.offsetHeight;\n var scrollBefore = m.pageContentEl.scrollTop; // Add message to DOM and data\n\n var messagesHTML = '';\n var typingMessage = m.messages.filter(function (el) {\n return el.isTyping;\n })[0];\n messagesToAdd.forEach(function (messageToAdd) {\n if (typingMessage) {\n if (method === 'append') {\n m.messages.splice(m.messages.indexOf(typingMessage), 0, messageToAdd);\n } else {\n m.messages.splice(m.messages.indexOf(typingMessage) + 1, 0, messageToAdd);\n }\n } else {\n m.messages[method === 'append' ? 'push' : 'unshift'](messageToAdd);\n }\n\n messagesHTML += m.renderMessage(messageToAdd);\n });\n var $messagesEls = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(messagesHTML);\n\n if (animate) {\n if (method === 'append' && !m.params.newMessagesFirst) {\n $messagesEls.addClass('message-appear-from-bottom');\n }\n\n if (method === 'prepend' && m.params.newMessagesFirst) {\n $messagesEls.addClass('message-appear-from-top');\n }\n }\n\n if (typingMessage) {\n if (method === 'append') {\n $messagesEls.insertBefore(m.$el.find('.message-typing'));\n } else {\n $messagesEls.insertAfter(m.$el.find('.message-typing'));\n }\n } else {\n m.$el[method]($messagesEls);\n } // Layout\n\n\n if (m.params.autoLayout) m.layout();\n\n if (method === 'prepend' && !typingMessage) {\n m.pageContentEl.scrollTop = scrollBefore + (m.pageContentEl.scrollHeight - scrollHeightBefore);\n }\n\n if (m.params.scrollMessages && (method === 'append' && !m.params.newMessagesFirst || method === 'prepend' && m.params.newMessagesFirst && !typingMessage)) {\n if (m.params.scrollMessagesOnEdge) {\n var onEdge = false;\n\n if (m.params.newMessagesFirst && scrollBefore === 0) {\n onEdge = true;\n }\n\n if (!m.params.newMessagesFirst && scrollBefore - (scrollHeightBefore - heightBefore) >= -10) {\n onEdge = true;\n }\n\n if (onEdge) m.scroll(animate ? undefined : 0);\n } else {\n m.scroll(animate ? undefined : 0);\n }\n }\n\n return m;\n }\n }, {\n key: \"showTyping\",\n value: function showTyping() {\n var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var m = this;\n var typingMessage = m.messages.filter(function (el) {\n return el.isTyping;\n })[0];\n\n if (typingMessage) {\n m.removeMessage(m.messages.indexOf(typingMessage));\n }\n\n m.addMessage(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n type: 'received',\n isTyping: true\n }, message));\n return m;\n }\n }, {\n key: \"hideTyping\",\n value: function hideTyping() {\n var m = this;\n var typingMessageIndex;\n var typingFound;\n m.messages.forEach(function (message, index) {\n if (message.isTyping) typingMessageIndex = index;\n });\n\n if (typeof typingMessageIndex !== 'undefined') {\n if (m.$el.find('.message').eq(typingMessageIndex).hasClass('message-typing')) {\n typingFound = true;\n m.removeMessage(typingMessageIndex);\n }\n }\n\n if (!typingFound) {\n var $typingMessageEl = m.$el.find('.message-typing');\n\n if ($typingMessageEl.length) {\n m.removeMessage($typingMessageEl);\n }\n }\n\n return m;\n }\n }, {\n key: \"scroll\",\n value: function scroll() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 300;\n var scrollTop = arguments.length > 1 ? arguments[1] : undefined;\n var m = this;\n var currentScroll = m.pageContentEl.scrollTop;\n var newScrollTop;\n if (typeof scrollTop !== 'undefined') newScrollTop = scrollTop;else {\n newScrollTop = m.params.newMessagesFirst ? 0 : m.pageContentEl.scrollHeight - m.pageContentEl.offsetHeight;\n if (newScrollTop === currentScroll) return m;\n }\n m.$pageContentEl.scrollTop(newScrollTop, duration);\n return m;\n }\n }, {\n key: \"init\",\n value: function init() {\n var m = this;\n\n if (!m.messages || m.messages.length === 0) {\n m.messages = m.getMessagesData();\n }\n\n if (m.params.messages && m.params.messages.length) {\n m.renderMessages();\n }\n\n if (m.params.autoLayout) m.layout();\n if (m.params.scrollMessages) m.scroll(0);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var m = this;\n m.emit('local::beforeDestroy messagesBeforeDestroy', m);\n m.$el.trigger('messages:beforedestroy', m);\n\n if (m.$el[0]) {\n m.$el[0].f7Messages = null;\n delete m.$el[0].f7Messages;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(m);\n }\n }]);\n\n return Messages;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Messages);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/messages/messages-class.js?");
  505. /***/ }),
  506. /***/ "./node_modules/framework7/components/messages/messages.js":
  507. /*!*****************************************************************!*\
  508. !*** ./node_modules/framework7/components/messages/messages.js ***!
  509. \*****************************************************************/
  510. /*! exports provided: default */
  511. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  512. "use strict";
  513. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _messages_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./messages-class */ \"./node_modules/framework7/components/messages/messages-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'messages',\n static: {\n Messages: _messages_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.messages = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.messages',\n constructor: _messages_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7Messages',\n addMethods: 'renderMessages layout scroll clear removeMessage removeMessages addMessage addMessages'.split(' ')\n });\n },\n on: {\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.messages-init').each(function (index, messagesEl) {\n app.messages.destroy(messagesEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.messages-init').each(function (index, messagesEl) {\n app.messages.create({\n el: messagesEl\n });\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.messages-init').each(function (index, messagesEl) {\n app.messages.destroy(messagesEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.messages-init').each(function (index, messagesEl) {\n app.messages.create({\n el: messagesEl\n });\n });\n }\n },\n vnode: {\n 'messages-init': {\n insert: function insert(vnode) {\n var app = this;\n var messagesEl = vnode.elm;\n app.messages.create({\n el: messagesEl\n });\n },\n destroy: function destroy(vnode) {\n var app = this;\n var messagesEl = vnode.elm;\n app.messages.destroy(messagesEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/messages/messages.js?");
  514. /***/ }),
  515. /***/ "./node_modules/framework7/components/modal/custom-modal-class.js":
  516. /*!************************************************************************!*\
  517. !*** ./node_modules/framework7/components/modal/custom-modal-class.js ***!
  518. \************************************************************************/
  519. /*! exports provided: default */
  520. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  521. "use strict";
  522. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar CustomModal = /*#__PURE__*/function (_Modal) {\n _inherits(CustomModal, _Modal);\n\n var _super = _createSuper(CustomModal);\n\n function CustomModal(app, params) {\n var _this;\n\n _classCallCheck(this, CustomModal);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n backdrop: true,\n closeByBackdropClick: true,\n on: {}\n }, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var customModal = _assertThisInitialized(_this);\n\n customModal.params = extendedParams; // Find Element\n\n var $el;\n\n if (!customModal.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(customModal.params.content);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(customModal.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, customModal.destroy());\n }\n\n var $backdropEl;\n\n if (customModal.params.backdrop) {\n $backdropEl = app.root.children('.custom-modal-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"custom-modal-backdrop\"></div>');\n app.root.append($backdropEl);\n }\n }\n\n function handleClick(e) {\n if (!customModal || customModal.destroyed) return;\n\n if ($backdropEl && e.target === $backdropEl[0]) {\n customModal.close();\n }\n }\n\n customModal.on('customModalOpened', function () {\n if (customModal.params.closeByBackdropClick && customModal.params.backdrop) {\n app.on('click', handleClick);\n }\n });\n customModal.on('customModalClose', function () {\n if (customModal.params.closeByBackdropClick && customModal.params.backdrop) {\n app.off('click', handleClick);\n }\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(customModal, {\n app: app,\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'customModal'\n });\n $el[0].f7Modal = customModal;\n return _possibleConstructorReturn(_this, customModal);\n }\n\n return CustomModal;\n}(_modal_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomModal);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/modal/custom-modal-class.js?");
  523. /***/ }),
  524. /***/ "./node_modules/framework7/components/modal/modal-class.js":
  525. /*!*****************************************************************!*\
  526. !*** ./node_modules/framework7/components/modal/modal-class.js ***!
  527. \*****************************************************************/
  528. /*! exports provided: default */
  529. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  530. "use strict";
  531. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar openedModals = [];\nvar dialogsQueue = [];\n\nfunction clearDialogsQueue() {\n if (dialogsQueue.length === 0) return;\n var dialog = dialogsQueue.shift();\n dialog.open();\n}\n\nvar Modal = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Modal, _Framework7Class);\n\n var _super = _createSuper(Modal);\n\n function Modal(app, params) {\n var _this;\n\n _classCallCheck(this, Modal);\n\n _this = _super.call(this, params, [app]);\n\n var modal = _assertThisInitialized(_this);\n\n var defaults = {}; // Extend defaults with modules params\n\n modal.useModulesParams(defaults);\n modal.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(defaults, params);\n modal.opened = false; // Install Modules\n\n modal.useModules();\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n _createClass(Modal, [{\n key: \"onOpen\",\n value: function onOpen() {\n var modal = this;\n modal.opened = true;\n openedModals.push(modal);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass(\"with-modal-\".concat(modal.type.toLowerCase()));\n modal.$el.trigger(\"modal:open \".concat(modal.type.toLowerCase(), \":open\"), modal);\n modal.emit(\"local::open modalOpen \".concat(modal.type, \"Open\"), modal);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var modal = this;\n modal.$el.trigger(\"modal:opened \".concat(modal.type.toLowerCase(), \":opened\"), modal);\n modal.emit(\"local::opened modalOpened \".concat(modal.type, \"Opened\"), modal);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var modal = this;\n modal.opened = false;\n if (!modal.type || !modal.$el) return;\n openedModals.splice(openedModals.indexOf(modal), 1);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass(\"with-modal-\".concat(modal.type.toLowerCase()));\n modal.$el.trigger(\"modal:close \".concat(modal.type.toLowerCase(), \":close\"), modal);\n modal.emit(\"local::close modalClose \".concat(modal.type, \"Close\"), modal);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var modal = this;\n if (!modal.type || !modal.$el) return;\n modal.$el.removeClass('modal-out');\n modal.$el.hide();\n modal.$el.trigger(\"modal:closed \".concat(modal.type.toLowerCase(), \":closed\"), modal);\n modal.emit(\"local::closed modalClosed \".concat(modal.type, \"Closed\"), modal);\n }\n }, {\n key: \"open\",\n value: function open(animateModal) {\n var modal = this;\n var app = modal.app;\n var $el = modal.$el;\n var $backdropEl = modal.$backdropEl;\n var type = modal.type;\n var animate = true;\n if (typeof animateModal !== 'undefined') animate = animateModal;else if (typeof modal.params.animate !== 'undefined') {\n animate = modal.params.animate;\n }\n\n if (!$el || $el.hasClass('modal-in')) {\n return modal;\n }\n\n if (type === 'dialog' && app.params.modal.queueDialogs) {\n var pushToQueue;\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.dialog.modal-in').length > 0) {\n pushToQueue = true;\n } else if (openedModals.length > 0) {\n openedModals.forEach(function (openedModal) {\n if (openedModal.type === 'dialog') pushToQueue = true;\n });\n }\n\n if (pushToQueue) {\n dialogsQueue.push(modal);\n return modal;\n }\n }\n\n var $modalParentEl = $el.parent();\n var wasInDom = $el.parents(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).length > 0;\n\n if (app.params.modal.moveToRoot && !$modalParentEl.is(app.root)) {\n app.root.append($el);\n modal.once(\"\".concat(type, \"Closed\"), function () {\n if (wasInDom) {\n $modalParentEl.append($el);\n } else {\n $el.remove();\n }\n });\n } // Show Modal\n\n\n $el.show();\n /* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_clientLeft\"] }] */\n\n modal._clientLeft = $el[0].clientLeft; // Modal\n\n function transitionEnd() {\n if ($el.hasClass('modal-out')) {\n modal.onClosed();\n } else if ($el.hasClass('modal-in')) {\n modal.onOpened();\n }\n }\n\n if (animate) {\n if ($backdropEl) {\n $backdropEl.removeClass('not-animated');\n $backdropEl.addClass('backdrop-in');\n }\n\n $el.animationEnd(function () {\n transitionEnd();\n });\n $el.transitionEnd(function () {\n transitionEnd();\n });\n $el.removeClass('modal-out not-animated').addClass('modal-in');\n modal.onOpen();\n } else {\n if ($backdropEl) {\n $backdropEl.addClass('backdrop-in not-animated');\n }\n\n $el.removeClass('modal-out').addClass('modal-in not-animated');\n modal.onOpen();\n modal.onOpened();\n }\n\n return modal;\n }\n }, {\n key: \"close\",\n value: function close(animateModal) {\n var modal = this;\n var $el = modal.$el;\n var $backdropEl = modal.$backdropEl;\n var animate = true;\n if (typeof animateModal !== 'undefined') animate = animateModal;else if (typeof modal.params.animate !== 'undefined') {\n animate = modal.params.animate;\n }\n\n if (!$el || !$el.hasClass('modal-in')) {\n if (dialogsQueue.indexOf(modal) >= 0) {\n dialogsQueue.splice(dialogsQueue.indexOf(modal), 1);\n }\n\n return modal;\n } // backdrop\n\n\n if ($backdropEl) {\n var needToHideBackdrop = true;\n\n if (modal.type === 'popup') {\n modal.$el.prevAll('.popup.modal-in').each(function (index, popupEl) {\n var popupInstance = popupEl.f7Modal;\n if (!popupInstance) return;\n\n if (popupInstance.params.closeByBackdropClick && popupInstance.params.backdrop && popupInstance.backdropEl === modal.backdropEl) {\n needToHideBackdrop = false;\n }\n });\n }\n\n if (needToHideBackdrop) {\n $backdropEl[animate ? 'removeClass' : 'addClass']('not-animated');\n $backdropEl.removeClass('backdrop-in');\n }\n } // Modal\n\n\n $el[animate ? 'removeClass' : 'addClass']('not-animated');\n\n function transitionEnd() {\n if ($el.hasClass('modal-out')) {\n modal.onClosed();\n } else if ($el.hasClass('modal-in')) {\n modal.onOpened();\n }\n }\n\n if (animate) {\n $el.animationEnd(function () {\n transitionEnd();\n });\n $el.transitionEnd(function () {\n transitionEnd();\n });\n $el.removeClass('modal-in').addClass('modal-out'); // Emit close\n\n modal.onClose();\n } else {\n $el.addClass('not-animated').removeClass('modal-in').addClass('modal-out'); // Emit close\n\n modal.onClose();\n modal.onClosed();\n }\n\n if (modal.type === 'dialog') {\n clearDialogsQueue();\n }\n\n return modal;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var modal = this;\n if (modal.destroyed) return;\n modal.emit(\"local::beforeDestroy modalBeforeDestroy \".concat(modal.type, \"BeforeDestroy\"), modal);\n\n if (modal.$el) {\n modal.$el.trigger(\"modal:beforedestroy \".concat(modal.type.toLowerCase(), \":beforedestroy\"), modal);\n\n if (modal.$el.length && modal.$el[0].f7Modal) {\n delete modal.$el[0].f7Modal;\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(modal);\n modal.destroyed = true;\n }\n }]);\n\n return Modal;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Modal);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/modal/modal-class.js?");
  532. /***/ }),
  533. /***/ "./node_modules/framework7/components/modal/modal.js":
  534. /*!***********************************************************!*\
  535. !*** ./node_modules/framework7/components/modal/modal.js ***!
  536. \***********************************************************/
  537. /*! exports provided: default */
  538. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  539. "use strict";
  540. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _modal_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\n/* harmony import */ var _custom_modal_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./custom-modal-class */ \"./node_modules/framework7/components/modal/custom-modal-class.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'modal',\n static: {\n Modal: _modal_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n CustomModal: _custom_modal_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.customModal = {\n create: function create(params) {\n return new _custom_modal_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, params);\n }\n };\n },\n params: {\n modal: {\n moveToRoot: true,\n queueDialogs: true\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/modal/modal.js?");
  541. /***/ }),
  542. /***/ "./node_modules/framework7/components/navbar/navbar.js":
  543. /*!*************************************************************!*\
  544. !*** ./node_modules/framework7/components/navbar/navbar.js ***!
  545. \*************************************************************/
  546. /*! exports provided: default */
  547. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  548. "use strict";
  549. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n\n\n\nvar Navbar = {\n size: function size(el) {\n var app = this;\n\n if (app.theme !== 'ios' && !app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n\n if ($el.hasClass('navbar')) {\n $el = $el.children('.navbar-inner').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n return;\n }\n\n if ($el.hasClass('stacked') || $el.parents('.stacked').length > 0 || $el.parents('.tab:not(.tab-active)').length > 0 || $el.parents('.popup:not(.modal-in)').length > 0) {\n return;\n }\n\n if (app.theme !== 'ios' && app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n $el.addClass('navbar-inner-centered-title');\n }\n\n if (app.theme === 'ios' && !app.params.navbar.iosCenterTitle) {\n $el.addClass('navbar-inner-left-title');\n }\n\n var $viewEl = $el.parents('.view').eq(0);\n var left = app.rtl ? $el.children('.right') : $el.children('.left');\n var right = app.rtl ? $el.children('.left') : $el.children('.right');\n var title = $el.children('.title');\n var subnavbar = $el.children('.subnavbar');\n var noLeft = left.length === 0;\n var noRight = right.length === 0;\n var leftWidth = noLeft ? 0 : left.outerWidth(true);\n var rightWidth = noRight ? 0 : right.outerWidth(true);\n var titleWidth = title.outerWidth(true);\n var navbarStyles = $el.styles();\n var navbarWidth = $el[0].offsetWidth;\n var navbarInnerWidth = navbarWidth - parseInt(navbarStyles.paddingLeft, 10) - parseInt(navbarStyles.paddingRight, 10);\n var isPrevious = $el.hasClass('navbar-previous');\n var sliding = $el.hasClass('sliding');\n var router;\n var dynamicNavbar;\n var separateNavbar;\n var separateNavbarRightOffset = 0;\n var separateNavbarLeftOffset = 0;\n\n if ($viewEl.length > 0 && $viewEl[0].f7View) {\n router = $viewEl[0].f7View.router;\n dynamicNavbar = router && router.dynamicNavbar;\n separateNavbar = router && router.separateNavbar;\n\n if (!separateNavbar) {\n separateNavbarRightOffset = navbarWidth;\n separateNavbarLeftOffset = navbarWidth / 5;\n }\n }\n\n var currLeft;\n var diff;\n\n if (noRight) {\n currLeft = navbarInnerWidth - titleWidth;\n }\n\n if (noLeft) {\n currLeft = 0;\n }\n\n if (!noLeft && !noRight) {\n currLeft = (navbarInnerWidth - rightWidth - titleWidth + leftWidth) / 2;\n }\n\n var requiredLeft = (navbarInnerWidth - titleWidth) / 2;\n\n if (navbarInnerWidth - leftWidth - rightWidth > titleWidth) {\n if (requiredLeft < leftWidth) {\n requiredLeft = leftWidth;\n }\n\n if (requiredLeft + titleWidth > navbarInnerWidth - rightWidth) {\n requiredLeft = navbarInnerWidth - rightWidth - titleWidth;\n }\n\n diff = requiredLeft - currLeft;\n } else {\n diff = 0;\n } // RTL inverter\n\n\n var inverter = app.rtl ? -1 : 1;\n\n if (dynamicNavbar && app.theme === 'ios') {\n if (title.hasClass('sliding') || title.length > 0 && sliding) {\n var titleLeftOffset = -(currLeft + diff) * inverter + separateNavbarLeftOffset;\n var titleRightOffset = (navbarInnerWidth - currLeft - diff - titleWidth) * inverter - separateNavbarRightOffset;\n\n if (isPrevious) {\n if (router && router.params.iosAnimateNavbarBackIcon) {\n var activeNavbarBackLink = $el.parent().find('.navbar-current').children('.left.sliding').find('.back .icon ~ span');\n\n if (activeNavbarBackLink.length > 0) {\n titleLeftOffset += activeNavbarBackLink[0].offsetLeft;\n }\n }\n }\n\n title[0].f7NavbarLeftOffset = titleLeftOffset;\n title[0].f7NavbarRightOffset = titleRightOffset;\n }\n\n if (!noLeft && (left.hasClass('sliding') || sliding)) {\n if (app.rtl) {\n left[0].f7NavbarLeftOffset = -(navbarInnerWidth - left[0].offsetWidth) / 2 * inverter;\n left[0].f7NavbarRightOffset = leftWidth * inverter;\n } else {\n left[0].f7NavbarLeftOffset = -leftWidth + separateNavbarLeftOffset;\n left[0].f7NavbarRightOffset = (navbarInnerWidth - left[0].offsetWidth) / 2 - separateNavbarRightOffset;\n\n if (router && router.params.iosAnimateNavbarBackIcon && left.find('.back .icon').length > 0) {\n if (left.find('.back .icon ~ span').length) {\n var leftOffset = left[0].f7NavbarLeftOffset;\n var rightOffset = left[0].f7NavbarRightOffset;\n left[0].f7NavbarLeftOffset = 0;\n left[0].f7NavbarRightOffset = 0;\n left.find('.back .icon ~ span')[0].f7NavbarLeftOffset = leftOffset;\n left.find('.back .icon ~ span')[0].f7NavbarRightOffset = rightOffset - left.find('.back .icon')[0].offsetWidth;\n }\n }\n }\n }\n\n if (!noRight && (right.hasClass('sliding') || sliding)) {\n if (app.rtl) {\n right[0].f7NavbarLeftOffset = -rightWidth * inverter;\n right[0].f7NavbarRightOffset = (navbarInnerWidth - right[0].offsetWidth) / 2 * inverter;\n } else {\n right[0].f7NavbarLeftOffset = -(navbarInnerWidth - right[0].offsetWidth) / 2 + separateNavbarLeftOffset;\n right[0].f7NavbarRightOffset = rightWidth - separateNavbarRightOffset;\n }\n }\n\n if (subnavbar.length && (subnavbar.hasClass('sliding') || sliding)) {\n subnavbar[0].f7NavbarLeftOffset = app.rtl ? subnavbar[0].offsetWidth : -subnavbar[0].offsetWidth + separateNavbarLeftOffset;\n subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset - separateNavbarRightOffset + separateNavbarLeftOffset;\n }\n } // Center title\n\n\n if (app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n var titleLeft = diff;\n if (app.rtl && noLeft && noRight && title.length > 0) titleLeft = -titleLeft;\n title.css({\n left: \"\".concat(titleLeft, \"px\")\n });\n }\n },\n hide: function hide(el) {\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.hasClass('navbar-inner')) $el = $el.parents('.navbar');\n if (!$el.length) return;\n if ($el.hasClass('navbar-hidden')) return;\n var className = \"navbar-hidden\".concat(animate ? ' navbar-transitioning' : '');\n var currentIsLarge = app.theme === 'ios' ? $el.find('.navbar-current .title-large').length : $el.find('.title-large').length;\n\n if (currentIsLarge) {\n className += ' navbar-large-hidden';\n }\n\n $el.transitionEnd(function () {\n $el.removeClass('navbar-transitioning');\n });\n $el.addClass(className);\n $el.trigger('navbar:hide');\n app.emit('navbarHide', $el[0]);\n },\n show: function show() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.navbar-hidden';\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.hasClass('navbar-inner')) $el = $el.parents('.navbar');\n if (!$el.length) return;\n if (!$el.hasClass('navbar-hidden')) return;\n\n if (animate) {\n $el.addClass('navbar-transitioning');\n $el.transitionEnd(function () {\n $el.removeClass('navbar-transitioning');\n });\n }\n\n $el.removeClass('navbar-hidden navbar-large-hidden');\n $el.trigger('navbar:show');\n app.emit('navbarShow', $el[0]);\n },\n getElByPage: function getElByPage(page) {\n var $pageEl;\n var $navbarInnerEl;\n var pageData;\n\n if (page.$navbarEl || page.$el) {\n pageData = page;\n $pageEl = page.$el;\n } else {\n $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(page);\n if ($pageEl.length > 0) pageData = $pageEl[0].f7Page;\n }\n\n if (pageData && pageData.$navbarEl && pageData.$navbarEl.length > 0) {\n $navbarInnerEl = pageData.$navbarEl;\n } else if ($pageEl) {\n $navbarInnerEl = $pageEl.children('.navbar').children('.navbar-inner');\n }\n\n if (!$navbarInnerEl || $navbarInnerEl && $navbarInnerEl.length === 0) return undefined;\n return $navbarInnerEl[0];\n },\n getPageByEl: function getPageByEl(navbarInnerEl) {\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n\n if ($navbarInnerEl.hasClass('navbar')) {\n $navbarInnerEl = $navbarInnerEl.find('.navbar-inner');\n if ($navbarInnerEl.length > 1) return undefined;\n }\n\n if ($navbarInnerEl.parents('.page').length) {\n return $navbarInnerEl.parents('.page')[0];\n }\n\n var pageEl;\n $navbarInnerEl.parents('.view').find('.page').each(function (index, el) {\n if (el && el.f7Page && el.f7Page.navbarEl && $navbarInnerEl[0] === el.f7Page.navbarEl) {\n pageEl = el;\n }\n });\n return pageEl;\n },\n collapseLargeTitle: function collapseLargeTitle(navbarInnerEl) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n\n if ($navbarInnerEl.hasClass('navbar')) {\n $navbarInnerEl = $navbarInnerEl.find('.navbar-inner-large');\n\n if ($navbarInnerEl.length > 1) {\n $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).find('.navbar-inner-large.navbar-current');\n }\n\n if ($navbarInnerEl.length > 1 || !$navbarInnerEl.length) {\n return;\n }\n }\n\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getPageByEl($navbarInnerEl));\n $navbarInnerEl.addClass('navbar-inner-large-collapsed');\n $pageEl.eq(0).addClass('page-with-navbar-large-collapsed').trigger('page:navbarlargecollapsed');\n app.emit('pageNavbarLargeCollapsed', $pageEl[0]);\n var $navbarEl = $navbarInnerEl.parents('.navbar');\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl.addClass('navbar-large-collapsed');\n }\n\n $navbarEl.trigger('navbar:collapse');\n app.emit('navbarCollapse', $navbarEl[0]);\n },\n expandLargeTitle: function expandLargeTitle(navbarInnerEl) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n\n if ($navbarInnerEl.hasClass('navbar')) {\n $navbarInnerEl = $navbarInnerEl.find('.navbar-inner-large');\n\n if ($navbarInnerEl.length > 1) {\n $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).find('.navbar-inner-large.navbar-current');\n }\n\n if ($navbarInnerEl.length > 1 || !$navbarInnerEl.length) {\n return;\n }\n }\n\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getPageByEl($navbarInnerEl));\n $navbarInnerEl.removeClass('navbar-inner-large-collapsed');\n $pageEl.eq(0).removeClass('page-with-navbar-large-collapsed').trigger('page:navbarlargeexpanded');\n app.emit('pageNavbarLargeExpanded', $pageEl[0]);\n var $navbarEl = $navbarInnerEl.parents('.navbar');\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl.removeClass('navbar-large-collapsed');\n }\n\n $navbarEl.trigger('navbar:expand');\n app.emit('navbarExpand', $navbarEl[0]);\n },\n toggleLargeTitle: function toggleLargeTitle(navbarInnerEl) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n\n if ($navbarInnerEl.hasClass('navbar')) {\n $navbarInnerEl = $navbarInnerEl.find('.navbar-inner-large');\n\n if ($navbarInnerEl.length > 1) {\n $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).find('.navbar-inner-large.navbar-current');\n }\n\n if ($navbarInnerEl.length > 1 || !$navbarInnerEl.length) {\n return;\n }\n }\n\n if ($navbarInnerEl.hasClass('navbar-inner-large-collapsed')) {\n app.navbar.expandLargeTitle($navbarInnerEl);\n } else {\n app.navbar.collapseLargeTitle($navbarInnerEl);\n }\n },\n initNavbarOnScroll: function initNavbarOnScroll(pageEl, navbarInnerEl, needHide, needCollapse) {\n var app = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl);\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl);\n var $navbarEl = app.theme === 'md' || app.theme === 'aurora' ? $navbarInnerEl.parents('.navbar') : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl || app.navbar.getElByPage(pageEl)).closest('.navbar');\n var isLarge = $navbarInnerEl.find('.title-large').length || $navbarInnerEl.hasClass('.navbar-inner-large');\n var navbarHideHeight = 44;\n var snapPageScrollToLargeTitle = app.params.navbar.snapPageScrollToLargeTitle;\n var previousScrollTop;\n var currentScrollTop;\n var scrollHeight;\n var offsetHeight;\n var reachEnd;\n var action;\n var navbarHidden;\n var navbarCollapsed;\n var navbarTitleLargeHeight;\n\n if (needCollapse || needHide && isLarge) {\n navbarTitleLargeHeight = $navbarInnerEl.css('--f7-navbar-large-title-height');\n\n if (navbarTitleLargeHeight && navbarTitleLargeHeight.indexOf('px') >= 0) {\n navbarTitleLargeHeight = parseInt(navbarTitleLargeHeight, 10);\n\n if (Number.isNaN(navbarTitleLargeHeight)) {\n if (app.theme === 'ios') navbarTitleLargeHeight = 52;else if (app.theme === 'md') navbarTitleLargeHeight = 48;else if (app.theme === 'aurora') navbarTitleLargeHeight = 38;\n }\n } else {\n // eslint-disable-next-line\n if (app.theme === 'ios') navbarTitleLargeHeight = 52;else if (app.theme === 'md') navbarTitleLargeHeight = 48;else if (app.theme === 'aurora') navbarTitleLargeHeight = 38;\n }\n }\n\n if (needHide && isLarge) {\n navbarHideHeight += navbarTitleLargeHeight;\n }\n\n var scrollChanged;\n var scrollContent;\n var scrollTimeoutId;\n var touchEndTimeoutId;\n var touchSnapTimeout = 70;\n var desktopSnapTimeout = 300;\n\n function snapLargeNavbar() {\n var inSearchbarExpanded = $navbarInnerEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n if (!scrollContent || currentScrollTop < 0) return;\n\n if (currentScrollTop >= navbarTitleLargeHeight / 2 && currentScrollTop < navbarTitleLargeHeight) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(scrollContent).scrollTop(navbarTitleLargeHeight, 100);\n } else if (currentScrollTop < navbarTitleLargeHeight) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(scrollContent).scrollTop(0, 200);\n }\n }\n\n function handleLargeNavbarCollapse() {\n var collapseProgress = Math.min(Math.max(currentScrollTop / navbarTitleLargeHeight, 0), 1);\n var inSearchbarExpanded = $navbarInnerEl.hasClass('with-searchbar-expandable-enabled');\n if (inSearchbarExpanded) return;\n navbarCollapsed = $navbarInnerEl.hasClass('navbar-inner-large-collapsed');\n\n if (collapseProgress === 0 && navbarCollapsed) {\n app.navbar.expandLargeTitle($navbarInnerEl[0]);\n $navbarInnerEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n $pageEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n $navbarInnerEl[0].style.overflow = '';\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n }\n } else if (collapseProgress === 1 && !navbarCollapsed) {\n app.navbar.collapseLargeTitle($navbarInnerEl[0]);\n $navbarInnerEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n $navbarInnerEl[0].style.overflow = '';\n $pageEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n }\n } else if (collapseProgress === 1 && navbarCollapsed || collapseProgress === 0 && !navbarCollapsed) {\n $navbarInnerEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n $navbarInnerEl[0].style.overflow = '';\n $pageEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl[0].style.removeProperty('--f7-navbar-large-collapse-progress');\n }\n } else {\n $navbarInnerEl[0].style.setProperty('--f7-navbar-large-collapse-progress', collapseProgress);\n $navbarInnerEl[0].style.overflow = 'visible';\n $pageEl[0].style.setProperty('--f7-navbar-large-collapse-progress', collapseProgress);\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarEl[0].style.setProperty('--f7-navbar-large-collapse-progress', collapseProgress);\n }\n }\n\n if (snapPageScrollToLargeTitle) {\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n clearTimeout(scrollTimeoutId);\n scrollTimeoutId = setTimeout(function () {\n snapLargeNavbar();\n }, desktopSnapTimeout);\n } else if (touchEndTimeoutId) {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(function () {\n snapLargeNavbar();\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }, touchSnapTimeout);\n }\n }\n }\n\n function handleTitleHideShow() {\n scrollHeight = scrollContent.scrollHeight;\n offsetHeight = scrollContent.offsetHeight;\n reachEnd = currentScrollTop + offsetHeight >= scrollHeight;\n navbarHidden = $navbarEl.hasClass('navbar-hidden');\n\n if (reachEnd) {\n if (app.params.navbar.showOnPageScrollEnd) {\n action = 'show';\n }\n } else if (previousScrollTop > currentScrollTop) {\n if (app.params.navbar.showOnPageScrollTop || currentScrollTop <= navbarHideHeight) {\n action = 'show';\n } else {\n action = 'hide';\n }\n } else if (currentScrollTop > navbarHideHeight) {\n action = 'hide';\n } else {\n action = 'show';\n }\n\n if (action === 'show' && navbarHidden) {\n app.navbar.show($navbarEl);\n navbarHidden = false;\n } else if (action === 'hide' && !navbarHidden) {\n app.navbar.hide($navbarEl);\n navbarHidden = true;\n }\n\n previousScrollTop = currentScrollTop;\n }\n\n function handleScroll(e) {\n scrollContent = this;\n\n if (e && e.target && e.target !== scrollContent) {\n return;\n }\n\n currentScrollTop = scrollContent.scrollTop;\n scrollChanged = currentScrollTop;\n\n if (needCollapse) {\n handleLargeNavbarCollapse();\n }\n\n if ($pageEl.hasClass('page-previous')) return;\n\n if (needHide) {\n handleTitleHideShow();\n }\n }\n\n function handeTouchStart() {\n scrollChanged = false;\n }\n\n function handleTouchEnd() {\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n touchEndTimeoutId = setTimeout(function () {\n if (scrollChanged !== false) {\n snapLargeNavbar();\n clearTimeout(touchEndTimeoutId);\n touchEndTimeoutId = null;\n }\n }, touchSnapTimeout);\n }\n\n $pageEl.on('scroll', '.page-content', handleScroll, true);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && needCollapse && snapPageScrollToLargeTitle) {\n app.on('touchstart:passive', handeTouchStart);\n app.on('touchend:passive', handleTouchEnd);\n }\n\n if (needCollapse) {\n $pageEl.find('.page-content').each(function (pageContentIndex, pageContentEl) {\n if (pageContentEl.scrollTop > 0) handleScroll.call(pageContentEl);\n });\n }\n\n $pageEl[0].f7DetachNavbarScrollHandlers = function f7DetachNavbarScrollHandlers() {\n delete $pageEl[0].f7DetachNavbarScrollHandlers;\n $pageEl.off('scroll', '.page-content', handleScroll, true);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && needCollapse && snapPageScrollToLargeTitle) {\n app.off('touchstart:passive', handeTouchStart);\n app.off('touchend:passive', handleTouchEnd);\n }\n };\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'navbar',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n navbar: {\n size: Navbar.size.bind(app),\n hide: Navbar.hide.bind(app),\n show: Navbar.show.bind(app),\n getElByPage: Navbar.getElByPage.bind(app),\n getPageByEl: Navbar.getPageByEl.bind(app),\n collapseLargeTitle: Navbar.collapseLargeTitle.bind(app),\n expandLargeTitle: Navbar.expandLargeTitle.bind(app),\n toggleLargeTitle: Navbar.toggleLargeTitle.bind(app),\n initNavbarOnScroll: Navbar.initNavbarOnScroll.bind(app)\n }\n });\n },\n params: {\n navbar: {\n scrollTopOnTitleClick: true,\n iosCenterTitle: true,\n mdCenterTitle: false,\n auroraCenterTitle: true,\n hideOnPageScroll: false,\n showOnPageScrollEnd: true,\n showOnPageScrollTop: true,\n collapseLargeTitleOnScroll: true,\n snapPageScrollToLargeTitle: true\n }\n },\n on: {\n 'panelBreakpoint panelResize resize viewMasterDetailBreakpoint': function onResize() {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.navbar').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n if (page.$el[0].f7DetachNavbarScrollHandlers) {\n page.$el[0].f7DetachNavbarScrollHandlers();\n }\n },\n pageBeforeIn: function pageBeforeIn(page) {\n var app = this;\n if (app.theme !== 'ios') return;\n var $navbarEl;\n var view = page.$el.parents('.view')[0].f7View;\n var navbarInnerEl = app.navbar.getElByPage(page);\n\n if (!navbarInnerEl) {\n $navbarEl = page.$el.parents('.view').children('.navbar');\n } else {\n $navbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarInnerEl).parents('.navbar');\n }\n\n if (page.$el.hasClass('no-navbar') || view.router.dynamicNavbar && !navbarInnerEl) {\n var animate = !!(page.pageFrom && page.router.history.length > 0);\n app.navbar.hide($navbarEl, animate);\n } else {\n app.navbar.show($navbarEl);\n }\n },\n pageReinit: function pageReinit(page) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage(page));\n if (!$navbarInnerEl || $navbarInnerEl.length === 0) return;\n app.navbar.size($navbarInnerEl);\n },\n pageInit: function pageInit(page) {\n var app = this;\n var $navbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage(page));\n if (!$navbarInnerEl || $navbarInnerEl.length === 0) return; // Size\n\n app.navbar.size($navbarInnerEl); // Need Collapse On Scroll\n\n var needCollapseOnScrollHandler;\n\n if ($navbarInnerEl.children('.title-large').length > 0) {\n $navbarInnerEl.addClass('navbar-inner-large');\n }\n\n if ($navbarInnerEl.hasClass('navbar-inner-large')) {\n if (app.params.navbar.collapseLargeTitleOnScroll) needCollapseOnScrollHandler = true;\n\n if (app.theme === 'md' || app.theme === 'aurora') {\n $navbarInnerEl.parents('.navbar').addClass('navbar-large');\n }\n\n page.$el.addClass('page-with-navbar-large');\n } // Need Hide On Scroll\n\n\n var needHideOnScrollHandler;\n\n if (app.params.navbar.hideOnPageScroll || page.$el.find('.hide-navbar-on-scroll').length || page.$el.hasClass('hide-navbar-on-scroll') || page.$el.find('.hide-bars-on-scroll').length || page.$el.hasClass('hide-bars-on-scroll')) {\n if (page.$el.find('.keep-navbar-on-scroll').length || page.$el.hasClass('keep-navbar-on-scroll') || page.$el.find('.keep-bars-on-scroll').length || page.$el.hasClass('keep-bars-on-scroll')) {\n needHideOnScrollHandler = false;\n } else {\n needHideOnScrollHandler = true;\n }\n }\n\n if (needCollapseOnScrollHandler || needHideOnScrollHandler) {\n app.navbar.initNavbarOnScroll(page.el, $navbarInnerEl[0], needHideOnScrollHandler, needCollapseOnScrollHandler);\n }\n },\n modalOpen: function modalOpen(modal) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n modal.$el.find('.navbar:not(.navbar-previous):not(.stacked)').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n },\n panelOpen: function panelOpen(panel) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n panel.$el.find('.navbar:not(.navbar-previous):not(.stacked)').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n },\n panelSwipeOpen: function panelSwipeOpen(panel) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n panel.$el.find('.navbar:not(.navbar-previous):not(.stacked)').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n },\n tabShow: function tabShow(tabEl) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.navbar:not(.navbar-previous):not(.stacked)').each(function (index, navbarEl) {\n app.navbar.size(navbarEl);\n });\n }\n },\n clicks: {\n '.navbar .title': function onTitleClick($clickedEl) {\n var app = this;\n if (!app.params.navbar.scrollTopOnTitleClick) return;\n\n if ($clickedEl.closest('a').length > 0) {\n return;\n }\n\n var pageContent; // Find active page\n\n var navbar = $clickedEl.parents('.navbar'); // Static Layout\n\n pageContent = navbar.parents('.page-content');\n\n if (pageContent.length === 0) {\n // Fixed Layout\n if (navbar.parents('.page').length > 0) {\n pageContent = navbar.parents('.page').find('.page-content');\n } // Through Layout\n\n\n if (pageContent.length === 0) {\n if (navbar.nextAll('.page-current:not(.stacked)').length > 0) {\n pageContent = navbar.nextAll('.page-current:not(.stacked)').find('.page-content');\n }\n }\n }\n\n if (pageContent && pageContent.length > 0) {\n // Check for tab\n if (pageContent.hasClass('tab')) {\n pageContent = pageContent.parent('.tabs').children('.page-content.tab-active');\n }\n\n if (pageContent.length > 0) pageContent.scrollTop(0, 300);\n }\n }\n },\n vnode: {\n 'navbar-inner': {\n postpatch: function postpatch(vnode) {\n var app = this;\n\n if (!app.params.navbar[\"\".concat(app.theme, \"CenterTitle\")]) {\n return;\n }\n\n app.navbar.size(vnode.elm);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/navbar/navbar.js?");
  550. /***/ }),
  551. /***/ "./node_modules/framework7/components/notification/notification-class.js":
  552. /*!*******************************************************************************!*\
  553. !*** ./node_modules/framework7/components/notification/notification-class.js ***!
  554. \*******************************************************************************/
  555. /*! exports provided: default */
  556. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  557. "use strict";
  558. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Notification = /*#__PURE__*/function (_Modal) {\n _inherits(Notification, _Modal);\n\n var _super = _createSuper(Notification);\n\n function Notification(app, params) {\n var _this;\n\n _classCallCheck(this, Notification);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({\n on: {}\n }, app.params.notification, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var notification = _assertThisInitialized(_this);\n\n notification.app = app;\n notification.params = extendedParams;\n var _notification$params = notification.params,\n icon = _notification$params.icon,\n title = _notification$params.title,\n titleRightText = _notification$params.titleRightText,\n subtitle = _notification$params.subtitle,\n text = _notification$params.text,\n closeButton = _notification$params.closeButton,\n closeTimeout = _notification$params.closeTimeout,\n cssClass = _notification$params.cssClass,\n closeOnClick = _notification$params.closeOnClick;\n var $el;\n\n if (!notification.params.el) {\n // Find Element\n var notificationHtml = notification.render({\n icon: icon,\n title: title,\n titleRightText: titleRightText,\n subtitle: subtitle,\n text: text,\n closeButton: closeButton,\n cssClass: cssClass\n });\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(notificationHtml);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(notification.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, notification.destroy());\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(notification, {\n $el: $el,\n el: $el[0],\n type: 'notification'\n });\n $el[0].f7Modal = notification;\n\n if (closeButton) {\n $el.find('.notification-close-button').on('click', function () {\n notification.close();\n });\n }\n\n $el.on('click', function (e) {\n if (closeButton && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.notification-close-button').length) {\n return;\n }\n\n notification.emit('local::click notificationClick', notification);\n if (closeOnClick) notification.close();\n });\n notification.on('beforeDestroy', function () {\n $el.off('click');\n });\n /* Touch Events */\n\n var isTouched;\n var isMoved;\n var isScrolling;\n var touchesDiff;\n var touchStartTime;\n var notificationHeight;\n var touchesStart = {};\n\n function handleTouchStart(e) {\n if (isTouched) return;\n isTouched = true;\n isMoved = false;\n isScrolling = undefined;\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now();\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) < Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n e.preventDefault();\n\n if (!isMoved) {\n notification.$el.removeClass('notification-transitioning');\n notification.$el.transition(0);\n notificationHeight = notification.$el[0].offsetHeight / 2;\n }\n\n isMoved = true;\n touchesDiff = pageY - touchesStart.y;\n var newTranslate = touchesDiff;\n\n if (touchesDiff > 0) {\n newTranslate = Math.pow(touchesDiff, 0.8);\n }\n\n notification.$el.transform(\"translate3d(0, \".concat(newTranslate, \"px, 0)\"));\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n\n if (touchesDiff === 0) {\n return;\n }\n\n var timeDiff = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now() - touchStartTime;\n notification.$el.transition('');\n notification.$el.addClass('notification-transitioning');\n notification.$el.transform('');\n\n if (touchesDiff < -10 && timeDiff < 300 || -touchesDiff >= notificationHeight / 1) {\n notification.close();\n }\n }\n\n function attachTouchEvents() {\n if (true) {\n notification.$el.on(app.touchEvents.start, handleTouchStart, {\n passive: true\n });\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n }\n }\n\n function detachTouchEvents() {\n if (\"development\".TARGET !== 'desktop') {\n notification.$el.off(app.touchEvents.start, handleTouchStart, {\n passive: true\n });\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }\n }\n\n var timeoutId;\n\n function closeOnTimeout() {\n timeoutId = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n if (isTouched && isMoved) {\n closeOnTimeout();\n return;\n }\n\n notification.close();\n }, closeTimeout);\n }\n\n notification.on('open', function () {\n if (notification.params.swipeToClose) {\n attachTouchEvents();\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.notification.modal-in').each(function (index, openedEl) {\n var notificationInstance = app.notification.get(openedEl);\n\n if (openedEl !== notification.el && notificationInstance) {\n notificationInstance.close();\n }\n });\n\n if (closeTimeout) {\n closeOnTimeout();\n }\n });\n notification.on('close beforeDestroy', function () {\n if (notification.params.swipeToClose) {\n detachTouchEvents();\n }\n\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].clearTimeout(timeoutId);\n });\n return _possibleConstructorReturn(_this, notification);\n }\n\n _createClass(Notification, [{\n key: \"render\",\n value: function render() {\n var notification = this;\n if (notification.params.render) return notification.params.render.call(notification, notification);\n var _notification$params2 = notification.params,\n icon = _notification$params2.icon,\n title = _notification$params2.title,\n titleRightText = _notification$params2.titleRightText,\n subtitle = _notification$params2.subtitle,\n text = _notification$params2.text,\n closeButton = _notification$params2.closeButton,\n cssClass = _notification$params2.cssClass;\n return \"\\n <div class=\\\"notification \".concat(cssClass || '', \"\\\">\\n <div class=\\\"notification-header\\\">\\n \").concat(icon ? \"<div class=\\\"notification-icon\\\">\".concat(icon, \"</div>\") : '', \"\\n \").concat(title ? \"<div class=\\\"notification-title\\\">\".concat(title, \"</div>\") : '', \"\\n \").concat(titleRightText ? \"<div class=\\\"notification-title-right-text\\\">\".concat(titleRightText, \"</div>\") : '', \"\\n \").concat(closeButton ? '<span class=\"notification-close-button\"></span>' : '', \"\\n </div>\\n <div class=\\\"notification-content\\\">\\n \").concat(subtitle ? \"<div class=\\\"notification-subtitle\\\">\".concat(subtitle, \"</div>\") : '', \"\\n \").concat(text ? \"<div class=\\\"notification-text\\\">\".concat(text, \"</div>\") : '', \"\\n </div>\\n </div>\\n \").trim();\n }\n }]);\n\n return Notification;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Notification);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/notification/notification-class.js?");
  559. /***/ }),
  560. /***/ "./node_modules/framework7/components/notification/notification.js":
  561. /*!*************************************************************************!*\
  562. !*** ./node_modules/framework7/components/notification/notification.js ***!
  563. \*************************************************************************/
  564. /*! exports provided: default */
  565. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  566. "use strict";
  567. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _notification_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./notification-class */ \"./node_modules/framework7/components/notification/notification-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'notification',\n static: {\n Notification: _notification_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.notification = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({}, Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n app: app,\n constructor: _notification_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n defaultSelector: '.notification.modal-in'\n }));\n },\n params: {\n notification: {\n icon: null,\n title: null,\n titleRightText: null,\n subtitle: null,\n text: null,\n closeButton: false,\n closeTimeout: null,\n closeOnClick: false,\n swipeToClose: true,\n cssClass: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/notification/notification.js?");
  568. /***/ }),
  569. /***/ "./node_modules/framework7/components/panel/panel-class.js":
  570. /*!*****************************************************************!*\
  571. !*** ./node_modules/framework7/components/panel/panel-class.js ***!
  572. \*****************************************************************/
  573. /*! exports provided: default */
  574. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  575. "use strict";
  576. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _swipe_panel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./swipe-panel */ \"./node_modules/framework7/components/panel/swipe-panel.js\");\n/* harmony import */ var _resizable_panel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./resizable-panel */ \"./node_modules/framework7/components/panel/resizable-panel.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar Panel = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Panel, _Framework7Class);\n\n var _super = _createSuper(Panel);\n\n function Panel(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Panel);\n\n _this = _super.call(this, params, [app]);\n\n var panel = _assertThisInitialized(_this);\n\n var el = params.el;\n\n if (!el && params.content) {\n el = params.content;\n }\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, panel);\n if ($el[0].f7Panel) return _possibleConstructorReturn(_this, $el[0].f7Panel);\n $el[0].f7Panel = panel;\n var opened = params.opened,\n side = params.side,\n effect = params.effect;\n if (typeof opened === 'undefined') opened = $el.hasClass('panel-active');\n if (typeof side === 'undefined') side = $el.hasClass('panel-left') ? 'left' : 'right';\n if (typeof effect === 'undefined') effect = $el.hasClass('panel-cover') ? 'cover' : 'reveal';\n\n if (!app.panel[side]) {\n app.panel[side] = panel;\n } else {\n throw new Error(\"Framework7: Can't create panel; app already has a \".concat(side, \" panel!\"));\n }\n\n var $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"panel-backdrop\"></div>');\n $backdropEl.insertBefore($el);\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(panel, {\n app: app,\n side: side,\n effect: effect,\n $el: $el,\n el: $el[0],\n opened: opened,\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl[0],\n params: params\n }); // Install Modules\n\n panel.useModules(); // Init\n\n panel.init();\n return _possibleConstructorReturn(_this, panel);\n }\n\n _createClass(Panel, [{\n key: \"getViewEl\",\n value: function getViewEl() {\n var panel = this;\n var app = panel.app;\n var viewEl;\n\n if (app.root.children('.views').length > 0) {\n viewEl = app.root.children('.views')[0];\n } else {\n viewEl = app.root.children('.view')[0];\n }\n\n return viewEl;\n }\n }, {\n key: \"setBreakpoint\",\n value: function setBreakpoint() {\n var emitEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var panel = this;\n var app = panel.app;\n var side = panel.side,\n $el = panel.$el;\n var $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panel.getViewEl());\n var breakpoint = app.params.panel[\"\".concat(side, \"Breakpoint\")];\n var wasVisible = $el.hasClass('panel-visible-by-breakpoint');\n\n if (app.width >= breakpoint) {\n if (!wasVisible) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass(\"with-panel-\".concat(side, \"-reveal with-panel-\").concat(side, \"-cover with-panel\"));\n $el.css('display', '').addClass('panel-visible-by-breakpoint').removeClass('panel-active');\n panel.onOpen();\n panel.onOpened();\n $viewEl.css(_defineProperty({}, \"margin-\".concat(side), \"\".concat($el.width(), \"px\")));\n app.allowPanelOpen = true;\n\n if (emitEvents) {\n panel.emit('local::breakpoint panelBreakpoint');\n panel.$el.trigger('panel:breakpoint', panel);\n }\n } else {\n $viewEl.css(_defineProperty({}, \"margin-\".concat(side), \"\".concat($el.width(), \"px\")));\n }\n } else if (wasVisible) {\n $el.css('display', '').removeClass('panel-visible-by-breakpoint panel-active');\n panel.onClose();\n panel.onClosed();\n $viewEl.css(_defineProperty({}, \"margin-\".concat(side), ''));\n\n if (emitEvents) {\n panel.emit('local::breakpoint panelBreakpoint');\n panel.$el.trigger('panel:breakpoint', panel);\n }\n }\n }\n }, {\n key: \"initBreakpoints\",\n value: function initBreakpoints() {\n var panel = this;\n var app = panel.app;\n\n panel.resizeHandler = function resizeHandler() {\n panel.setBreakpoint();\n };\n\n if (app.params.panel[\"\".concat(panel.side, \"Breakpoint\")]) {\n app.on('resize', panel.resizeHandler);\n }\n\n panel.setBreakpoint();\n return panel;\n }\n }, {\n key: \"initSwipePanel\",\n value: function initSwipePanel() {\n if (true) {\n Object(_swipe_panel__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this);\n }\n }\n }, {\n key: \"initResizablePanel\",\n value: function initResizablePanel() {\n Object(_resizable_panel__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this);\n }\n }, {\n key: \"toggle\",\n value: function toggle() {\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var panel = this;\n if (panel.opened) panel.close(animate);else panel.open(animate);\n }\n }, {\n key: \"onOpen\",\n value: function onOpen() {\n var panel = this;\n panel.opened = true;\n panel.$el.trigger('panel:beforeopen', panel);\n panel.emit('local::beforeOpen panelBeforeOpen', panel);\n panel.$el.trigger('panel:open', panel);\n panel.emit('local::open panelOpen', panel);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var panel = this;\n var app = panel.app;\n app.panel.allowOpen = true;\n panel.$el.trigger('panel:opened', panel);\n panel.emit('local::opened panelOpened', panel);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var panel = this;\n panel.opened = false;\n panel.$el.addClass('panel-closing');\n panel.$el.trigger('panel:beforeclose', panel);\n panel.emit('local::beforeClose panelBeforeClose', panel);\n panel.$el.trigger('panel:close', panel);\n panel.emit('local::close panelClose', panel);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var panel = this;\n var app = panel.app;\n app.panel.allowOpen = true;\n panel.$el.removeClass('panel-closing');\n panel.$el.trigger('panel:closed', panel);\n panel.emit('local::closed panelClosed', panel);\n }\n }, {\n key: \"open\",\n value: function open() {\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var panel = this;\n var app = panel.app;\n if (!app.panel.allowOpen) return false;\n var side = panel.side,\n effect = panel.effect,\n $el = panel.$el,\n $backdropEl = panel.$backdropEl,\n opened = panel.opened;\n var $panelParentEl = $el.parent();\n var wasInDom = $el.parents(document).length > 0;\n\n if (!$panelParentEl.is(app.root) || $el.prevAll('.views, .view').length) {\n var $insertBeforeEl = app.root.children('.panel, .views, .view').eq(0);\n var $insertAfterEl = app.root.children('.statusbar').eq(0);\n\n if ($insertBeforeEl.length) {\n $el.insertBefore($insertBeforeEl);\n } else if ($insertAfterEl.length) {\n $el.insertAfter($insertBeforeEl);\n } else {\n app.root.prepend($el);\n }\n\n if ($backdropEl && $backdropEl.length && (!$backdropEl.parent().is(app.root) && $backdropEl.nextAll('.panel').length === 0 || $backdropEl.parent().is(app.root) && $backdropEl.nextAll('.panel').length === 0)) {\n $backdropEl.insertBefore($el);\n }\n\n panel.once('panelClosed', function () {\n if (wasInDom) {\n $panelParentEl.append($el);\n } else {\n $el.remove();\n }\n });\n } // Ignore if opened\n\n\n if (opened || $el.hasClass('panel-visible-by-breakpoint') || $el.hasClass('panel-active')) return false; // Close if some panel is opened\n\n app.panel.close(side === 'left' ? 'right' : 'left', animate);\n app.panel.allowOpen = false;\n $el[animate ? 'removeClass' : 'addClass']('not-animated');\n $el.css({\n display: 'block'\n }).addClass('panel-active');\n $backdropEl[animate ? 'removeClass' : 'addClass']('not-animated');\n $backdropEl.css({\n display: 'block'\n });\n /* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_clientLeft\"] }] */\n // panel._clientLeft = $el[0].clientLeft;\n // Transition End;\n\n var transitionEndTarget = effect === 'reveal' ? $el.nextAll('.view, .views').eq(0) : $el;\n\n function panelTransitionEnd() {\n transitionEndTarget.transitionEnd(function (e) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).is(transitionEndTarget)) {\n if ($el.hasClass('panel-active')) {\n panel.onOpened();\n $backdropEl.css({\n display: ''\n });\n } else {\n panel.onClosed();\n $backdropEl.css({\n display: ''\n });\n }\n } else panelTransitionEnd();\n });\n }\n\n if (animate) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass(\"with-panel with-panel-\".concat(side, \"-\").concat(effect));\n panel.onOpen();\n panelTransitionEnd();\n });\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass(\"with-panel with-panel-\".concat(side, \"-\").concat(effect));\n panel.onOpen();\n panel.onOpened();\n $backdropEl.css({\n display: ''\n });\n }\n\n return true;\n }\n }, {\n key: \"close\",\n value: function close() {\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var panel = this;\n var app = panel.app;\n var side = panel.side,\n effect = panel.effect,\n $el = panel.$el,\n $backdropEl = panel.$backdropEl,\n opened = panel.opened;\n if (!opened || $el.hasClass('panel-visible-by-breakpoint') || !$el.hasClass('panel-active')) return false;\n $el[animate ? 'removeClass' : 'addClass']('not-animated');\n $el.removeClass('panel-active');\n $backdropEl[animate ? 'removeClass' : 'addClass']('not-animated');\n var transitionEndTarget = effect === 'reveal' ? $el.nextAll('.view, .views').eq(0) : $el;\n panel.onClose();\n app.panel.allowOpen = false;\n\n if (animate) {\n transitionEndTarget.transitionEnd(function () {\n if ($el.hasClass('panel-active')) return;\n $el.css({\n display: ''\n });\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-panel-transitioning');\n panel.onClosed();\n });\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass(\"with-panel with-panel-\".concat(side, \"-\").concat(effect)).addClass('with-panel-transitioning');\n } else {\n $el.css({\n display: ''\n });\n $el.removeClass('not-animated');\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass(\"with-panel with-panel-transitioning with-panel-\".concat(side, \"-\").concat(effect));\n panel.onClosed();\n }\n\n return true;\n }\n }, {\n key: \"init\",\n value: function init() {\n var panel = this;\n var app = panel.app;\n\n if (app.params.panel[\"\".concat(panel.side, \"Breakpoint\")]) {\n panel.initBreakpoints();\n }\n\n if (\"development\".TARGET !== 'desktop') {\n if (app.params.panel.swipe === panel.side || app.params.panel.swipe === 'both' || app.params.panel.swipe && app.params.panel.swipe !== panel.side && app.params.panel.swipeCloseOpposite) {\n panel.initSwipePanel();\n }\n }\n\n if (panel.params.resizable || panel.$el.hasClass('panel-resizable')) {\n panel.initResizablePanel();\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var panel = this;\n var app = panel.app;\n\n if (!panel.$el) {\n // Panel already destroyed\n return;\n }\n\n panel.emit('local::beforeDestroy panelBeforeDestroy', panel);\n panel.$el.trigger('panel:beforedestroy', panel);\n\n if (panel.resizeHandler) {\n app.off('resize', panel.resizeHandler);\n }\n\n if (panel.$el.hasClass('panel-visible-by-breakpoint')) {\n var $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panel.getViewEl());\n panel.$el.css('display', '').removeClass('panel-visible-by-breakpoint panel-active');\n $viewEl.css(_defineProperty({}, \"margin-\".concat(panel.side), ''));\n panel.emit('local::breakpoint panelBreakpoint');\n panel.$el.trigger('panel:breakpoint', panel);\n }\n\n panel.$el.trigger('panel:destroy', panel);\n panel.emit('local::destroy panelDestroy');\n delete app.panel[panel.side];\n\n if (panel.el) {\n panel.el.f7Panel = null;\n delete panel.el.f7Panel;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(panel);\n panel = null;\n }\n }]);\n\n return Panel;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Panel);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/panel/panel-class.js?");
  577. /***/ }),
  578. /***/ "./node_modules/framework7/components/panel/panel.js":
  579. /*!***********************************************************!*\
  580. !*** ./node_modules/framework7/components/panel/panel.js ***!
  581. \***********************************************************/
  582. /*! exports provided: default */
  583. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  584. "use strict";
  585. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _panel_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./panel-class */ \"./node_modules/framework7/components/panel/panel-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'panel',\n params: {\n panel: {\n leftBreakpoint: 0,\n rightBreakpoint: 0,\n swipe: undefined,\n // or 'left' or 'right' or 'both'\n swipeActiveArea: 0,\n swipeCloseActiveAreaSide: 0,\n swipeCloseOpposite: true,\n swipeOnlyClose: false,\n swipeNoFollow: false,\n swipeThreshold: 0,\n closeByBackdropClick: true\n }\n },\n static: {\n Panel: _panel_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n instance: {\n panel: {\n allowOpen: true\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app.panel, {\n disableResizable: function disableResizable() {\n var panel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'both';\n var side;\n var panels = [];\n\n if (typeof panel === 'string') {\n if (panel === 'both') {\n side = 'both';\n panels = [app.panel.left, app.panel.right];\n } else {\n side = panel;\n panels.push(app.panel[side]);\n }\n } else {\n panels = [panel];\n }\n\n panels.forEach(function (panelInstance) {\n panelInstance.resizable = false;\n panelInstance.$el.removeClass('panel-resizable');\n });\n },\n enableResizable: function enableResizable() {\n var panel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'both';\n var side;\n var panels = [];\n\n if (typeof panel === 'string') {\n if (panel === 'both') {\n side = 'both';\n panels = [app.panel.left, app.panel.right];\n } else {\n side = panel;\n panels.push(app.panel[side]);\n }\n } else {\n panels = [panel];\n }\n\n panels.forEach(function (panelInstance) {\n if (!panelInstance) return;\n\n if (!panelInstance.resizableInitialized) {\n panelInstance.initResizablePanel();\n } else {\n panelInstance.resizable = true;\n panelInstance.$el.addClass('panel-resizable');\n }\n });\n },\n disableSwipe: function disableSwipe() {\n var panel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'both';\n var side;\n var panels = [];\n\n if (typeof panel === 'string') {\n if (panel === 'both') {\n side = 'both';\n panels = [app.panel.left, app.panel.right];\n } else {\n side = panel;\n panels.push(app.panel[side]);\n }\n } else {\n panels = [panel];\n }\n\n panels.forEach(function (panelInstance) {\n panelInstance.swipeable = false;\n });\n },\n enableSwipe: function enableSwipe() {\n var panel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'both';\n var panels = [];\n var side;\n\n if (typeof panel === 'string') {\n side = panel;\n\n if (app.params.panel.swipe === 'left' && side === 'right' || app.params.panel.swipe === 'right' && side === 'left' || side === 'both') {\n side = 'both';\n app.params.panel.swipe = side;\n panels = [app.panel.left, app.panel.right];\n } else {\n app.params.panel.swipe = side;\n panels.push(app.panel[side]);\n }\n } else if (panel) {\n panels.push(panel);\n }\n\n panels.forEach(function (panelInstance) {\n if (!panelInstance) return;\n\n if (!panelInstance.swipeInitialized) {\n panelInstance.initSwipePanel();\n } else {\n panelInstance.swipeable = true;\n }\n });\n },\n create: function create(params) {\n return new _panel_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, params);\n },\n open: function open(side, animate) {\n var panelSide = side;\n\n if (!panelSide) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').length > 1) {\n return false;\n }\n\n panelSide = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').hasClass('panel-left') ? 'left' : 'right';\n }\n\n if (!panelSide) return false;\n\n if (app.panel[panelSide]) {\n return app.panel[panelSide].open(animate);\n }\n\n var $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n\n if ($panelEl.length > 0) {\n return app.panel.create({\n el: $panelEl\n }).open(animate);\n }\n\n return false;\n },\n close: function close(side, animate) {\n var $panelEl;\n var panelSide;\n\n if (panelSide) {\n panelSide = side;\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n } else {\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active');\n panelSide = $panelEl.hasClass('panel-left') ? 'left' : 'right';\n }\n\n if (!panelSide) return false;\n\n if (app.panel[panelSide]) {\n return app.panel[panelSide].close(animate);\n }\n\n if ($panelEl.length > 0) {\n return app.panel.create({\n el: $panelEl\n }).close(animate);\n }\n\n return false;\n },\n toggle: function toggle(side, animate) {\n var $panelEl;\n var panelSide = side;\n\n if (side) {\n panelSide = side;\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active').length) {\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active');\n panelSide = $panelEl.hasClass('panel-left') ? 'left' : 'right';\n } else {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').length > 1) {\n return false;\n }\n\n panelSide = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').hasClass('panel-left') ? 'left' : 'right';\n $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n }\n\n if (!panelSide) return false;\n\n if (app.panel[panelSide]) {\n return app.panel[panelSide].toggle(animate);\n }\n\n if ($panelEl.length > 0) {\n return app.panel.create({\n el: $panelEl\n }).toggle(animate);\n }\n\n return false;\n },\n get: function get(side) {\n var panelSide = side;\n\n if (!panelSide) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').length > 1) {\n return undefined;\n }\n\n panelSide = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').hasClass('panel-left') ? 'left' : 'right';\n }\n\n if (!panelSide) return undefined;\n\n if (app.panel[panelSide]) {\n return app.panel[panelSide];\n }\n\n var $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".panel-\".concat(panelSide));\n\n if ($panelEl.length > 0) {\n return app.panel.create({\n el: $panelEl\n });\n }\n\n return undefined;\n }\n });\n },\n on: {\n init: function init() {\n var app = this; // Create Panels\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').each(function (index, panelEl) {\n var side = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panelEl).hasClass('panel-left') ? 'left' : 'right';\n app.panel[side] = app.panel.create({\n el: panelEl,\n side: side\n });\n });\n }\n },\n clicks: {\n '.panel-open': function open(clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var side = 'left';\n\n if (data.panel === 'right' || Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').length === 1 && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel').hasClass('panel-right')) {\n side = 'right';\n }\n\n app.panel.open(side, data.animate);\n },\n '.panel-close': function close(clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var side = data.panel;\n app.panel.close(side, data.animate);\n },\n '.panel-toggle': function close(clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var side = data.panel;\n app.panel.toggle(side, data.animate);\n },\n '.panel-backdrop': function close() {\n var app = this;\n var $panelEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel-active');\n var instance = $panelEl[0] && $panelEl[0].f7Panel;\n $panelEl.trigger('panel:backdrop-click');\n\n if (instance) {\n instance.emit('backdropClick', instance);\n }\n\n app.emit('panelBackdropClick', instance || $panelEl[0]);\n if (app.params.panel.closeByBackdropClick) app.panel.close();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/panel/panel.js?");
  586. /***/ }),
  587. /***/ "./node_modules/framework7/components/panel/resizable-panel.js":
  588. /*!*********************************************************************!*\
  589. !*** ./node_modules/framework7/components/panel/resizable-panel.js ***!
  590. \*********************************************************************/
  591. /*! exports provided: default */
  592. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  593. "use strict";
  594. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n\n\n\n\nfunction resizablePanel(panel) {\n var app = panel.app;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(panel, {\n resizable: true,\n resizableWidth: null,\n resizableInitialized: true\n });\n var $htmlEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html');\n var $el = panel.$el,\n $backdropEl = panel.$backdropEl,\n side = panel.side,\n effect = panel.effect;\n if (!$el) return;\n var isTouched;\n var isMoved;\n var touchesStart = {};\n var touchesDiff;\n var panelWidth;\n var $viewEl;\n var panelMinWidth;\n var panelMaxWidth;\n var visibleByBreakpoint;\n\n function transformCSSWidth(v) {\n if (!v) return null;\n\n if (v.indexOf('%') >= 0 || v.indexOf('vw') >= 0) {\n return parseInt(v, 10) / 100 * app.width;\n }\n\n var newV = parseInt(v, 10);\n if (Number.isNaN(newV)) return null;\n return newV;\n }\n\n function isResizable() {\n return panel.resizable && $el.hasClass('panel-resizable');\n }\n\n function handleTouchStart(e) {\n if (!isResizable()) return;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n isMoved = false;\n isTouched = true;\n panelMinWidth = transformCSSWidth($el.css('min-width'));\n panelMaxWidth = transformCSSWidth($el.css('max-width'));\n visibleByBreakpoint = $el.hasClass('panel-visible-by-breakpoint');\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n\n if (!isMoved) {\n panelWidth = $el[0].offsetWidth;\n $el.transition(0);\n $el.addClass('panel-resizing');\n $htmlEl.css('cursor', 'col-resize');\n\n if (effect === 'reveal' || visibleByBreakpoint) {\n $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panel.getViewEl());\n }\n\n if (effect === 'reveal' && !visibleByBreakpoint) {\n $backdropEl.transition(0);\n $viewEl.transition(0);\n }\n }\n\n isMoved = true;\n e.preventDefault();\n touchesDiff = pageX - touchesStart.x;\n var newPanelWidth = side === 'left' ? panelWidth + touchesDiff : panelWidth - touchesDiff;\n\n if (panelMinWidth && !Number.isNaN(panelMinWidth)) {\n newPanelWidth = Math.max(newPanelWidth, panelMinWidth);\n }\n\n if (panelMaxWidth && !Number.isNaN(panelMaxWidth)) {\n newPanelWidth = Math.min(newPanelWidth, panelMaxWidth);\n }\n\n newPanelWidth = Math.min(Math.max(newPanelWidth, 0), app.width);\n panel.resizableWidth = newPanelWidth;\n $el[0].style.width = \"\".concat(newPanelWidth, \"px\");\n\n if (effect === 'reveal' && !visibleByBreakpoint) {\n if ($viewEl) {\n $viewEl.transform(\"translate3d(\".concat(side === 'left' ? newPanelWidth : -newPanelWidth, \"px, 0, 0)\"));\n }\n\n if ($backdropEl) {\n $backdropEl.transform(\"translate3d(\".concat(side === 'left' ? newPanelWidth : -newPanelWidth, \"px, 0, 0)\"));\n }\n } else if (visibleByBreakpoint && $viewEl) {\n $viewEl.css(\"margin-\".concat(side), \"\".concat(newPanelWidth, \"px\"));\n }\n\n $el.trigger('panel:resize', panel, newPanelWidth);\n panel.emit('local::resize panelResize', panel, newPanelWidth);\n }\n\n function handleTouchEnd() {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').css('cursor', '');\n\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n $htmlEl[0].style.setProperty(\"--f7-panel-\".concat(side, \"-width\"), \"\".concat(panel.resizableWidth, \"px\"));\n $el[0].style.width = '';\n\n if (effect === 'reveal' && !visibleByBreakpoint) {\n $viewEl.transform('');\n $backdropEl.transform('');\n }\n\n $el.removeClass('panel-resizing');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n if (visibleByBreakpoint) return;\n $el.transition('');\n\n if (effect === 'reveal') {\n $backdropEl.transition('');\n if ($viewEl) $viewEl.transition('');\n }\n });\n }\n\n function handleResize() {\n if (!panel.opened || !panel.resizableWidth) return;\n panelMinWidth = transformCSSWidth($el.css('min-width'));\n panelMaxWidth = transformCSSWidth($el.css('max-width'));\n\n if (panelMinWidth && !Number.isNaN(panelMinWidth) && panel.resizableWidth < panelMinWidth) {\n panel.resizableWidth = Math.max(panel.resizableWidth, panelMinWidth);\n }\n\n if (panelMaxWidth && !Number.isNaN(panelMaxWidth) && panel.resizableWidth > panelMaxWidth) {\n panel.resizableWidth = Math.min(panel.resizableWidth, panelMaxWidth);\n }\n\n panel.resizableWidth = Math.min(Math.max(panel.resizableWidth, 0), app.width);\n $htmlEl[0].style.setProperty(\"--f7-panel-\".concat(side, \"-width\"), \"\".concat(panel.resizableWidth, \"px\"));\n }\n\n if (panel.$el.find('.panel-resize-handler').length === 0) {\n panel.$el.append('<div class=\"panel-resize-handler\"></div>');\n }\n\n panel.$resizeHandlerEl = panel.$el.children('.panel-resize-handler');\n $el.addClass('panel-resizable'); // Add Events\n\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n panel.$el.on(app.touchEvents.start, '.panel-resize-handler', handleTouchStart, passive);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('resize', handleResize);\n panel.on('beforeOpen', handleResize);\n panel.once('panelDestroy', function () {\n $el.removeClass('panel-resizable');\n panel.$resizeHandlerEl.remove();\n panel.$el.off(app.touchEvents.start, '.panel-resize-handler', handleTouchStart, passive);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('resize', handleResize);\n panel.off('beforeOpen', handleResize);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (resizablePanel);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/panel/resizable-panel.js?");
  595. /***/ }),
  596. /***/ "./node_modules/framework7/components/panel/swipe-panel.js":
  597. /*!*****************************************************************!*\
  598. !*** ./node_modules/framework7/components/panel/swipe-panel.js ***!
  599. \*****************************************************************/
  600. /*! exports provided: default */
  601. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  602. "use strict";
  603. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\nfunction swipePanel(panel) {\n var app = panel.app;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(panel, {\n swipeable: true,\n swipeInitialized: true\n });\n var params = app.params.panel;\n var $el = panel.$el,\n $backdropEl = panel.$backdropEl,\n side = panel.side,\n effect = panel.effect;\n var otherPanel;\n var isTouched;\n var isMoved;\n var isScrolling;\n var touchesStart = {};\n var touchStartTime;\n var touchesDiff;\n var translate;\n var backdropOpacity;\n var panelWidth;\n var direction;\n var $viewEl;\n var touchMoves = 0;\n\n function handleTouchStart(e) {\n if (!panel.swipeable) return;\n if (!app.panel.allowOpen || !params.swipe && !params.swipeOnlyClose || isTouched) return;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.modal-in:not(.toast):not(.notification), .photo-browser-in').length > 0) return;\n otherPanel = app.panel[side === 'left' ? 'right' : 'left'] || {};\n if (!panel.opened && otherPanel.opened) return;\n\n if (!(params.swipeCloseOpposite || params.swipeOnlyClose)) {\n if (otherPanel.opened) return;\n }\n\n if (e.target && e.target.nodeName.toLowerCase() === 'input' && e.target.type === 'range') return;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.range-slider, .tabs-swipeable-wrap, .calendar-months, .no-swipe-panel, .card-opened').length > 0) return;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n\n if (params.swipeOnlyClose && !panel.opened) {\n return;\n }\n\n if (params.swipe !== 'both' && params.swipeCloseOpposite && params.swipe !== side && !panel.opened) {\n return;\n }\n\n if (params.swipeActiveArea && !panel.opened) {\n if (side === 'left') {\n if (touchesStart.x > params.swipeActiveArea) return;\n }\n\n if (side === 'right') {\n if (touchesStart.x < app.width - params.swipeActiveArea) return;\n }\n }\n\n if (params.swipeCloseActiveAreaSide && panel.opened) {\n if (side === 'left') {\n if (touchesStart.x < $el[0].offsetWidth - params.swipeCloseActiveAreaSide) return;\n }\n\n if (side === 'right') {\n if (touchesStart.x > app.width - $el[0].offsetWidth + params.swipeCloseActiveAreaSide) return;\n }\n }\n\n touchMoves = 0;\n $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(panel.getViewEl());\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n direction = undefined;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n touchMoves += 1;\n if (touchMoves < 2) return;\n\n if (e.f7PreventSwipePanel || app.preventSwipePanelBySwipeBack || app.preventSwipePanel) {\n isTouched = false;\n return;\n }\n\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n if (!direction) {\n if (pageX > touchesStart.x) {\n direction = 'to-right';\n } else {\n direction = 'to-left';\n }\n\n if (params.swipe === 'both') {\n if (params.swipeActiveArea > 0 && !panel.opened) {\n if (side === 'left' && touchesStart.x > params.swipeActiveArea) {\n isTouched = false;\n return;\n }\n\n if (side === 'right' && touchesStart.x < app.width - params.swipeActiveArea) {\n isTouched = false;\n return;\n }\n }\n }\n\n if ($el.hasClass('panel-visible-by-breakpoint')) {\n isTouched = false;\n return;\n }\n\n if (side === 'left' && direction === 'to-left' && !$el.hasClass('panel-active') || side === 'right' && direction === 'to-right' && !$el.hasClass('panel-active')) {\n isTouched = false;\n return;\n }\n }\n\n var threshold = panel.opened ? 0 : -params.swipeThreshold;\n if (side === 'right') threshold = -threshold;\n\n if (params.swipeNoFollow) {\n var touchesDiffNoFollow = pageX - touchesStart.x;\n var timeDiff = new Date().getTime() - touchStartTime;\n var needToSwitch;\n\n if (!panel.opened && (side === 'left' && touchesDiffNoFollow > -threshold || side === 'right' && -touchesDiffNoFollow > threshold)) {\n needToSwitch = true;\n }\n\n if (panel.opened && (side === 'left' && touchesDiffNoFollow < 0 || side === 'right' && touchesDiffNoFollow > 0)) {\n needToSwitch = true;\n }\n\n if (needToSwitch) {\n if (timeDiff < 300) {\n if (direction === 'to-left') {\n if (side === 'right') app.panel.open(side);\n if (side === 'left' && $el.hasClass('panel-active')) app.panel.close();\n }\n\n if (direction === 'to-right') {\n if (side === 'left') app.panel.open(side);\n if (side === 'right' && $el.hasClass('panel-active')) app.panel.close();\n }\n }\n\n isTouched = false;\n isMoved = false;\n }\n\n return;\n }\n\n if (!isMoved) {\n if (!panel.opened) {\n $el.css('display', 'block');\n $backdropEl.css('display', 'block');\n $el.trigger('panel:swipeopen', panel);\n panel.emit('local::swipeOpen panelSwipeOpen', panel);\n }\n\n panelWidth = $el[0].offsetWidth;\n $el.transition(0);\n }\n\n isMoved = true;\n e.preventDefault();\n touchesDiff = pageX - touchesStart.x + threshold;\n\n if (side === 'right') {\n if (effect === 'cover') {\n translate = touchesDiff + (panel.opened ? 0 : panelWidth);\n if (translate < 0) translate = 0;\n\n if (translate > panelWidth) {\n translate = panelWidth;\n }\n } else {\n translate = touchesDiff - (panel.opened ? panelWidth : 0);\n if (translate > 0) translate = 0;\n\n if (translate < -panelWidth) {\n translate = -panelWidth;\n }\n }\n } else {\n translate = touchesDiff + (panel.opened ? panelWidth : 0);\n if (translate < 0) translate = 0;\n\n if (translate > panelWidth) {\n translate = panelWidth;\n }\n }\n\n if (effect === 'reveal') {\n $viewEl.transform(\"translate3d(\".concat(translate, \"px,0,0)\")).transition(0);\n $backdropEl.transform(\"translate3d(\".concat(translate, \"px,0,0)\")).transition(0);\n $el.trigger('panel:swipe', panel, Math.abs(translate / panelWidth));\n panel.emit('local::swipe panelSwipe', panel, Math.abs(translate / panelWidth));\n } else {\n if (side === 'left') translate -= panelWidth;\n $el.transform(\"translate3d(\".concat(translate, \"px,0,0)\")).transition(0);\n $backdropEl.transition(0);\n backdropOpacity = 1 - Math.abs(translate / panelWidth);\n $backdropEl.css({\n opacity: backdropOpacity\n });\n $el.trigger('panel:swipe', panel, Math.abs(translate / panelWidth));\n panel.emit('local::swipe panelSwipe', panel, Math.abs(translate / panelWidth));\n }\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n var timeDiff = new Date().getTime() - touchStartTime;\n var action;\n var edge = translate === 0 || Math.abs(translate) === panelWidth;\n var threshold = params.swipeThreshold || 0;\n\n if (!panel.opened) {\n if (Math.abs(touchesDiff) < threshold) {\n action = 'reset';\n } else if (effect === 'cover') {\n if (translate === 0) {\n action = 'swap'; // open\n } else if (timeDiff < 300 && Math.abs(translate) > 0) {\n action = 'swap'; // open\n } else if (timeDiff >= 300 && Math.abs(translate) < panelWidth / 2) {\n action = 'swap'; // open\n } else {\n action = 'reset'; // close\n }\n } else if (translate === 0) {\n action = 'reset';\n } else if (timeDiff < 300 && Math.abs(translate) > 0 || timeDiff >= 300 && Math.abs(translate) >= panelWidth / 2) {\n action = 'swap';\n } else {\n action = 'reset';\n }\n } else if (effect === 'cover') {\n if (translate === 0) {\n action = 'reset'; // open\n } else if (timeDiff < 300 && Math.abs(translate) > 0) {\n action = 'swap'; // open\n } else if (timeDiff >= 300 && Math.abs(translate) < panelWidth / 2) {\n action = 'reset'; // open\n } else {\n action = 'swap'; // close\n }\n } else if (translate === -panelWidth) {\n action = 'reset';\n } else if (timeDiff < 300 && Math.abs(translate) >= 0 || timeDiff >= 300 && Math.abs(translate) <= panelWidth / 2) {\n if (side === 'left' && translate === panelWidth) action = 'reset';else action = 'swap';\n } else {\n action = 'reset';\n }\n\n if (action === 'swap') {\n if (panel.opened) {\n panel.close(!edge);\n } else {\n panel.open(!edge);\n }\n }\n\n if (action === 'reset') {\n if (!panel.opened) {\n if (edge) {\n $el.css({\n display: ''\n });\n } else {\n var target = effect === 'reveal' ? $viewEl : $el;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-panel-transitioning');\n target.transitionEnd(function () {\n if ($el.hasClass('panel-active')) return;\n $el.css({\n display: ''\n });\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-panel-transitioning');\n });\n }\n }\n }\n\n if (effect === 'reveal') {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $viewEl.transition('');\n $viewEl.transform('');\n });\n }\n\n $el.transition('').transform('');\n $backdropEl.css({\n display: ''\n }).transform('').transition('').css('opacity', '');\n } // Add Events\n\n\n app.on('touchstart:passive', handleTouchStart);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n panel.on('panelDestroy', function () {\n app.off('touchstart:passive', handleTouchStart);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (swipePanel);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/panel/swipe-panel.js?");
  604. /***/ }),
  605. /***/ "./node_modules/framework7/components/photo-browser/photo-browser-class.js":
  606. /*!*********************************************************************************!*\
  607. !*** ./node_modules/framework7/components/photo-browser/photo-browser-class.js ***!
  608. \*********************************************************************************/
  609. /*! exports provided: default */
  610. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  611. "use strict";
  612. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint indent: [\"off\"] */\n\n\n\n\nvar PhotoBrowser = /*#__PURE__*/function (_Framework7Class) {\n _inherits(PhotoBrowser, _Framework7Class);\n\n var _super = _createSuper(PhotoBrowser);\n\n function PhotoBrowser(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PhotoBrowser);\n\n _this = _super.call(this, params, [app]);\n\n var pb = _assertThisInitialized(_this);\n\n pb.app = app;\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.photoBrowser); // Extend defaults with modules params\n\n pb.useModulesParams(defaults);\n pb.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(pb, {\n exposed: false,\n opened: false,\n activeIndex: pb.params.swiper.initialSlide,\n url: pb.params.url,\n view: pb.params.view || app.views.main,\n swipeToClose: {\n allow: true,\n isTouched: false,\n diff: undefined,\n start: undefined,\n current: undefined,\n started: false,\n activeSlide: undefined,\n timeStart: undefined\n }\n }); // Install Modules\n\n pb.useModules(); // Init\n\n pb.init();\n return _this;\n }\n\n _createClass(PhotoBrowser, [{\n key: \"onSlideChange\",\n value: function onSlideChange(swiper) {\n var pb = this;\n pb.activeIndex = swiper.activeIndex;\n var current = swiper.activeIndex + 1;\n var total = pb.params.virtualSlides ? pb.params.photos.length : swiper.slides.length;\n\n if (swiper.params.loop) {\n total -= 2;\n current -= swiper.loopedSlides;\n if (current < 1) current = total + current;\n if (current > total) current -= total;\n }\n\n var $activeSlideEl = pb.params.virtualSlides ? swiper.$wrapperEl.find(\".swiper-slide[data-swiper-slide-index=\\\"\".concat(swiper.activeIndex, \"\\\"]\")) : swiper.slides.eq(swiper.activeIndex);\n var $previousSlideEl = pb.params.virtualSlides ? swiper.$wrapperEl.find(\".swiper-slide[data-swiper-slide-index=\\\"\".concat(swiper.previousIndex, \"\\\"]\")) : swiper.slides.eq(swiper.previousIndex);\n var $currentEl = pb.$el.find('.photo-browser-current');\n var $totalEl = pb.$el.find('.photo-browser-total');\n\n if (pb.params.type === 'page' && pb.params.navbar && $currentEl.length === 0 && pb.app.theme === 'ios') {\n var navbarEl = pb.app.navbar.getElByPage(pb.$el);\n\n if (navbarEl) {\n $currentEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarEl).find('.photo-browser-current');\n $totalEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navbarEl).find('.photo-browser-total');\n }\n }\n\n $currentEl.text(current);\n $totalEl.text(total); // Update captions\n\n if (pb.captions.length > 0) {\n var captionIndex = swiper.params.loop ? $activeSlideEl.attr('data-swiper-slide-index') : pb.activeIndex;\n pb.$captionsContainerEl.find('.photo-browser-caption-active').removeClass('photo-browser-caption-active');\n pb.$captionsContainerEl.find(\"[data-caption-index=\\\"\".concat(captionIndex, \"\\\"]\")).addClass('photo-browser-caption-active');\n } // Stop Video\n\n\n var previousSlideVideo = $previousSlideEl.find('video');\n\n if (previousSlideVideo.length > 0) {\n if ('pause' in previousSlideVideo[0]) previousSlideVideo[0].pause();\n }\n }\n }, {\n key: \"onTouchStart\",\n value: function onTouchStart() {\n var pb = this;\n var swipeToClose = pb.swipeToClose;\n if (!swipeToClose.allow) return;\n swipeToClose.isTouched = true;\n }\n }, {\n key: \"onTouchMove\",\n value: function onTouchMove(e) {\n var pb = this;\n var swipeToClose = pb.swipeToClose;\n if (!swipeToClose.isTouched) return;\n\n if (!swipeToClose.started) {\n swipeToClose.started = true;\n swipeToClose.start = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (pb.params.virtualSlides) {\n swipeToClose.activeSlide = pb.swiper.$wrapperEl.children('.swiper-slide-active');\n } else {\n swipeToClose.activeSlide = pb.swiper.slides.eq(pb.swiper.activeIndex);\n }\n\n swipeToClose.timeStart = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n }\n\n e.preventDefault();\n swipeToClose.current = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToClose.diff = swipeToClose.start - swipeToClose.current;\n var opacity = 1 - Math.abs(swipeToClose.diff) / 300;\n var color = pb.exposed || pb.params.theme === 'dark' ? 0 : 255;\n swipeToClose.activeSlide.transform(\"translate3d(0,\".concat(-swipeToClose.diff, \"px,0)\"));\n pb.swiper.$el.css('background-color', \"rgba(\".concat(color, \", \").concat(color, \", \").concat(color, \", \").concat(opacity, \")\")).transition(0);\n }\n }, {\n key: \"onTouchEnd\",\n value: function onTouchEnd() {\n var pb = this;\n var swipeToClose = pb.swipeToClose;\n swipeToClose.isTouched = false;\n\n if (!swipeToClose.started) {\n swipeToClose.started = false;\n return;\n }\n\n swipeToClose.started = false;\n swipeToClose.allow = false;\n var diff = Math.abs(swipeToClose.diff);\n var timeDiff = new Date().getTime() - swipeToClose.timeStart;\n\n if (timeDiff < 300 && diff > 20 || timeDiff >= 300 && diff > 100) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (pb.$el) {\n if (swipeToClose.diff < 0) pb.$el.addClass('swipe-close-to-bottom');else pb.$el.addClass('swipe-close-to-top');\n }\n\n pb.emit('local::swipeToClose', pb);\n pb.close();\n swipeToClose.allow = true;\n });\n return;\n }\n\n if (diff !== 0) {\n swipeToClose.activeSlide.addClass('photo-browser-transitioning').transitionEnd(function () {\n swipeToClose.allow = true;\n swipeToClose.activeSlide.removeClass('photo-browser-transitioning');\n });\n } else {\n swipeToClose.allow = true;\n }\n\n pb.swiper.$el.transition('').css('background-color', '');\n swipeToClose.activeSlide.transform('');\n } // Render Functions\n\n }, {\n key: \"renderNavbar\",\n value: function renderNavbar() {\n var pb = this;\n if (pb.params.renderNavbar) return pb.params.renderNavbar.call(pb);\n var iconsColor = pb.params.iconsColor;\n if (!pb.params.iconsColor && pb.params.theme === 'dark') iconsColor = 'white';\n var backLinkText = (pb.app.theme === 'ios' || pb.app.theme === 'aurora') && pb.params.backLinkText ? pb.params.backLinkText : '';\n var isPopup = pb.params.type !== 'page';\n var navbarHtml = \"\\n <div class=\\\"navbar\\\">\\n <div class=\\\"navbar-inner sliding\\\">\\n <div class=\\\"left\\\">\\n <a class=\\\"link \".concat(isPopup ? 'popup-close' : '', \" \").concat(!backLinkText ? 'icon-only' : '', \" \").concat(!isPopup ? 'back' : '', \"\\\" \").concat(isPopup ? 'data-popup=\".photo-browser-popup\"' : '', \">\\n <i class=\\\"icon icon-back \").concat(iconsColor ? \"color-\".concat(iconsColor) : '', \"\\\"></i>\\n \").concat(backLinkText ? \"<span>\".concat(backLinkText, \"</span>\") : '', \"\\n </a>\\n </div>\\n <div class=\\\"title\\\">\\n <span class=\\\"photo-browser-current\\\"></span>\\n <span class=\\\"photo-browser-of\\\">\").concat(pb.params.navbarOfText, \"</span>\\n <span class=\\\"photo-browser-total\\\"></span>\\n </div>\\n <div class=\\\"right\\\"></div>\\n </div>\\n </div>\\n \").trim();\n return navbarHtml;\n }\n }, {\n key: \"renderToolbar\",\n value: function renderToolbar() {\n var pb = this;\n if (pb.params.renderToolbar) return pb.params.renderToolbar.call(pb);\n var iconsColor = pb.params.iconsColor;\n if (!pb.params.iconsColor && pb.params.theme === 'dark') iconsColor = 'white';\n var toolbarHtml = \"\\n <div class=\\\"toolbar toolbar-bottom tabbar\\\">\\n <div class=\\\"toolbar-inner\\\">\\n <a class=\\\"link photo-browser-prev\\\">\\n <i class=\\\"icon icon-back \".concat(iconsColor ? \"color-\".concat(iconsColor) : '', \"\\\"></i>\\n </a>\\n <a class=\\\"link photo-browser-next\\\">\\n <i class=\\\"icon icon-forward \").concat(iconsColor ? \"color-\".concat(iconsColor) : '', \"\\\"></i>\\n </a>\\n </div>\\n </div>\\n \").trim();\n return toolbarHtml;\n }\n }, {\n key: \"renderCaption\",\n value: function renderCaption(caption, index) {\n var pb = this;\n if (pb.params.renderCaption) return pb.params.renderCaption.call(pb, caption, index);\n var captionHtml = \"\\n <div class=\\\"photo-browser-caption\\\" data-caption-index=\\\"\".concat(index, \"\\\">\\n \").concat(caption, \"\\n </div>\\n \").trim();\n return captionHtml;\n }\n }, {\n key: \"renderObject\",\n value: function renderObject(photo, index) {\n var pb = this;\n if (pb.params.renderObject) return pb.params.renderObject.call(pb, photo, index);\n var objHtml = \"\\n <div class=\\\"photo-browser-slide photo-browser-object-slide swiper-slide\\\" data-swiper-slide-index=\\\"\".concat(index, \"\\\">\").concat(photo.html ? photo.html : photo, \"</div>\\n \");\n return objHtml;\n }\n }, {\n key: \"renderLazyPhoto\",\n value: function renderLazyPhoto(photo, index) {\n var pb = this;\n if (pb.params.renderLazyPhoto) return pb.params.renderLazyPhoto.call(pb, photo, index);\n var photoHtml = \"\\n <div class=\\\"photo-browser-slide photo-browser-slide-lazy swiper-slide\\\" data-swiper-slide-index=\\\"\".concat(index, \"\\\">\\n <div class=\\\"preloader swiper-lazy-preloader \").concat(pb.params.theme === 'dark' ? 'color-white' : '', \"\\\">\").concat(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(pb.app.theme, \"PreloaderContent\")] || '', \"</div>\\n <span class=\\\"swiper-zoom-container\\\">\\n <img data-src=\\\"\").concat(photo.url ? photo.url : photo, \"\\\" class=\\\"swiper-lazy\\\">\\n </span>\\n </div>\\n \").trim();\n return photoHtml;\n }\n }, {\n key: \"renderPhoto\",\n value: function renderPhoto(photo, index) {\n var pb = this;\n if (pb.params.renderPhoto) return pb.params.renderPhoto.call(pb, photo, index);\n var photoHtml = \"\\n <div class=\\\"photo-browser-slide swiper-slide\\\" data-swiper-slide-index=\\\"\".concat(index, \"\\\">\\n <span class=\\\"swiper-zoom-container\\\">\\n <img src=\\\"\").concat(photo.url ? photo.url : photo, \"\\\">\\n </span>\\n </div>\\n \").trim();\n return photoHtml;\n }\n }, {\n key: \"render\",\n value: function render() {\n var pb = this;\n if (pb.params.render) return pb.params.render.call(pb, pb.params);\n var html = \"\\n <div class=\\\"photo-browser photo-browser-\".concat(pb.params.theme, \"\\\">\\n <div class=\\\"view\\\">\\n <div class=\\\"page photo-browser-page photo-browser-page-\").concat(pb.params.theme, \" no-toolbar \").concat(!pb.params.navbar ? 'no-navbar' : '', \"\\\" data-name=\\\"photo-browser-page\\\">\\n \").concat(pb.params.navbar ? pb.renderNavbar() : '', \"\\n \").concat(pb.params.toolbar ? pb.renderToolbar() : '', \"\\n <div class=\\\"photo-browser-captions photo-browser-captions-\").concat(pb.params.captionsTheme || pb.params.theme, \"\\\">\\n \").concat(pb.params.photos.map(function (photo, index) {\n if (photo.caption) return pb.renderCaption(photo.caption, index);\n return '';\n }).join(' '), \"\\n </div>\\n <div class=\\\"photo-browser-swiper-container swiper-container\\\">\\n <div class=\\\"photo-browser-swiper-wrapper swiper-wrapper\\\">\\n \").concat(pb.params.virtualSlides ? '' : pb.params.photos.map(function (photo, index) {\n if (photo.html || (typeof photo === 'string' || photo instanceof String) && photo.indexOf('<') >= 0 && photo.indexOf('>') >= 0) {\n return pb.renderObject(photo, index);\n }\n\n if (pb.params.swiper.lazy === true || pb.params.swiper.lazy && pb.params.swiper.lazy.enabled) {\n return pb.renderLazyPhoto(photo, index);\n }\n\n return pb.renderPhoto(photo, index);\n }).join(' '), \"\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n \").trim();\n return html;\n }\n }, {\n key: \"renderStandalone\",\n value: function renderStandalone() {\n var pb = this;\n if (pb.params.renderStandalone) return pb.params.renderStandalone.call(pb);\n var standaloneHtml = \"<div class=\\\"popup photo-browser-popup photo-browser-standalone popup-tablet-fullscreen\\\">\".concat(pb.render(), \"</div>\");\n return standaloneHtml;\n }\n }, {\n key: \"renderPage\",\n value: function renderPage() {\n var pb = this;\n if (pb.params.renderPage) return pb.params.renderPage.call(pb);\n var pageHtml = pb.render();\n return pageHtml;\n }\n }, {\n key: \"renderPopup\",\n value: function renderPopup() {\n var pb = this;\n if (pb.params.renderPopup) return pb.params.renderPopup.call(pb);\n var popupHtml = \"<div class=\\\"popup photo-browser-popup\\\">\".concat(pb.render(), \"</div>\");\n return popupHtml;\n } // Callbacks\n\n }, {\n key: \"onOpen\",\n value: function onOpen(type, el) {\n var pb = this;\n var app = pb.app;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n $el[0].f7PhotoBrowser = pb;\n pb.$el = $el;\n pb.el = $el[0];\n pb.openedIn = type;\n pb.opened = true;\n pb.$swiperContainerEl = pb.$el.find('.photo-browser-swiper-container');\n pb.$swiperWrapperEl = pb.$el.find('.photo-browser-swiper-wrapper');\n pb.slides = pb.$el.find('.photo-browser-slide');\n pb.$captionsContainerEl = pb.$el.find('.photo-browser-captions');\n pb.captions = pb.$el.find('.photo-browser-caption'); // Init Swiper\n\n var swiperParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, pb.params.swiper, {\n initialSlide: pb.activeIndex,\n on: {\n tap: function tap(e) {\n pb.emit('local::tap', e);\n },\n click: function click(e) {\n if (pb.params.exposition) {\n pb.expositionToggle();\n }\n\n pb.emit('local::click', e);\n },\n doubleTap: function doubleTap(e) {\n pb.emit('local::doubleTap', e);\n },\n slideChange: function slideChange() {\n var swiper = this;\n pb.onSlideChange(swiper);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n pb.emit.apply(pb, ['local::slideChange'].concat(args));\n },\n transitionStart: function transitionStart() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n pb.emit.apply(pb, ['local::transitionStart'].concat(args));\n },\n transitionEnd: function transitionEnd() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n pb.emit.apply(pb, ['local::transitionEnd'].concat(args));\n },\n slideChangeTransitionStart: function slideChangeTransitionStart() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n pb.emit.apply(pb, ['local::slideChangeTransitionStart'].concat(args));\n },\n slideChangeTransitionEnd: function slideChangeTransitionEnd() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n pb.emit.apply(pb, ['local::slideChangeTransitionEnd'].concat(args));\n },\n lazyImageLoad: function lazyImageLoad() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n pb.emit.apply(pb, ['local::lazyImageLoad'].concat(args));\n },\n lazyImageReady: function lazyImageReady() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var slideEl = args[0];\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).removeClass('photo-browser-slide-lazy');\n pb.emit.apply(pb, ['local::lazyImageReady'].concat(args));\n }\n }\n });\n\n if (pb.params.swipeToClose && pb.params.type !== 'page') {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiperParams.on, {\n touchStart: function touchStart(e) {\n pb.onTouchStart(e);\n pb.emit('local::touchStart', e);\n },\n touchMoveOpposite: function touchMoveOpposite(e) {\n pb.onTouchMove(e);\n pb.emit('local::touchMoveOpposite', e);\n },\n touchEnd: function touchEnd(e) {\n pb.onTouchEnd(e);\n pb.emit('local::touchEnd', e);\n }\n });\n }\n\n if (pb.params.virtualSlides) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiperParams, {\n virtual: {\n slides: pb.params.photos,\n renderSlide: function renderSlide(photo, index) {\n if (photo.html || (typeof photo === 'string' || photo instanceof String) && photo.indexOf('<') >= 0 && photo.indexOf('>') >= 0) {\n return pb.renderObject(photo, index);\n }\n\n if (pb.params.swiper.lazy === true || pb.params.swiper.lazy && pb.params.swiper.lazy.enabled) {\n return pb.renderLazyPhoto(photo, index);\n }\n\n return pb.renderPhoto(photo, index);\n }\n }\n });\n }\n\n pb.swiper = app.swiper.create(pb.$swiperContainerEl, swiperParams);\n\n if (pb.activeIndex === 0) {\n pb.onSlideChange(pb.swiper);\n }\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:open');\n }\n\n pb.emit('local::open photoBrowserOpen', pb);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var pb = this;\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:opened');\n }\n\n pb.emit('local::opened photoBrowserOpened', pb);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var pb = this;\n if (pb.destroyed) return; // Destroy Swiper\n\n if (pb.swiper && pb.swiper.destroy) {\n pb.swiper.destroy(true, false);\n pb.swiper = null;\n delete pb.swiper;\n }\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:close');\n }\n\n pb.emit('local::close photoBrowserClose', pb);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var pb = this;\n if (pb.destroyed) return;\n pb.opened = false;\n pb.$el = null;\n pb.el = null;\n delete pb.$el;\n delete pb.el;\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:closed');\n }\n\n pb.emit('local::closed photoBrowserClosed', pb);\n } // Open\n\n }, {\n key: \"openPage\",\n value: function openPage() {\n var pb = this;\n if (pb.opened) return pb;\n var pageHtml = pb.renderPage();\n pb.view.router.navigate({\n url: pb.url,\n route: {\n content: pageHtml,\n path: pb.url,\n on: {\n pageBeforeIn: function pageBeforeIn(e, page) {\n pb.view.$el.addClass(\"with-photo-browser-page with-photo-browser-page-\".concat(pb.params.theme));\n pb.onOpen('page', page.el);\n },\n pageAfterIn: function pageAfterIn(e, page) {\n pb.onOpened('page', page.el);\n },\n pageBeforeOut: function pageBeforeOut(e, page) {\n pb.view.$el.removeClass(\"with-photo-browser-page with-photo-browser-page-exposed with-photo-browser-page-\".concat(pb.params.theme));\n pb.onClose('page', page.el);\n },\n pageAfterOut: function pageAfterOut(e, page) {\n pb.onClosed('page', page.el);\n }\n }\n }\n });\n return pb;\n }\n }, {\n key: \"openStandalone\",\n value: function openStandalone() {\n var pb = this;\n if (pb.opened) return pb;\n var standaloneHtml = pb.renderStandalone();\n var popupParams = {\n backdrop: false,\n content: standaloneHtml,\n on: {\n popupOpen: function popupOpen(popup) {\n pb.onOpen('popup', popup.el);\n },\n popupOpened: function popupOpened(popup) {\n pb.onOpened('popup', popup.el);\n },\n popupClose: function popupClose(popup) {\n pb.onClose('popup', popup.el);\n },\n popupClosed: function popupClosed(popup) {\n pb.onClosed('popup', popup.el);\n }\n }\n };\n\n if (pb.params.routableModals) {\n pb.view.router.navigate({\n url: pb.url,\n route: {\n path: pb.url,\n popup: popupParams\n }\n });\n } else {\n pb.modal = pb.app.popup.create(popupParams).open();\n }\n\n return pb;\n }\n }, {\n key: \"openPopup\",\n value: function openPopup() {\n var pb = this;\n if (pb.opened) return pb;\n var popupHtml = pb.renderPopup();\n var popupParams = {\n content: popupHtml,\n on: {\n popupOpen: function popupOpen(popup) {\n pb.onOpen('popup', popup.el);\n },\n popupOpened: function popupOpened(popup) {\n pb.onOpened('popup', popup.el);\n },\n popupClose: function popupClose(popup) {\n pb.onClose('popup', popup.el);\n },\n popupClosed: function popupClosed(popup) {\n pb.onClosed('popup', popup.el);\n }\n }\n };\n\n if (pb.params.routableModals) {\n pb.view.router.navigate({\n url: pb.url,\n route: {\n path: pb.url,\n popup: popupParams\n }\n });\n } else {\n pb.modal = pb.app.popup.create(popupParams).open();\n }\n\n return pb;\n } // Exposition\n\n }, {\n key: \"expositionEnable\",\n value: function expositionEnable() {\n var pb = this;\n\n if (pb.params.type === 'page') {\n pb.view.$el.addClass('with-photo-browser-page-exposed');\n }\n\n if (pb.$el) pb.$el.addClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.$captionsContainerEl.addClass('photo-browser-captions-exposed');\n pb.exposed = true;\n return pb;\n }\n }, {\n key: \"expositionDisable\",\n value: function expositionDisable() {\n var pb = this;\n\n if (pb.params.type === 'page') {\n pb.view.$el.removeClass('with-photo-browser-page-exposed');\n }\n\n if (pb.$el) pb.$el.removeClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.$captionsContainerEl.removeClass('photo-browser-captions-exposed');\n pb.exposed = false;\n return pb;\n }\n }, {\n key: \"expositionToggle\",\n value: function expositionToggle() {\n var pb = this;\n\n if (pb.params.type === 'page') {\n pb.view.$el.toggleClass('with-photo-browser-page-exposed');\n }\n\n if (pb.$el) pb.$el.toggleClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.$captionsContainerEl.toggleClass('photo-browser-captions-exposed');\n pb.exposed = !pb.exposed;\n return pb;\n }\n }, {\n key: \"open\",\n value: function open(index) {\n var pb = this;\n var type = pb.params.type;\n\n if (pb.opened) {\n if (pb.swiper && typeof index !== 'undefined') {\n pb.swiper.slideTo(parseInt(index, 10));\n }\n\n return pb;\n }\n\n if (typeof index !== 'undefined') {\n pb.activeIndex = index;\n }\n\n if (type === 'standalone') {\n pb.openStandalone();\n }\n\n if (type === 'page') {\n pb.openPage();\n }\n\n if (type === 'popup') {\n pb.openPopup();\n }\n\n return pb;\n }\n }, {\n key: \"close\",\n value: function close() {\n var pb = this;\n if (!pb.opened) return pb;\n\n if (pb.params.routableModals || pb.openedIn === 'page') {\n if (pb.view) pb.view.router.back();\n } else {\n pb.modal.once('modalClosed', function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (pb.destroyed) return;\n pb.modal.destroy();\n delete pb.modal;\n });\n });\n pb.modal.close();\n }\n\n return pb;\n } // eslint-disable-next-line\n\n }, {\n key: \"init\",\n value: function init() {}\n }, {\n key: \"destroy\",\n value: function destroy() {\n var pb = this;\n pb.emit('local::beforeDestroy photoBrowserBeforeDestroy', pb);\n\n if (pb.$el) {\n pb.$el.trigger('photobrowser:beforedestroy');\n pb.$el[0].f7PhotoBrowser = null;\n delete pb.$el[0].f7PhotoBrowser;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(pb);\n pb.destroyed = true;\n pb = null;\n }\n }]);\n\n return PhotoBrowser;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PhotoBrowser);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/photo-browser/photo-browser-class.js?");
  613. /***/ }),
  614. /***/ "./node_modules/framework7/components/photo-browser/photo-browser.js":
  615. /*!***************************************************************************!*\
  616. !*** ./node_modules/framework7/components/photo-browser/photo-browser.js ***!
  617. \***************************************************************************/
  618. /*! exports provided: default */
  619. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  620. "use strict";
  621. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _photo_browser_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./photo-browser-class */ \"./node_modules/framework7/components/photo-browser/photo-browser-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'photoBrowser',\n params: {\n photoBrowser: {\n photos: [],\n exposition: true,\n expositionHideCaptions: false,\n type: 'standalone',\n navbar: true,\n toolbar: true,\n theme: 'light',\n captionsTheme: undefined,\n iconsColor: undefined,\n swipeToClose: true,\n backLinkText: 'Close',\n navbarOfText: 'of',\n view: undefined,\n url: 'photos/',\n routableModals: true,\n virtualSlides: true,\n renderNavbar: undefined,\n renderToolbar: undefined,\n renderCaption: undefined,\n renderObject: undefined,\n renderLazyPhoto: undefined,\n renderPhoto: undefined,\n renderPage: undefined,\n renderPopup: undefined,\n renderStandalone: undefined,\n swiper: {\n initialSlide: 0,\n spaceBetween: 20,\n speed: 300,\n loop: false,\n preloadImages: true,\n navigation: {\n nextEl: '.photo-browser-next',\n prevEl: '.photo-browser-prev'\n },\n zoom: {\n enabled: true,\n maxRatio: 3,\n minRatio: 1\n },\n lazy: {\n enabled: true\n }\n }\n }\n },\n create: function create() {\n var app = this;\n app.photoBrowser = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.photo-browser',\n constructor: _photo_browser_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n app: app,\n domProp: 'f7PhotoBrowser'\n });\n },\n static: {\n PhotoBrowser: _photo_browser_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/photo-browser/photo-browser.js?");
  622. /***/ }),
  623. /***/ "./node_modules/framework7/components/picker/picker-class.js":
  624. /*!*******************************************************************!*\
  625. !*** ./node_modules/framework7/components/picker/picker-class.js ***!
  626. \*******************************************************************/
  627. /*! exports provided: default */
  628. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  629. "use strict";
  630. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _picker_column__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./picker-column */ \"./node_modules/framework7/components/picker/picker-column.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar Picker = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Picker, _Framework7Class);\n\n var _super = _createSuper(Picker);\n\n function Picker(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Picker);\n\n _this = _super.call(this, params, [app]);\n\n var picker = _assertThisInitialized(_this);\n\n picker.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, app.params.picker, params);\n var $containerEl;\n\n if (picker.params.containerEl) {\n $containerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(picker.params.containerEl);\n if ($containerEl.length === 0) return _possibleConstructorReturn(_this, picker);\n }\n\n var $inputEl;\n\n if (picker.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(picker.params.inputEl);\n }\n\n var view;\n\n if ($inputEl) {\n view = $inputEl.parents('.view').length && $inputEl.parents('.view')[0].f7View;\n }\n\n if (!view) view = app.views.main;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(picker, {\n app: app,\n $containerEl: $containerEl,\n containerEl: $containerEl && $containerEl[0],\n inline: $containerEl && $containerEl.length > 0,\n needsOriginFix: app.device.ios || ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].navigator.userAgent.toLowerCase().indexOf('safari') >= 0 && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].navigator.userAgent.toLowerCase().indexOf('chrome') < 0 && !app.device.android,\n cols: [],\n $inputEl: $inputEl,\n inputEl: $inputEl && $inputEl[0],\n initialized: false,\n opened: false,\n url: picker.params.url,\n view: view\n });\n\n function onResize() {\n picker.resizeCols();\n }\n\n function onInputClick() {\n picker.open();\n }\n\n function onInputFocus(e) {\n e.preventDefault();\n }\n\n function onHtmlClick(e) {\n if (picker.destroyed || !picker.params) return;\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n if (picker.isPopover()) return;\n if (!picker.opened || picker.closing) return;\n if ($targetEl.closest('[class*=\"backdrop\"]').length) return;\n\n if ($inputEl && $inputEl.length > 0) {\n if ($targetEl[0] !== $inputEl[0] && $targetEl.closest('.sheet-modal').length === 0) {\n picker.close();\n }\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sheet-modal').length === 0) {\n picker.close();\n }\n } // Events\n\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(picker, {\n attachResizeEvent: function attachResizeEvent() {\n app.on('resize', onResize);\n },\n detachResizeEvent: function detachResizeEvent() {\n app.off('resize', onResize);\n },\n attachInputEvents: function attachInputEvents() {\n picker.$inputEl.on('click', onInputClick);\n\n if (picker.params.inputReadOnly) {\n picker.$inputEl.on('focus mousedown', onInputFocus);\n }\n },\n detachInputEvents: function detachInputEvents() {\n picker.$inputEl.off('click', onInputClick);\n\n if (picker.params.inputReadOnly) {\n picker.$inputEl.off('focus mousedown', onInputFocus);\n }\n },\n attachHtmlEvents: function attachHtmlEvents() {\n app.on('click', onHtmlClick);\n },\n detachHtmlEvents: function detachHtmlEvents() {\n app.off('click', onHtmlClick);\n }\n });\n picker.init();\n return _possibleConstructorReturn(_this, picker);\n }\n\n _createClass(Picker, [{\n key: \"initInput\",\n value: function initInput() {\n var picker = this;\n if (!picker.$inputEl) return;\n if (picker.params.inputReadOnly) picker.$inputEl.prop('readOnly', true);\n }\n }, {\n key: \"resizeCols\",\n value: function resizeCols() {\n var picker = this;\n if (!picker.opened) return;\n\n for (var i = 0; i < picker.cols.length; i += 1) {\n if (!picker.cols[i].divider) {\n picker.cols[i].calcSize();\n picker.cols[i].setValue(picker.cols[i].value, 0, false);\n }\n }\n }\n }, {\n key: \"isPopover\",\n value: function isPopover() {\n var picker = this;\n var app = picker.app,\n modal = picker.modal,\n params = picker.params;\n if (params.openIn === 'sheet') return false;\n if (modal && modal.type !== 'popover') return false;\n\n if (!picker.inline && picker.inputEl) {\n if (params.openIn === 'popover') return true;\n\n if (app.device.ios) {\n return !!app.device.ipad;\n }\n\n if (app.width >= 768) {\n return true;\n }\n\n if (app.device.desktop && app.theme === 'aurora') {\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: \"formatValue\",\n value: function formatValue() {\n var picker = this;\n var value = picker.value,\n displayValue = picker.displayValue;\n\n if (picker.params.formatValue) {\n return picker.params.formatValue.call(picker, value, displayValue);\n }\n\n return value.join(' ');\n }\n }, {\n key: \"setValue\",\n value: function setValue(values, transition) {\n var picker = this;\n var valueIndex = 0;\n\n if (picker.cols.length === 0) {\n picker.value = values;\n picker.updateValue(values);\n return;\n }\n\n for (var i = 0; i < picker.cols.length; i += 1) {\n if (picker.cols[i] && !picker.cols[i].divider) {\n picker.cols[i].setValue(values[valueIndex], transition);\n valueIndex += 1;\n }\n }\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var picker = this;\n return picker.value;\n }\n }, {\n key: \"updateValue\",\n value: function updateValue(forceValues) {\n var picker = this;\n var newValue = forceValues || [];\n var newDisplayValue = [];\n var column;\n\n if (picker.cols.length === 0) {\n var noDividerColumns = picker.params.cols.filter(function (c) {\n return !c.divider;\n });\n\n for (var i = 0; i < noDividerColumns.length; i += 1) {\n column = noDividerColumns[i];\n\n if (column.displayValues !== undefined && column.values !== undefined && column.values.indexOf(newValue[i]) !== -1) {\n newDisplayValue.push(column.displayValues[column.values.indexOf(newValue[i])]);\n } else {\n newDisplayValue.push(newValue[i]);\n }\n }\n } else {\n for (var _i = 0; _i < picker.cols.length; _i += 1) {\n if (!picker.cols[_i].divider) {\n newValue.push(picker.cols[_i].value);\n newDisplayValue.push(picker.cols[_i].displayValue);\n }\n }\n }\n\n if (newValue.indexOf(undefined) >= 0) {\n return;\n }\n\n picker.value = newValue;\n picker.displayValue = newDisplayValue;\n picker.emit('local::change pickerChange', picker, picker.value, picker.displayValue);\n\n if (picker.inputEl) {\n picker.$inputEl.val(picker.formatValue());\n picker.$inputEl.trigger('change');\n }\n }\n }, {\n key: \"initColumn\",\n value: function initColumn(colEl, updateItems) {\n var picker = this;\n _picker_column__WEBPACK_IMPORTED_MODULE_4__[\"default\"].call(picker, colEl, updateItems);\n } // eslint-disable-next-line\n\n }, {\n key: \"destroyColumn\",\n value: function destroyColumn(colEl) {\n var picker = this;\n var $colEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(colEl);\n var index = $colEl.index();\n\n if (picker.cols[index] && picker.cols[index].destroy) {\n picker.cols[index].destroy();\n }\n }\n }, {\n key: \"renderToolbar\",\n value: function renderToolbar() {\n var picker = this;\n if (picker.params.renderToolbar) return picker.params.renderToolbar.call(picker, picker);\n return \"\\n <div class=\\\"toolbar toolbar-top no-shadow\\\">\\n <div class=\\\"toolbar-inner\\\">\\n <div class=\\\"left\\\"></div>\\n <div class=\\\"right\\\">\\n <a class=\\\"link sheet-close popover-close\\\">\".concat(picker.params.toolbarCloseText, \"</a>\\n </div>\\n </div>\\n </div>\\n \").trim();\n } // eslint-disable-next-line\n\n }, {\n key: \"renderColumn\",\n value: function renderColumn(col, onlyItems) {\n var colClasses = \"picker-column \".concat(col.textAlign ? \"picker-column-\".concat(col.textAlign) : '', \" \").concat(col.cssClass || '');\n var columnHtml;\n var columnItemsHtml;\n\n if (col.divider) {\n columnHtml = \"\\n <div class=\\\"\".concat(colClasses, \" picker-column-divider\\\">\").concat(col.content, \"</div>\\n \");\n } else {\n columnItemsHtml = col.values.map(function (value, index) {\n return \"\\n <div class=\\\"picker-item\\\" data-picker-value=\\\"\".concat(value, \"\\\">\\n <span>\").concat(col.displayValues ? col.displayValues[index] : value, \"</span>\\n </div>\\n \");\n }).join('');\n columnHtml = \"\\n <div class=\\\"\".concat(colClasses, \"\\\">\\n <div class=\\\"picker-items\\\">\").concat(columnItemsHtml, \"</div>\\n </div>\\n \");\n }\n\n return onlyItems ? columnItemsHtml.trim() : columnHtml.trim();\n }\n }, {\n key: \"renderInline\",\n value: function renderInline() {\n var picker = this;\n var _picker$params = picker.params,\n rotateEffect = _picker$params.rotateEffect,\n cssClass = _picker$params.cssClass,\n toolbar = _picker$params.toolbar;\n var inlineHtml = \"\\n <div class=\\\"picker picker-inline \".concat(rotateEffect ? 'picker-3d' : '', \" \").concat(cssClass || '', \"\\\">\\n \").concat(toolbar ? picker.renderToolbar() : '', \"\\n <div class=\\\"picker-columns\\\">\\n \").concat(picker.cols.map(function (col) {\n return picker.renderColumn(col);\n }).join(''), \"\\n <div class=\\\"picker-center-highlight\\\"></div>\\n </div>\\n </div>\\n \").trim();\n return inlineHtml;\n }\n }, {\n key: \"renderSheet\",\n value: function renderSheet() {\n var picker = this;\n var _picker$params2 = picker.params,\n rotateEffect = _picker$params2.rotateEffect,\n cssClass = _picker$params2.cssClass,\n toolbar = _picker$params2.toolbar;\n var sheetHtml = \"\\n <div class=\\\"sheet-modal picker picker-sheet \".concat(rotateEffect ? 'picker-3d' : '', \" \").concat(cssClass || '', \"\\\">\\n \").concat(toolbar ? picker.renderToolbar() : '', \"\\n <div class=\\\"sheet-modal-inner picker-columns\\\">\\n \").concat(picker.cols.map(function (col) {\n return picker.renderColumn(col);\n }).join(''), \"\\n <div class=\\\"picker-center-highlight\\\"></div>\\n </div>\\n </div>\\n \").trim();\n return sheetHtml;\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var picker = this;\n var _picker$params3 = picker.params,\n rotateEffect = _picker$params3.rotateEffect,\n cssClass = _picker$params3.cssClass,\n toolbar = _picker$params3.toolbar;\n var popoverHtml = \"\\n <div class=\\\"popover picker-popover\\\">\\n <div class=\\\"popover-inner\\\">\\n <div class=\\\"picker \".concat(rotateEffect ? 'picker-3d' : '', \" \").concat(cssClass || '', \"\\\">\\n \").concat(toolbar ? picker.renderToolbar() : '', \"\\n <div class=\\\"picker-columns\\\">\\n \").concat(picker.cols.map(function (col) {\n return picker.renderColumn(col);\n }).join(''), \"\\n <div class=\\\"picker-center-highlight\\\"></div>\\n </div>\\n </div>\\n </div>\\n </div>\\n \").trim();\n return popoverHtml;\n }\n }, {\n key: \"render\",\n value: function render() {\n var picker = this;\n if (picker.params.render) return picker.params.render.call(picker);\n\n if (!picker.inline) {\n if (picker.isPopover()) return picker.renderPopover();\n return picker.renderSheet();\n }\n\n return picker.renderInline();\n }\n }, {\n key: \"onOpen\",\n value: function onOpen() {\n var picker = this;\n var initialized = picker.initialized,\n $el = picker.$el,\n app = picker.app,\n $inputEl = picker.$inputEl,\n inline = picker.inline,\n value = picker.value,\n params = picker.params;\n picker.opened = true;\n picker.closing = false;\n picker.opening = true; // Init main events\n\n picker.attachResizeEvent(); // Init cols\n\n $el.find('.picker-column').each(function (index, colEl) {\n var updateItems = true;\n\n if (!initialized && params.value || initialized && value) {\n updateItems = false;\n }\n\n picker.initColumn(colEl, updateItems);\n }); // Set value\n\n if (!initialized) {\n if (value) picker.setValue(value, 0);else if (params.value) {\n picker.setValue(params.value, 0);\n }\n } else if (value) {\n picker.setValue(value, 0);\n } // Extra focus\n\n\n if (!inline && $inputEl && $inputEl.length && app.theme === 'md') {\n $inputEl.trigger('focus');\n }\n\n picker.initialized = true; // Trigger events\n\n if ($el) {\n $el.trigger('picker:open', picker);\n }\n\n if ($inputEl) {\n $inputEl.trigger('picker:open', picker);\n }\n\n picker.emit('local::open pickerOpen', picker);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var picker = this;\n picker.opening = false;\n\n if (picker.$el) {\n picker.$el.trigger('picker:opened', picker);\n }\n\n if (picker.$inputEl) {\n picker.$inputEl.trigger('picker:opened', picker);\n }\n\n picker.emit('local::opened pickerOpened', picker);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var picker = this;\n var app = picker.app;\n picker.opening = false;\n picker.closing = true; // Detach events\n\n picker.detachResizeEvent();\n picker.cols.forEach(function (col) {\n if (col.destroy) col.destroy();\n });\n\n if (picker.$inputEl && app.theme === 'md') {\n picker.$inputEl.trigger('blur');\n }\n\n if (picker.$el) {\n picker.$el.trigger('picker:close', picker);\n }\n\n if (picker.$inputEl) {\n picker.$inputEl.trigger('picker:close', picker);\n }\n\n picker.emit('local::close pickerClose', picker);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var picker = this;\n picker.opened = false;\n picker.closing = false;\n\n if (!picker.inline) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n if (picker.modal && picker.modal.el && picker.modal.destroy) {\n if (!picker.params.routableModals) {\n picker.modal.destroy();\n }\n }\n\n delete picker.modal;\n });\n }\n\n if (picker.$el) {\n picker.$el.trigger('picker:closed', picker);\n }\n\n if (picker.$inputEl) {\n picker.$inputEl.trigger('picker:closed', picker);\n }\n\n picker.emit('local::closed pickerClosed', picker);\n }\n }, {\n key: \"open\",\n value: function open() {\n var picker = this;\n var app = picker.app,\n opened = picker.opened,\n inline = picker.inline,\n $inputEl = picker.$inputEl;\n if (opened) return;\n\n if (picker.cols.length === 0 && picker.params.cols.length) {\n picker.params.cols.forEach(function (col) {\n picker.cols.push(col);\n });\n }\n\n if (inline) {\n picker.$el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(picker.render());\n picker.$el[0].f7Picker = picker;\n picker.$containerEl.append(picker.$el);\n picker.onOpen();\n picker.onOpened();\n return;\n }\n\n var isPopover = picker.isPopover();\n var modalType = isPopover ? 'popover' : 'sheet';\n var modalParams = {\n targetEl: $inputEl,\n scrollToEl: picker.params.scrollToInput ? $inputEl : undefined,\n content: picker.render(),\n backdrop: isPopover,\n on: {\n open: function open() {\n var modal = this;\n picker.modal = modal;\n picker.$el = isPopover ? modal.$el.find('.picker') : modal.$el;\n picker.$el[0].f7Picker = picker;\n picker.onOpen();\n },\n opened: function opened() {\n picker.onOpened();\n },\n close: function close() {\n picker.onClose();\n },\n closed: function closed() {\n picker.onClosed();\n }\n }\n };\n\n if (picker.params.routableModals) {\n picker.view.router.navigate({\n url: picker.url,\n route: _defineProperty({\n path: picker.url\n }, modalType, modalParams)\n });\n } else {\n picker.modal = app[modalType].create(modalParams);\n picker.modal.open();\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n var picker = this;\n var opened = picker.opened,\n inline = picker.inline;\n if (!opened) return;\n\n if (inline) {\n picker.onClose();\n picker.onClosed();\n return;\n }\n\n if (picker.params.routableModals) {\n picker.view.router.back();\n } else {\n picker.modal.close();\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var picker = this;\n picker.initInput();\n\n if (picker.inline) {\n picker.open();\n picker.emit('local::init pickerInit', picker);\n return;\n }\n\n if (!picker.initialized && picker.params.value) {\n picker.setValue(picker.params.value);\n } // Attach input Events\n\n\n if (picker.$inputEl) {\n picker.attachInputEvents();\n }\n\n if (picker.params.closeByOutsideClick) {\n picker.attachHtmlEvents();\n }\n\n picker.emit('local::init pickerInit', picker);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var picker = this;\n if (picker.destroyed) return;\n var $el = picker.$el;\n picker.emit('local::beforeDestroy pickerBeforeDestroy', picker);\n if ($el) $el.trigger('picker:beforedestroy', picker);\n picker.close(); // Detach Events\n\n if (picker.$inputEl) {\n picker.detachInputEvents();\n }\n\n if (picker.params.closeByOutsideClick) {\n picker.detachHtmlEvents();\n }\n\n if ($el && $el.length) delete picker.$el[0].f7Picker;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(picker);\n picker.destroyed = true;\n }\n }]);\n\n return Picker;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Picker);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/picker/picker-class.js?");
  631. /***/ }),
  632. /***/ "./node_modules/framework7/components/picker/picker-column.js":
  633. /*!********************************************************************!*\
  634. !*** ./node_modules/framework7/components/picker/picker-column.js ***!
  635. \********************************************************************/
  636. /*! exports provided: default */
  637. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  638. "use strict";
  639. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (colEl, updateItems) {\n var picker = this;\n var app = picker.app;\n var $colEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(colEl);\n var colIndex = $colEl.index();\n var col = picker.cols[colIndex];\n if (col.divider) return;\n col.$el = $colEl;\n col.el = $colEl[0];\n col.$itemsEl = col.$el.find('.picker-items');\n col.items = col.$itemsEl.find('.picker-item');\n var itemHeight;\n var itemsHeight;\n var minTranslate;\n var maxTranslate;\n var animationFrameId;\n\n function updateDuringScroll() {\n animationFrameId = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].requestAnimationFrame(function () {\n col.updateItems(undefined, undefined, 0);\n updateDuringScroll();\n });\n }\n\n col.replaceValues = function replaceColValues(values, displayValues) {\n col.detachEvents();\n col.values = values;\n col.displayValues = displayValues;\n col.$itemsEl.html(picker.renderColumn(col, true));\n col.items = col.$itemsEl.find('.picker-item');\n col.calcSize();\n col.setValue(col.values[0], 0, true);\n col.attachEvents();\n };\n\n col.calcSize = function calcColSize() {\n if (picker.params.rotateEffect) {\n col.$el.removeClass('picker-column-absolute');\n if (!col.width) col.$el.css({\n width: ''\n });\n }\n\n var colWidth = 0;\n var colHeight = col.$el[0].offsetHeight;\n itemHeight = col.items[0].offsetHeight;\n itemsHeight = itemHeight * col.items.length;\n minTranslate = colHeight / 2 - itemsHeight + itemHeight / 2;\n maxTranslate = colHeight / 2 - itemHeight / 2;\n\n if (col.width) {\n colWidth = col.width;\n if (parseInt(colWidth, 10) === colWidth) colWidth += 'px';\n col.$el.css({\n width: colWidth\n });\n }\n\n if (picker.params.rotateEffect) {\n if (!col.width) {\n col.items.each(function (index, itemEl) {\n var item = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl).children('span');\n colWidth = Math.max(colWidth, item[0].offsetWidth);\n });\n col.$el.css({\n width: \"\".concat(colWidth + 2, \"px\")\n });\n }\n\n col.$el.addClass('picker-column-absolute');\n }\n };\n\n col.setValue = function setColValue(newValue) {\n var transition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var valueCallbacks = arguments.length > 2 ? arguments[2] : undefined;\n var newActiveIndex = col.$itemsEl.find(\".picker-item[data-picker-value=\\\"\".concat(newValue, \"\\\"]\")).index();\n\n if (typeof newActiveIndex === 'undefined' || newActiveIndex === -1) {\n return;\n }\n\n var newTranslate = -newActiveIndex * itemHeight + maxTranslate; // Update wrapper\n\n col.$itemsEl.transition(transition);\n col.$itemsEl.transform(\"translate3d(0,\".concat(newTranslate, \"px,0)\")); // Watch items\n\n if (picker.params.updateValuesOnMomentum && col.activeIndex && col.activeIndex !== newActiveIndex) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n col.$itemsEl.transitionEnd(function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n });\n updateDuringScroll();\n } // Update items\n\n\n col.updateItems(newActiveIndex, newTranslate, transition, valueCallbacks);\n };\n\n col.updateItems = function updateColItems(activeIndex, translate, transition, valueCallbacks) {\n if (typeof translate === 'undefined') {\n // eslint-disable-next-line\n translate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(col.$itemsEl[0], 'y');\n } // eslint-disable-next-line\n\n\n if (typeof activeIndex === 'undefined') activeIndex = -Math.round((translate - maxTranslate) / itemHeight); // eslint-disable-next-line\n\n if (activeIndex < 0) activeIndex = 0; // eslint-disable-next-line\n\n if (activeIndex >= col.items.length) activeIndex = col.items.length - 1;\n var previousActiveIndex = col.activeIndex;\n col.activeIndex = activeIndex;\n col.$itemsEl.find('.picker-item-selected').removeClass('picker-item-selected');\n col.items.transition(transition);\n var selectedItem = col.items.eq(activeIndex).addClass('picker-item-selected').transform(''); // Set 3D rotate effect\n\n if (picker.params.rotateEffect) {\n col.items.each(function (index, itemEl) {\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl);\n var itemOffsetTop = $itemEl.index() * itemHeight;\n var translateOffset = maxTranslate - translate;\n var itemOffset = itemOffsetTop - translateOffset;\n var percentage = itemOffset / itemHeight;\n var itemsFit = Math.ceil(col.height / itemHeight / 2) + 1;\n var angle = -18 * percentage;\n if (angle > 180) angle = 180;\n if (angle < -180) angle = -180;\n\n if (Math.abs(percentage) > itemsFit) {\n $itemEl.addClass('picker-item-far');\n } else {\n $itemEl.removeClass('picker-item-far');\n }\n\n $itemEl.transform(\"translate3d(0, \".concat(-translate + maxTranslate, \"px, \").concat(picker.needsOriginFix ? -110 : 0, \"px) rotateX(\").concat(angle, \"deg)\"));\n });\n }\n\n if (valueCallbacks || typeof valueCallbacks === 'undefined') {\n // Update values\n col.value = selectedItem.attr('data-picker-value');\n col.displayValue = col.displayValues ? col.displayValues[activeIndex] : col.value; // On change callback\n\n if (previousActiveIndex !== activeIndex) {\n if (col.onChange) {\n col.onChange(picker, col.value, col.displayValue);\n }\n\n picker.updateValue();\n }\n }\n };\n\n var allowItemClick = true;\n var isTouched;\n var isMoved;\n var touchStartY;\n var touchCurrentY;\n var touchStartTime;\n var touchEndTime;\n var startTranslate;\n var returnTo;\n var currentTranslate;\n var prevTranslate;\n var velocityTranslate;\n\n function handleTouchStart(e) {\n if (isMoved || isTouched) return;\n e.preventDefault();\n isTouched = true;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchCurrentY = touchStartY;\n touchStartTime = new Date().getTime();\n allowItemClick = true;\n startTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(col.$itemsEl[0], 'y');\n currentTranslate = startTranslate;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n e.preventDefault();\n allowItemClick = false;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!isMoved) {\n // First move\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n isMoved = true;\n startTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(col.$itemsEl[0], 'y');\n currentTranslate = startTranslate;\n col.$itemsEl.transition(0);\n }\n\n var diff = touchCurrentY - touchStartY;\n currentTranslate = startTranslate + diff;\n returnTo = undefined; // Normalize translate\n\n if (currentTranslate < minTranslate) {\n currentTranslate = minTranslate - Math.pow(minTranslate - currentTranslate, 0.8);\n returnTo = 'min';\n }\n\n if (currentTranslate > maxTranslate) {\n currentTranslate = maxTranslate + Math.pow(currentTranslate - maxTranslate, 0.8);\n returnTo = 'max';\n } // Transform wrapper\n\n\n col.$itemsEl.transform(\"translate3d(0,\".concat(currentTranslate, \"px,0)\")); // Update items\n\n col.updateItems(undefined, currentTranslate, 0, picker.params.updateValuesOnTouchmove); // Calc velocity\n\n velocityTranslate = currentTranslate - prevTranslate || currentTranslate;\n prevTranslate = currentTranslate;\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n col.$itemsEl.transition('');\n\n if (returnTo) {\n if (returnTo === 'min') {\n col.$itemsEl.transform(\"translate3d(0,\".concat(minTranslate, \"px,0)\"));\n } else {\n col.$itemsEl.transform(\"translate3d(0,\".concat(maxTranslate, \"px,0)\"));\n }\n }\n\n touchEndTime = new Date().getTime();\n var newTranslate;\n\n if (touchEndTime - touchStartTime > 300) {\n newTranslate = currentTranslate;\n } else {\n newTranslate = currentTranslate + velocityTranslate * picker.params.momentumRatio;\n }\n\n newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate); // Active Index\n\n var activeIndex = Math.round(Math.abs((newTranslate - maxTranslate) / itemHeight)); // Normalize translate\n\n if (!picker.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate; // Transform wrapper\n\n col.$itemsEl.transform(\"translate3d(0,\".concat(parseInt(newTranslate, 10), \"px,0)\")); // Update items\n\n col.updateItems(activeIndex, newTranslate, '', true); // Watch items\n\n if (picker.params.updateValuesOnMomentum) {\n updateDuringScroll();\n col.$itemsEl.transitionEnd(function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n });\n } // Allow click\n\n\n setTimeout(function () {\n allowItemClick = true;\n }, 100);\n }\n\n var mousewheelTimeout;\n\n function handleMouseWheel(e) {\n var deltaX = e.deltaX,\n deltaY = e.deltaY;\n if (Math.abs(deltaX) > Math.abs(deltaY)) return;\n clearTimeout(mousewheelTimeout);\n e.preventDefault();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n startTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(col.$itemsEl[0], 'y');\n col.$itemsEl.transition(0);\n currentTranslate = startTranslate - deltaY;\n returnTo = undefined; // Normalize translate\n\n if (currentTranslate < minTranslate) {\n currentTranslate = minTranslate;\n returnTo = 'min';\n }\n\n if (currentTranslate > maxTranslate) {\n currentTranslate = maxTranslate;\n returnTo = 'max';\n } // Transform wrapper\n\n\n col.$itemsEl.transform(\"translate3d(0,\".concat(currentTranslate, \"px,0)\")); // Update items\n\n col.updateItems(undefined, currentTranslate, 0, picker.params.updateValuesOnMousewheel); // On end\n\n mousewheelTimeout = setTimeout(function () {\n col.$itemsEl.transition('');\n\n if (returnTo) {\n if (returnTo === 'min') {\n col.$itemsEl.transform(\"translate3d(0,\".concat(minTranslate, \"px,0)\"));\n } else {\n col.$itemsEl.transform(\"translate3d(0,\".concat(maxTranslate, \"px,0)\"));\n }\n }\n\n touchEndTime = new Date().getTime();\n var newTranslate = currentTranslate;\n newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate); // Active Index\n\n var activeIndex = Math.round(Math.abs((newTranslate - maxTranslate) / itemHeight)); // Normalize translate\n\n if (!picker.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate; // Transform wrapper\n\n col.$itemsEl.transform(\"translate3d(0,\".concat(parseInt(newTranslate, 10), \"px,0)\")); // Update items\n\n col.updateItems(activeIndex, newTranslate, '', true);\n }, 200);\n }\n\n function handleClick() {\n if (!allowItemClick) return;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cancelAnimationFrame(animationFrameId);\n var value = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).attr('data-picker-value');\n col.setValue(value);\n }\n\n var activeListener = app.support.passiveListener ? {\n passive: false,\n capture: false\n } : false;\n\n col.attachEvents = function attachColEvents() {\n col.$el.on(app.touchEvents.start, handleTouchStart, activeListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n\n if (picker.params.mousewheel) {\n col.$el.on('wheel', handleMouseWheel);\n }\n\n col.items.on('click', handleClick);\n };\n\n col.detachEvents = function detachColEvents() {\n col.$el.off(app.touchEvents.start, handleTouchStart, activeListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n\n if (picker.params.mousewheel) {\n col.$el.off('wheel', handleMouseWheel);\n }\n\n col.items.off('click', handleClick);\n };\n\n col.init = function initCol() {\n col.calcSize();\n col.$itemsEl.transform(\"translate3d(0,\".concat(maxTranslate, \"px,0)\")).transition(0);\n if (colIndex === 0) col.$el.addClass('picker-column-first');\n if (colIndex === picker.cols.length - 1) col.$el.addClass('picker-column-last'); // Update items on init\n\n if (updateItems) col.updateItems(0, maxTranslate, 0);\n col.attachEvents();\n };\n\n col.destroy = function destroyCol() {\n col.detachEvents();\n };\n\n col.init();\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/picker/picker-column.js?");
  640. /***/ }),
  641. /***/ "./node_modules/framework7/components/picker/picker.js":
  642. /*!*************************************************************!*\
  643. !*** ./node_modules/framework7/components/picker/picker.js ***!
  644. \*************************************************************/
  645. /*! exports provided: default */
  646. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  647. "use strict";
  648. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _picker_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./picker-class */ \"./node_modules/framework7/components/picker/picker-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'picker',\n static: {\n Picker: _picker_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.picker = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.picker',\n constructor: _picker_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Picker'\n });\n\n app.picker.close = function close() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.picker';\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n var picker = $el[0].f7Picker;\n if (!picker || picker && !picker.opened) return;\n picker.close();\n };\n },\n params: {\n picker: {\n // Picker settings\n updateValuesOnMomentum: false,\n updateValuesOnTouchmove: true,\n updateValuesOnMousewheel: true,\n mousewheel: true,\n rotateEffect: false,\n momentumRatio: 7,\n freeMode: false,\n cols: [],\n // Common opener settings\n containerEl: null,\n openIn: 'auto',\n // or 'popover' or 'sheet'\n formatValue: null,\n inputEl: null,\n inputReadOnly: true,\n closeByOutsideClick: true,\n scrollToInput: true,\n toolbar: true,\n toolbarCloseText: 'Done',\n cssClass: null,\n routableModals: true,\n view: null,\n url: 'select/',\n // Render functions\n renderToolbar: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/picker/picker.js?");
  649. /***/ }),
  650. /***/ "./node_modules/framework7/components/popover/popover-class.js":
  651. /*!*********************************************************************!*\
  652. !*** ./node_modules/framework7/components/popover/popover-class.js ***!
  653. \*********************************************************************/
  654. /*! exports provided: default */
  655. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  656. "use strict";
  657. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar Popover = /*#__PURE__*/function (_Modal) {\n _inherits(Popover, _Modal);\n\n var _super = _createSuper(Popover);\n\n function Popover(app, params) {\n var _this;\n\n _classCallCheck(this, Popover);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.popover, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var popover = _assertThisInitialized(_this);\n\n popover.params = extendedParams; // Find Element\n\n var $el;\n\n if (!popover.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popover.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popover.params.el).eq(0);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n } // Find Target\n\n\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popover.params.targetEl).eq(0);\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, popover.destroy());\n } // Backdrop\n\n\n var $backdropEl;\n\n if (popover.params.backdrop && popover.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popover.params.backdropEl);\n } else if (popover.params.backdrop) {\n $backdropEl = app.root.children('.popover-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"popover-backdrop\"></div>');\n app.root.append($backdropEl);\n }\n } // Find Angle\n\n\n var $angleEl;\n\n if ($el.find('.popover-angle').length === 0) {\n $angleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"popover-angle\"></div>');\n $el.prepend($angleEl);\n } else {\n $angleEl = $el.find('.popover-angle');\n } // Open\n\n\n var originalOpen = popover.open;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(popover, {\n app: app,\n $el: $el,\n el: $el[0],\n $targetEl: $targetEl,\n targetEl: $targetEl[0],\n $angleEl: $angleEl,\n angleEl: $angleEl[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'popover',\n open: function open() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var targetEl = args[0],\n animate = args[1];\n\n if (typeof args[0] === 'boolean') {\n animate = args[0];\n targetEl = args[1];\n }\n\n if (targetEl) {\n popover.$targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(targetEl);\n popover.targetEl = popover.$targetEl[0];\n }\n\n return originalOpen.call(popover, animate);\n }\n });\n\n function handleResize() {\n popover.resize();\n }\n\n popover.on('popoverOpen', function () {\n popover.resize();\n app.on('resize', handleResize);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(window).on('keyboardDidShow keyboardDidHide', handleResize);\n popover.on('popoverClose popoverBeforeDestroy', function () {\n app.off('resize', handleResize);\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(window).off('keyboardDidShow keyboardDidHide', handleResize);\n });\n });\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n var keyboardOpened = !app.device.desktop && app.device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);\n if (keyboardOpened) return;\n\n if ($target.closest(popover.el).length === 0) {\n if (popover.params.closeByBackdropClick && popover.params.backdrop && popover.backdropEl && popover.backdropEl === target) {\n popover.close();\n } else if (popover.params.closeByOutsideClick) {\n popover.close();\n }\n }\n }\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n\n if (keyCode === 27 && popover.params.closeOnEscape) {\n popover.close();\n }\n }\n\n if (popover.params.closeOnEscape) {\n popover.on('popoverOpen', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).on('keydown', onKeyDown);\n });\n popover.on('popoverClose', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).off('keydown', onKeyDown);\n });\n }\n\n popover.on('popoverOpened', function () {\n if (popover.params.closeByOutsideClick || popover.params.closeByBackdropClick) {\n app.on('click', handleClick);\n }\n });\n popover.on('popoverClose', function () {\n if (popover.params.closeByOutsideClick || popover.params.closeByBackdropClick) {\n app.off('click', handleClick);\n }\n });\n $el[0].f7Modal = popover;\n return _possibleConstructorReturn(_this, popover);\n }\n\n _createClass(Popover, [{\n key: \"resize\",\n value: function resize() {\n var popover = this;\n var app = popover.app,\n $el = popover.$el,\n $targetEl = popover.$targetEl,\n $angleEl = popover.$angleEl;\n var _popover$params = popover.params,\n targetX = _popover$params.targetX,\n targetY = _popover$params.targetY;\n $el.css({\n left: '',\n top: ''\n });\n var _ref = [$el.width(), $el.height()],\n width = _ref[0],\n height = _ref[1];\n var angleSize = 0;\n var angleLeft;\n var angleTop;\n\n if (app.theme === 'ios' || app.theme === 'aurora') {\n $angleEl.removeClass('on-left on-right on-top on-bottom').css({\n left: '',\n top: ''\n });\n angleSize = $angleEl.width() / 2;\n } else {\n $el.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom popover-on-middle').css({\n left: '',\n top: ''\n });\n }\n\n var targetWidth;\n var targetHeight;\n var targetOffsetLeft;\n var targetOffsetTop;\n var safeAreaTop = parseInt(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').css('--f7-safe-area-top'), 10);\n if (Number.isNaN(safeAreaTop)) safeAreaTop = 0;\n\n if ($targetEl && $targetEl.length > 0) {\n targetWidth = $targetEl.outerWidth();\n targetHeight = $targetEl.outerHeight();\n var targetOffset = $targetEl.offset();\n targetOffsetLeft = targetOffset.left - app.left;\n targetOffsetTop = targetOffset.top - app.top;\n var targetParentPage = $targetEl.parents('.page');\n\n if (targetParentPage.length > 0) {\n targetOffsetTop -= targetParentPage[0].scrollTop;\n }\n } else if (typeof targetX !== 'undefined' && targetY !== 'undefined') {\n targetOffsetLeft = targetX;\n targetOffsetTop = targetY;\n targetWidth = popover.params.targetWidth || 0;\n targetHeight = popover.params.targetHeight || 0;\n }\n\n var left = 0,\n top = 0,\n diff = 0; // Top Position\n\n var position = app.theme === 'md' ? 'bottom' : 'top';\n\n if (app.theme === 'md') {\n if (height < app.height - targetOffsetTop - targetHeight) {\n // On bottom\n position = 'bottom';\n top = targetOffsetTop + targetHeight;\n } else if (height < targetOffsetTop - safeAreaTop) {\n // On top\n top = targetOffsetTop - height;\n position = 'top';\n } else {\n // On middle\n position = 'middle';\n top = targetHeight / 2 + targetOffsetTop - height / 2;\n }\n\n top = Math.max(8, Math.min(top, app.height - height - 8)); // Horizontal Position\n\n var hPosition;\n\n if (targetOffsetLeft < app.width / 2) {\n hPosition = 'right';\n left = position === 'middle' ? targetOffsetLeft + targetWidth : targetOffsetLeft;\n } else {\n hPosition = 'left';\n left = position === 'middle' ? targetOffsetLeft - width : targetOffsetLeft + targetWidth - width;\n }\n\n left = Math.max(8, Math.min(left, app.width - width - 8));\n $el.addClass(\"popover-on-\".concat(position, \" popover-on-\").concat(hPosition));\n } else {\n // ios and aurora\n if (height + angleSize < targetOffsetTop - safeAreaTop) {\n // On top\n top = targetOffsetTop - height - angleSize;\n } else if (height + angleSize < app.height - targetOffsetTop - targetHeight) {\n // On bottom\n position = 'bottom';\n top = targetOffsetTop + targetHeight + angleSize;\n } else {\n // On middle\n position = 'middle';\n top = targetHeight / 2 + targetOffsetTop - height / 2;\n diff = top;\n top = Math.max(5, Math.min(top, app.height - height - 5));\n diff -= top;\n } // Horizontal Position\n\n\n if (position === 'top' || position === 'bottom') {\n left = targetWidth / 2 + targetOffsetLeft - width / 2;\n diff = left;\n left = Math.max(5, Math.min(left, app.width - width - 5));\n\n if (position === 'top') {\n $angleEl.addClass('on-bottom');\n }\n\n if (position === 'bottom') {\n $angleEl.addClass('on-top');\n }\n\n diff -= left;\n angleLeft = width / 2 - angleSize + diff;\n angleLeft = Math.max(Math.min(angleLeft, width - angleSize * 2 - 13), 13);\n $angleEl.css({\n left: \"\".concat(angleLeft, \"px\")\n });\n } else if (position === 'middle') {\n left = targetOffsetLeft - width - angleSize;\n $angleEl.addClass('on-right');\n\n if (left < 5 || left + width > app.width) {\n if (left < 5) left = targetOffsetLeft + targetWidth + angleSize;\n if (left + width > app.width) left = app.width - width - 5;\n $angleEl.removeClass('on-right').addClass('on-left');\n }\n\n angleTop = height / 2 - angleSize + diff;\n angleTop = Math.max(Math.min(angleTop, height - angleSize * 2 - 13), 13);\n $angleEl.css({\n top: \"\".concat(angleTop, \"px\")\n });\n }\n } // Apply Styles\n\n\n $el.css({\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\")\n });\n }\n }]);\n\n return Popover;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Popover);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/popover/popover-class.js?");
  658. /***/ }),
  659. /***/ "./node_modules/framework7/components/popover/popover.js":
  660. /*!***************************************************************!*\
  661. !*** ./node_modules/framework7/components/popover/popover.js ***!
  662. \***************************************************************/
  663. /*! exports provided: default */
  664. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  665. "use strict";
  666. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _popover_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./popover-class */ \"./node_modules/framework7/components/popover/popover-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'popover',\n params: {\n popover: {\n backdrop: true,\n backdropEl: undefined,\n closeByBackdropClick: true,\n closeByOutsideClick: true,\n closeOnEscape: false\n }\n },\n static: {\n Popover: _popover_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.popover = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n app: app,\n constructor: _popover_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n defaultSelector: '.popover.modal-in'\n }), {\n open: function open(popoverEl, targetEl, animate) {\n var $popoverEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popoverEl);\n var popover = $popoverEl[0].f7Modal;\n if (!popover) popover = new _popover_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, {\n el: $popoverEl,\n targetEl: targetEl\n });\n return popover.open(targetEl, animate);\n }\n });\n },\n clicks: {\n '.popover-open': function openPopover($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.popover.open(data.popover, $clickedEl, data.animate);\n },\n '.popover-close': function closePopover($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.popover.close(data.popover, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/popover/popover.js?");
  667. /***/ }),
  668. /***/ "./node_modules/framework7/components/popup/popup-class.js":
  669. /*!*****************************************************************!*\
  670. !*** ./node_modules/framework7/components/popup/popup-class.js ***!
  671. \*****************************************************************/
  672. /*! exports provided: default */
  673. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  674. "use strict";
  675. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Popup = /*#__PURE__*/function (_Modal) {\n _inherits(Popup, _Modal);\n\n var _super = _createSuper(Popup);\n\n function Popup(app, params) {\n var _this;\n\n _classCallCheck(this, Popup);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.popup, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var popup = _assertThisInitialized(_this);\n\n popup.params = extendedParams; // Find Element\n\n var $el;\n\n if (!popup.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popup.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popup.params.el).eq(0);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, popup.destroy());\n }\n\n var $backdropEl;\n\n if (popup.params.backdrop && popup.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(popup.params.backdropEl);\n } else if (popup.params.backdrop) {\n $backdropEl = app.root.children('.popup-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"popup-backdrop\"></div>');\n app.root.append($backdropEl);\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(popup, {\n app: app,\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'popup'\n });\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n var keyboardOpened = !app.device.desktop && app.device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);\n if (keyboardOpened) return;\n\n if ($target.closest(popup.el).length === 0) {\n if (popup.params && popup.params.closeByBackdropClick && popup.params.backdrop && popup.backdropEl && popup.backdropEl === target) {\n var needToClose = true;\n popup.$el.nextAll('.popup.modal-in').each(function (index, popupEl) {\n var popupInstance = popupEl.f7Modal;\n if (!popupInstance) return;\n\n if (popupInstance.params.closeByBackdropClick && popupInstance.params.backdrop && popupInstance.backdropEl === popup.backdropEl) {\n needToClose = false;\n }\n });\n\n if (needToClose) {\n popup.close();\n }\n }\n }\n }\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n\n if (keyCode === 27 && popup.params.closeOnEscape) {\n popup.close();\n }\n }\n\n if (popup.params.closeOnEscape) {\n popup.on('popupOpen', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).on('keydown', onKeyDown);\n });\n popup.on('popupClose', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).off('keydown', onKeyDown);\n });\n }\n\n popup.on('popupOpened', function () {\n $el.removeClass('swipe-close-to-bottom swipe-close-to-top');\n\n if (popup.params.closeByBackdropClick) {\n app.on('click', handleClick);\n }\n });\n popup.on('popupClose', function () {\n if (popup.params.closeByBackdropClick) {\n app.off('click', handleClick);\n }\n });\n var allowSwipeToClose = true;\n var isTouched = false;\n var startTouch;\n var currentTouch;\n var isScrolling;\n var touchStartTime;\n var touchesDiff;\n var isMoved = false;\n var pageContentEl;\n var pageContentScrollTop;\n var pageContentOffsetHeight;\n var pageContentScrollHeight;\n\n function handleTouchStart(e) {\n if (isTouched || !allowSwipeToClose || !popup.params.swipeToClose) return;\n\n if (popup.params.swipeHandler && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest(popup.params.swipeHandler).length === 0) {\n return;\n }\n\n isTouched = true;\n isMoved = false;\n startTouch = {\n x: e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX,\n y: e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY\n };\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n isScrolling = undefined;\n\n if (!popup.params.swipeHandler && e.type === 'touchstart') {\n pageContentEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.page-content')[0];\n }\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n currentTouch = {\n x: e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX,\n y: e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY\n };\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(currentTouch.x - startTouch.x) > Math.abs(currentTouch.y - startTouch.y));\n }\n\n if (isScrolling) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n touchesDiff = startTouch.y - currentTouch.y;\n var direction = touchesDiff < 0 ? 'to-bottom' : 'to-top';\n $el.transition(0);\n\n if (typeof popup.params.swipeToClose === 'string' && direction !== popup.params.swipeToClose) {\n $el.transform('');\n return;\n }\n\n if (!isMoved) {\n if (pageContentEl) {\n pageContentScrollTop = pageContentEl.scrollTop;\n pageContentScrollHeight = pageContentEl.scrollHeight;\n pageContentOffsetHeight = pageContentEl.offsetHeight;\n\n if (!(pageContentScrollHeight === pageContentOffsetHeight) && !(direction === 'to-bottom' && pageContentScrollTop === 0) && !(direction === 'to-top' && pageContentScrollTop === pageContentScrollHeight - pageContentOffsetHeight)) {\n $el.transform('');\n isTouched = false;\n isMoved = false;\n return;\n }\n }\n\n isMoved = true;\n }\n\n e.preventDefault();\n $el.transition(0).transform(\"translate3d(0,\".concat(-touchesDiff, \"px,0)\"));\n }\n\n function handleTouchEnd() {\n isTouched = false;\n\n if (!isMoved) {\n return;\n }\n\n isMoved = false;\n allowSwipeToClose = false;\n $el.transition('');\n var direction = touchesDiff < 0 ? 'to-bottom' : 'to-top';\n\n if (typeof popup.params.swipeToClose === 'string' && direction !== popup.params.swipeToClose) {\n $el.transform('');\n allowSwipeToClose = true;\n return;\n }\n\n var diff = Math.abs(touchesDiff);\n var timeDiff = new Date().getTime() - touchStartTime;\n\n if (timeDiff < 300 && diff > 20 || timeDiff >= 300 && diff > 100) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (direction === 'to-bottom') {\n $el.addClass('swipe-close-to-bottom');\n } else {\n $el.addClass('swipe-close-to-top');\n }\n\n $el.transform('');\n popup.close();\n allowSwipeToClose = true;\n });\n return;\n }\n\n allowSwipeToClose = true;\n $el.transform('');\n }\n\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n\n if (popup.params.swipeToClose) {\n $el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n popup.once('popupDestroy', function () {\n $el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n });\n }\n\n $el[0].f7Modal = popup;\n return _possibleConstructorReturn(_this, popup);\n }\n\n return Popup;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Popup);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/popup/popup-class.js?");
  676. /***/ }),
  677. /***/ "./node_modules/framework7/components/popup/popup.js":
  678. /*!***********************************************************!*\
  679. !*** ./node_modules/framework7/components/popup/popup.js ***!
  680. \***********************************************************/
  681. /*! exports provided: default */
  682. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  683. "use strict";
  684. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _popup_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./popup-class */ \"./node_modules/framework7/components/popup/popup-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'popup',\n params: {\n popup: {\n backdrop: true,\n backdropEl: undefined,\n closeByBackdropClick: true,\n closeOnEscape: false,\n swipeToClose: false,\n swipeHandler: null\n }\n },\n static: {\n Popup: _popup_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.popup = Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n app: app,\n constructor: _popup_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n defaultSelector: '.popup.modal-in'\n });\n },\n clicks: {\n '.popup-open': function openPopup($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.popup.open(data.popup, data.animate);\n },\n '.popup-close': function closePopup($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.popup.close(data.popup, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/popup/popup.js?");
  685. /***/ }),
  686. /***/ "./node_modules/framework7/components/preloader/preloader.js":
  687. /*!*******************************************************************!*\
  688. !*** ./node_modules/framework7/components/preloader/preloader.js ***!
  689. \*******************************************************************/
  690. /*! exports provided: default */
  691. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  692. "use strict";
  693. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Preloader = {\n init: function init(el) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0 || $el.children('.preloader-inner').length > 0 || $el.children('.preloader-inner-line').length > 0) return;\n $el.append(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(app.theme, \"PreloaderContent\")]);\n },\n // Modal\n visible: false,\n show: function show() {\n var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'white';\n var app = this;\n if (Preloader.visible) return;\n var preloaderInner = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(app.theme, \"PreloaderContent\")] || '';\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-modal-preloader');\n app.root.append(\"\\n <div class=\\\"preloader-backdrop\\\"></div>\\n <div class=\\\"preloader-modal\\\">\\n <div class=\\\"preloader color-\".concat(color, \"\\\">\").concat(preloaderInner, \"</div>\\n </div>\\n \"));\n Preloader.visible = true;\n },\n hide: function hide() {\n var app = this;\n if (!Preloader.visible) return;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-modal-preloader');\n app.root.find('.preloader-backdrop, .preloader-modal').remove();\n Preloader.visible = false;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'preloader',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n preloader: {\n init: Preloader.init.bind(app),\n show: Preloader.show.bind(app),\n hide: Preloader.hide.bind(app)\n }\n });\n },\n on: {\n photoBrowserOpen: function photoBrowserOpen(pb) {\n var app = this;\n pb.$el.find('.preloader').each(function (index, preloaderEl) {\n app.preloader.init(preloaderEl);\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.preloader').each(function (index, preloaderEl) {\n app.preloader.init(preloaderEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.preloader').each(function (index, preloaderEl) {\n app.preloader.init(preloaderEl);\n });\n }\n },\n vnode: {\n preloader: {\n insert: function insert(vnode) {\n var app = this;\n var preloaderEl = vnode.elm;\n app.preloader.init(preloaderEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/preloader/preloader.js?");
  694. /***/ }),
  695. /***/ "./node_modules/framework7/components/progressbar/progressbar.js":
  696. /*!***********************************************************************!*\
  697. !*** ./node_modules/framework7/components/progressbar/progressbar.js ***!
  698. \***********************************************************************/
  699. /*! exports provided: default */
  700. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  701. "use strict";
  702. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\nvar Progressbar = {\n set: function set() {\n var app = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var el = args[0],\n progress = args[1],\n duration = args[2];\n\n if (typeof args[0] === 'number') {\n progress = args[0];\n duration = args[1];\n el = app.root;\n }\n\n if (typeof progress === 'undefined' || progress === null) return el;\n if (!progress) progress = 0;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el || app.root);\n\n if ($el.length === 0) {\n return el;\n }\n\n var progressNormalized = Math.min(Math.max(progress, 0), 100);\n var $progressbarEl;\n if ($el.hasClass('progressbar')) $progressbarEl = $el.eq(0);else {\n $progressbarEl = $el.children('.progressbar');\n }\n\n if ($progressbarEl.length === 0 || $progressbarEl.hasClass('progressbar-infinite')) {\n return $progressbarEl;\n }\n\n var $progressbarLine = $progressbarEl.children('span');\n\n if ($progressbarLine.length === 0) {\n $progressbarLine = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<span></span>');\n $progressbarEl.append($progressbarLine);\n }\n\n $progressbarLine.transition(typeof duration !== 'undefined' ? duration : '').transform(\"translate3d(\".concat(-100 + progressNormalized, \"%,0,0)\"));\n return $progressbarEl[0];\n },\n show: function show() {\n var app = this; // '.page', 50, 'multi'\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var el = args[0],\n progress = args[1],\n color = args[2];\n var type = 'determined';\n\n if (args.length === 2) {\n if ((typeof args[0] === 'string' || _typeof(args[0]) === 'object') && typeof args[1] === 'string') {\n // '.page', 'multi'\n el = args[0];\n color = args[1];\n progress = args[2];\n type = 'infinite';\n } else if (typeof args[0] === 'number' && typeof args[1] === 'string') {\n // 50, 'multi'\n progress = args[0];\n color = args[1];\n el = app.root;\n }\n } else if (args.length === 1) {\n if (typeof args[0] === 'number') {\n el = app.root;\n progress = args[0];\n } else if (typeof args[0] === 'string') {\n type = 'infinite';\n el = app.root;\n color = args[0];\n }\n } else if (args.length === 0) {\n type = 'infinite';\n el = app.root;\n }\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var $progressbarEl;\n\n if ($el.hasClass('progressbar') || $el.hasClass('progressbar-infinite')) {\n $progressbarEl = $el;\n } else {\n $progressbarEl = $el.children('.progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)');\n\n if ($progressbarEl.length === 0) {\n $progressbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"\\n <span class=\\\"progressbar\".concat(type === 'infinite' ? '-infinite' : '').concat(color ? \" color-\".concat(color) : '', \" progressbar-in\\\">\\n \").concat(type === 'infinite' ? '' : '<span></span>', \"\\n </span>\"));\n $el.append($progressbarEl);\n }\n }\n\n if (typeof progress !== 'undefined') {\n app.progressbar.set($progressbarEl, progress);\n }\n\n return $progressbarEl[0];\n },\n hide: function hide(el) {\n var removeAfterHide = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el || app.root);\n if ($el.length === 0) return undefined;\n var $progressbarEl;\n\n if ($el.hasClass('progressbar') || $el.hasClass('progressbar-infinite')) {\n $progressbarEl = $el;\n } else {\n $progressbarEl = $el.children('.progressbar, .progressbar-infinite');\n }\n\n if ($progressbarEl.length === 0 || !$progressbarEl.hasClass('progressbar-in') || $progressbarEl.hasClass('progressbar-out')) {\n return $progressbarEl;\n }\n\n $progressbarEl.removeClass('progressbar-in').addClass('progressbar-out').animationEnd(function () {\n if (removeAfterHide) {\n $progressbarEl.remove();\n }\n });\n return $progressbarEl;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'progressbar',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n progressbar: {\n set: Progressbar.set.bind(app),\n show: Progressbar.show.bind(app),\n hide: Progressbar.hide.bind(app)\n }\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.progressbar').each(function (index, progressbarEl) {\n var $progressbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(progressbarEl);\n app.progressbar.set($progressbarEl, $progressbarEl.attr('data-progress'));\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.progressbar').each(function (index, progressbarEl) {\n var $progressbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(progressbarEl);\n app.progressbar.set($progressbarEl, $progressbarEl.attr('data-progress'));\n });\n }\n },\n vnode: {\n progressbar: {\n insert: function insert(vnode) {\n var app = this;\n var el = vnode.elm;\n app.progressbar.set(el, el.getAttribute('data-progress'));\n },\n update: function update(vnode) {\n var app = this;\n var el = vnode.elm;\n app.progressbar.set(el, el.getAttribute('data-progress'));\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/progressbar/progressbar.js?");
  703. /***/ }),
  704. /***/ "./node_modules/framework7/components/pull-to-refresh/pull-to-refresh-class.js":
  705. /*!*************************************************************************************!*\
  706. !*** ./node_modules/framework7/components/pull-to-refresh/pull-to-refresh-class.js ***!
  707. \*************************************************************************************/
  708. /*! exports provided: default */
  709. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  710. "use strict";
  711. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar PullToRefresh = /*#__PURE__*/function (_Framework7Class) {\n _inherits(PullToRefresh, _Framework7Class);\n\n var _super = _createSuper(PullToRefresh);\n\n function PullToRefresh(app, el) {\n var _this;\n\n _classCallCheck(this, PullToRefresh);\n\n _this = _super.call(this, {}, [app]);\n\n var ptr = _assertThisInitialized(_this);\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var $preloaderEl = $el.find('.ptr-preloader');\n ptr.$el = $el;\n ptr.el = $el[0];\n ptr.app = app;\n ptr.bottom = ptr.$el.hasClass('ptr-bottom'); // Extend defaults with modules params\n\n ptr.useModulesParams({});\n var isMaterial = app.theme === 'md';\n var isIos = app.theme === 'ios';\n var isAurora = app.theme === 'aurora'; // Done\n\n ptr.done = function done() {\n var $transitionTarget = isMaterial ? $preloaderEl : $el;\n $transitionTarget.transitionEnd(function () {\n $el.removeClass('ptr-transitioning ptr-pull-up ptr-pull-down');\n $el.trigger('ptr:done');\n ptr.emit('local::done ptrDone', $el[0]);\n });\n $el.removeClass('ptr-refreshing').addClass('ptr-transitioning');\n return ptr;\n };\n\n ptr.refresh = function refresh() {\n if ($el.hasClass('ptr-refreshing')) return ptr;\n $el.addClass('ptr-transitioning ptr-refreshing');\n $el.trigger('ptr:refresh', ptr.done);\n ptr.emit('local::refresh ptrRefresh', $el[0], ptr.done);\n return ptr;\n }; // Mousewheel\n\n\n ptr.mousewheel = $el.attr('data-ptr-mousewheel') === 'true'; // Events handling\n\n var touchId;\n var isTouched;\n var isMoved;\n var touchesStart = {};\n var isScrolling;\n var touchesDiff;\n var refresh = false;\n var useTranslate = false;\n var forceUseTranslate = false;\n var startTranslate = 0;\n var translate;\n var scrollTop;\n var wasScrolled;\n var triggerDistance;\n var dynamicTriggerDistance;\n var pullStarted;\n var hasNavbar = false;\n var scrollHeight;\n var offsetHeight;\n var maxScrollTop;\n var $pageEl = $el.parents('.page');\n if ($pageEl.find('.navbar').length > 0 || $pageEl.parents('.view').children('.navbar').length > 0) hasNavbar = true;\n if ($pageEl.hasClass('no-navbar')) hasNavbar = false;\n if (!hasNavbar && !ptr.bottom) $el.addClass('ptr-no-navbar'); // Define trigger distance\n\n if ($el.attr('data-ptr-distance')) {\n dynamicTriggerDistance = true;\n } else if (isMaterial) {\n triggerDistance = 66;\n } else if (isIos) {\n triggerDistance = 44;\n } else if (isAurora) {\n triggerDistance = 38;\n }\n\n function handleTouchStart(e) {\n if (isTouched) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].os === 'android') {\n if ('targetTouches' in e && e.targetTouches.length > 1) return;\n } else return;\n }\n\n if ($el.hasClass('ptr-refreshing')) {\n return;\n }\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sortable-handler, .ptr-ignore, .card-expandable.card-opened').length) return;\n isMoved = false;\n pullStarted = false;\n isTouched = true;\n isScrolling = undefined;\n wasScrolled = undefined;\n if (e.type === 'touchstart') touchId = e.targetTouches[0].identifier;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX;\n var pageY;\n var touch;\n\n if (e.type === 'touchmove') {\n if (touchId && e.touches) {\n for (var i = 0; i < e.touches.length; i += 1) {\n if (e.touches[i].identifier === touchId) {\n touch = e.touches[i];\n }\n }\n }\n\n if (!touch) touch = e.targetTouches[0];\n pageX = touch.pageX;\n pageY = touch.pageY;\n } else {\n pageX = e.pageX;\n pageY = e.pageY;\n }\n\n if (!pageX || !pageY) return;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (!isScrolling) {\n isTouched = false;\n return;\n }\n\n scrollTop = $el[0].scrollTop;\n\n if (!isMoved) {\n $el.removeClass('ptr-transitioning');\n var targetIsScrollable;\n scrollHeight = $el[0].scrollHeight;\n offsetHeight = $el[0].offsetHeight;\n\n if (ptr.bottom) {\n maxScrollTop = scrollHeight - offsetHeight;\n }\n\n if (scrollTop > scrollHeight) {\n isTouched = false;\n return;\n }\n\n var $ptrWatchScrollable = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.ptr-watch-scroll');\n\n if ($ptrWatchScrollable.length) {\n $ptrWatchScrollable.each(function (ptrScrollableIndex, ptrScrollableEl) {\n if (ptrScrollableEl === el) return;\n\n if (ptrScrollableEl.scrollHeight > ptrScrollableEl.offsetHeight && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ptrScrollableEl).css('overflow') === 'auto' && (!ptr.bottom && ptrScrollableEl.scrollTop > 0 || ptr.bottom && ptrScrollableEl.scrollTop < ptrScrollableEl.scrollHeight - ptrScrollableEl.offsetHeight)) {\n targetIsScrollable = true;\n }\n });\n }\n\n if (targetIsScrollable) {\n isTouched = false;\n return;\n }\n\n if (dynamicTriggerDistance) {\n triggerDistance = $el.attr('data-ptr-distance');\n if (triggerDistance.indexOf('%') >= 0) triggerDistance = scrollHeight * parseInt(triggerDistance, 10) / 100;\n }\n\n startTranslate = $el.hasClass('ptr-refreshing') ? triggerDistance : 0;\n\n if (scrollHeight === offsetHeight || _utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].os !== 'ios' || isMaterial) {\n useTranslate = true;\n } else {\n useTranslate = false;\n }\n\n forceUseTranslate = false;\n }\n\n isMoved = true;\n touchesDiff = pageY - touchesStart.y;\n if (typeof wasScrolled === 'undefined' && (ptr.bottom ? scrollTop !== maxScrollTop : scrollTop !== 0)) wasScrolled = true;\n var ptrStarted = ptr.bottom ? touchesDiff < 0 && scrollTop >= maxScrollTop || scrollTop > maxScrollTop : touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0;\n\n if (ptrStarted) {\n // iOS 8 fix\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].os === 'ios' && parseInt(_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].osVersion.split('.')[0], 10) > 7) {\n if (!ptr.bottom && scrollTop === 0 && !wasScrolled) useTranslate = true;\n if (ptr.bottom && scrollTop === maxScrollTop && !wasScrolled) useTranslate = true;\n }\n\n if (!useTranslate && ptr.bottom && !isMaterial) {\n $el.css('-webkit-overflow-scrolling', 'auto');\n $el.scrollTop(maxScrollTop);\n forceUseTranslate = true;\n }\n\n if (useTranslate || forceUseTranslate) {\n if (e.cancelable) {\n e.preventDefault();\n }\n\n translate = (ptr.bottom ? -1 * Math.pow(Math.abs(touchesDiff), 0.85) : Math.pow(touchesDiff, 0.85)) + startTranslate;\n\n if (isMaterial) {\n $preloaderEl.transform(\"translate3d(0,\".concat(translate, \"px,0)\")).find('.ptr-arrow').transform(\"rotate(\".concat(180 * (Math.abs(touchesDiff) / 66) + 100, \"deg)\"));\n } else {\n // eslint-disable-next-line\n if (ptr.bottom) {\n $el.children().transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n } else {\n $el.transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n }\n }\n }\n\n if ((useTranslate || forceUseTranslate) && Math.pow(Math.abs(touchesDiff), 0.85) > triggerDistance || !useTranslate && Math.abs(touchesDiff) >= triggerDistance * 2) {\n refresh = true;\n $el.addClass('ptr-pull-up').removeClass('ptr-pull-down');\n } else {\n refresh = false;\n $el.removeClass('ptr-pull-up').addClass('ptr-pull-down');\n }\n\n if (!pullStarted) {\n $el.trigger('ptr:pullstart');\n ptr.emit('local::pullStart ptrPullStart', $el[0]);\n pullStarted = true;\n }\n\n $el.trigger('ptr:pullmove', {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n ptr.emit('local::pullMove ptrPullMove', $el[0], {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n } else {\n pullStarted = false;\n $el.removeClass('ptr-pull-up ptr-pull-down');\n refresh = false;\n }\n }\n\n function handleTouchEnd(e) {\n if (e.type === 'touchend' && e.changedTouches && e.changedTouches.length > 0 && touchId) {\n if (e.changedTouches[0].identifier !== touchId) {\n isTouched = false;\n isScrolling = false;\n isMoved = false;\n touchId = null;\n return;\n }\n }\n\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n if (translate) {\n $el.addClass('ptr-transitioning');\n translate = 0;\n }\n\n if (isMaterial) {\n $preloaderEl.transform('').find('.ptr-arrow').transform('');\n } else {\n // eslint-disable-next-line\n if (ptr.bottom) {\n $el.children().transform('');\n } else {\n $el.transform('');\n }\n }\n\n if (!useTranslate && ptr.bottom && !isMaterial) {\n $el.css('-webkit-overflow-scrolling', '');\n }\n\n if (refresh) {\n $el.addClass('ptr-refreshing');\n $el.trigger('ptr:refresh', ptr.done);\n ptr.emit('local::refresh ptrRefresh', $el[0], ptr.done);\n } else {\n $el.removeClass('ptr-pull-down');\n }\n\n isTouched = false;\n isMoved = false;\n\n if (pullStarted) {\n $el.trigger('ptr:pullend');\n ptr.emit('local::pullEnd ptrPullEnd', $el[0]);\n }\n }\n\n var mousewheelTimeout;\n var mousewheelMoved;\n var mousewheelAllow = true;\n var mousewheelTranslate = 0;\n\n function handleMouseWheelRelease() {\n mousewheelAllow = true;\n mousewheelMoved = false;\n mousewheelTranslate = 0;\n\n if (translate) {\n $el.addClass('ptr-transitioning');\n translate = 0;\n }\n\n if (isMaterial) {\n $preloaderEl.transform('').find('.ptr-arrow').transform('');\n } else {\n // eslint-disable-next-line\n if (ptr.bottom) {\n $el.children().transform('');\n } else {\n $el.transform('');\n }\n }\n\n if (refresh) {\n $el.addClass('ptr-refreshing');\n $el.trigger('ptr:refresh', ptr.done);\n ptr.emit('local::refresh ptrRefresh', $el[0], ptr.done);\n } else {\n $el.removeClass('ptr-pull-down');\n }\n\n if (pullStarted) {\n $el.trigger('ptr:pullend');\n ptr.emit('local::pullEnd ptrPullEnd', $el[0]);\n }\n }\n\n function handleMouseWheel(e) {\n if (!mousewheelAllow) return;\n var deltaX = e.deltaX,\n deltaY = e.deltaY;\n if (Math.abs(deltaX) > Math.abs(deltaY)) return;\n\n if ($el.hasClass('ptr-refreshing')) {\n return;\n }\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.sortable-handler, .ptr-ignore, .card-expandable.card-opened').length) return;\n clearTimeout(mousewheelTimeout);\n scrollTop = $el[0].scrollTop;\n\n if (!mousewheelMoved) {\n $el.removeClass('ptr-transitioning');\n var targetIsScrollable;\n scrollHeight = $el[0].scrollHeight;\n offsetHeight = $el[0].offsetHeight;\n\n if (ptr.bottom) {\n maxScrollTop = scrollHeight - offsetHeight;\n }\n\n if (scrollTop > scrollHeight) {\n mousewheelAllow = false;\n return;\n }\n\n var $ptrWatchScrollable = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.ptr-watch-scroll');\n\n if ($ptrWatchScrollable.length) {\n $ptrWatchScrollable.each(function (ptrScrollableIndex, ptrScrollableEl) {\n if (ptrScrollableEl === el) return;\n\n if (ptrScrollableEl.scrollHeight > ptrScrollableEl.offsetHeight && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ptrScrollableEl).css('overflow') === 'auto' && (!ptr.bottom && ptrScrollableEl.scrollTop > 0 || ptr.bottom && ptrScrollableEl.scrollTop < ptrScrollableEl.scrollHeight - ptrScrollableEl.offsetHeight)) {\n targetIsScrollable = true;\n }\n });\n }\n\n if (targetIsScrollable) {\n mousewheelAllow = false;\n return;\n }\n\n if (dynamicTriggerDistance) {\n triggerDistance = $el.attr('data-ptr-distance');\n if (triggerDistance.indexOf('%') >= 0) triggerDistance = scrollHeight * parseInt(triggerDistance, 10) / 100;\n }\n }\n\n isMoved = true;\n mousewheelTranslate -= deltaY;\n touchesDiff = mousewheelTranslate; // pageY - touchesStart.y;\n\n if (typeof wasScrolled === 'undefined' && (ptr.bottom ? scrollTop !== maxScrollTop : scrollTop !== 0)) wasScrolled = true;\n var ptrStarted = ptr.bottom ? touchesDiff < 0 && scrollTop >= maxScrollTop || scrollTop > maxScrollTop : touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0;\n\n if (ptrStarted) {\n if (e.cancelable) {\n e.preventDefault();\n }\n\n translate = touchesDiff;\n\n if (Math.abs(translate) > triggerDistance) {\n translate = triggerDistance + Math.pow(Math.abs(translate) - triggerDistance, 0.7);\n if (ptr.bottom) translate = -translate;\n }\n\n if (isMaterial) {\n $preloaderEl.transform(\"translate3d(0,\".concat(translate, \"px,0)\")).find('.ptr-arrow').transform(\"rotate(\".concat(180 * (Math.abs(touchesDiff) / 66) + 100, \"deg)\"));\n } else {\n // eslint-disable-next-line\n if (ptr.bottom) {\n $el.children().transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n } else {\n $el.transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n }\n }\n\n if (Math.abs(translate) > triggerDistance) {\n refresh = true;\n $el.addClass('ptr-pull-up').removeClass('ptr-pull-down');\n } else {\n refresh = false;\n $el.removeClass('ptr-pull-up').addClass('ptr-pull-down');\n }\n\n if (!pullStarted) {\n $el.trigger('ptr:pullstart');\n ptr.emit('local::pullStart ptrPullStart', $el[0]);\n pullStarted = true;\n }\n\n $el.trigger('ptr:pullmove', {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n ptr.emit('local::pullMove ptrPullMove', $el[0], {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n } else {\n pullStarted = false;\n $el.removeClass('ptr-pull-up ptr-pull-down');\n refresh = false;\n }\n\n mousewheelTimeout = setTimeout(handleMouseWheelRelease, 300);\n }\n\n if (!$pageEl.length || !$el.length) return _possibleConstructorReturn(_this, ptr);\n $el[0].f7PullToRefresh = ptr; // Events\n\n ptr.attachEvents = function attachEvents() {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n\n if (ptr.mousewheel && !ptr.bottom) {\n $el.on('wheel', handleMouseWheel);\n }\n };\n\n ptr.detachEvents = function detachEvents() {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n\n if (ptr.mousewheel && !ptr.bottom) {\n $el.off('wheel', handleMouseWheel);\n }\n }; // Install Modules\n\n\n ptr.useModules(); // Init\n\n ptr.init();\n return _possibleConstructorReturn(_this, ptr);\n }\n\n _createClass(PullToRefresh, [{\n key: \"init\",\n value: function init() {\n var ptr = this;\n ptr.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var ptr = this;\n ptr.emit('local::beforeDestroy ptrBeforeDestroy', ptr);\n ptr.$el.trigger('ptr:beforedestroy', ptr);\n delete ptr.el.f7PullToRefresh;\n ptr.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(ptr);\n ptr = null;\n }\n }]);\n\n return PullToRefresh;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PullToRefresh);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/pull-to-refresh/pull-to-refresh-class.js?");
  712. /***/ }),
  713. /***/ "./node_modules/framework7/components/pull-to-refresh/pull-to-refresh.js":
  714. /*!*******************************************************************************!*\
  715. !*** ./node_modules/framework7/components/pull-to-refresh/pull-to-refresh.js ***!
  716. \*******************************************************************************/
  717. /*! exports provided: default */
  718. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  719. "use strict";
  720. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _pull_to_refresh_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pull-to-refresh-class */ \"./node_modules/framework7/components/pull-to-refresh/pull-to-refresh-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'pullToRefresh',\n create: function create() {\n var app = this;\n app.ptr = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.ptr-content',\n constructor: _pull_to_refresh_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7PullToRefresh'\n }), {\n done: function done(el) {\n var ptr = app.ptr.get(el);\n if (ptr) return ptr.done();\n return undefined;\n },\n refresh: function refresh(el) {\n var ptr = app.ptr.get(el);\n if (ptr) return ptr.refresh();\n return undefined;\n }\n });\n },\n static: {\n PullToRefresh: _pull_to_refresh_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n var $ptrEls = $tabEl.find('.ptr-content');\n if ($tabEl.is('.ptr-content')) $ptrEls.add($tabEl);\n $ptrEls.each(function (index, el) {\n app.ptr.create(el);\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n var app = this;\n var $ptrEls = $tabEl.find('.ptr-content');\n if ($tabEl.is('.ptr-content')) $ptrEls.add($tabEl);\n $ptrEls.each(function (index, el) {\n app.ptr.destroy(el);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.ptr-content').each(function (index, el) {\n app.ptr.create(el);\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.ptr-content').each(function (index, el) {\n app.ptr.destroy(el);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/pull-to-refresh/pull-to-refresh.js?");
  721. /***/ }),
  722. /***/ "./node_modules/framework7/components/radio/radio.js":
  723. /*!***********************************************************!*\
  724. !*** ./node_modules/framework7/components/radio/radio.js ***!
  725. \***********************************************************/
  726. /*! exports provided: default */
  727. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  728. "use strict";
  729. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'radio'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/radio/radio.js?");
  730. /***/ }),
  731. /***/ "./node_modules/framework7/components/range/range-class.js":
  732. /*!*****************************************************************!*\
  733. !*** ./node_modules/framework7/components/range/range-class.js ***!
  734. \*****************************************************************/
  735. /*! exports provided: default */
  736. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  737. "use strict";
  738. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Range = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Range, _Framework7Class);\n\n var _super = _createSuper(Range);\n\n function Range(app, params) {\n var _this;\n\n _classCallCheck(this, Range);\n\n _this = _super.call(this, params, [app]);\n\n var range = _assertThisInitialized(_this);\n\n var defaults = {\n el: null,\n inputEl: null,\n dual: false,\n step: 1,\n label: false,\n min: 0,\n max: 100,\n value: 0,\n draggableBar: true,\n vertical: false,\n verticalReversed: false,\n formatLabel: null,\n scale: false,\n scaleSteps: 5,\n scaleSubSteps: 0,\n formatScaleLabel: null,\n limitKnobPosition: app.theme === 'ios'\n }; // Extend defaults with modules params\n\n range.useModulesParams(defaults);\n range.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var el = range.params.el;\n if (!el) return _possibleConstructorReturn(_this, range);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, range);\n if ($el[0].f7Range) return _possibleConstructorReturn(_this, $el[0].f7Range);\n var dataset = $el.dataset();\n 'step min max value scaleSteps scaleSubSteps'.split(' ').forEach(function (paramName) {\n if (typeof params[paramName] === 'undefined' && typeof dataset[paramName] !== 'undefined') {\n range.params[paramName] = parseFloat(dataset[paramName]);\n }\n });\n 'dual label vertical verticalReversed scale'.split(' ').forEach(function (paramName) {\n if (typeof params[paramName] === 'undefined' && typeof dataset[paramName] !== 'undefined') {\n range.params[paramName] = dataset[paramName];\n }\n });\n\n if (!range.params.value) {\n if (typeof dataset.value !== 'undefined') range.params.value = dataset.value;\n\n if (typeof dataset.valueLeft !== 'undefined' && typeof dataset.valueRight !== 'undefined') {\n range.params.value = [parseFloat(dataset.valueLeft), parseFloat(dataset.valueRight)];\n }\n }\n\n var $inputEl;\n\n if (!range.params.dual) {\n if (range.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(range.params.inputEl);\n } else if ($el.find('input[type=\"range\"]').length) {\n $inputEl = $el.find('input[type=\"range\"]').eq(0);\n }\n }\n\n var _range$params = range.params,\n dual = _range$params.dual,\n step = _range$params.step,\n label = _range$params.label,\n min = _range$params.min,\n max = _range$params.max,\n value = _range$params.value,\n vertical = _range$params.vertical,\n verticalReversed = _range$params.verticalReversed,\n scale = _range$params.scale,\n scaleSteps = _range$params.scaleSteps,\n scaleSubSteps = _range$params.scaleSubSteps,\n limitKnobPosition = _range$params.limitKnobPosition;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(range, {\n app: app,\n $el: $el,\n el: $el[0],\n $inputEl: $inputEl,\n inputEl: $inputEl ? $inputEl[0] : undefined,\n dual: dual,\n step: step,\n label: label,\n min: min,\n max: max,\n value: value,\n previousValue: value,\n vertical: vertical,\n verticalReversed: verticalReversed,\n scale: scale,\n scaleSteps: scaleSteps,\n scaleSubSteps: scaleSubSteps,\n limitKnobPosition: limitKnobPosition\n });\n\n if ($inputEl) {\n 'step min max'.split(' ').forEach(function (paramName) {\n if (!params[paramName] && $inputEl.attr(paramName)) {\n range.params[paramName] = parseFloat($inputEl.attr(paramName));\n range[paramName] = parseFloat($inputEl.attr(paramName));\n }\n });\n\n if (typeof $inputEl.val() !== 'undefined') {\n range.params.value = parseFloat($inputEl.val());\n range.value = parseFloat($inputEl.val());\n }\n } // Dual\n\n\n if (range.dual) {\n $el.addClass('range-slider-dual');\n }\n\n if (range.label) {\n $el.addClass('range-slider-label');\n } // Vertical\n\n\n if (range.vertical) {\n $el.addClass('range-slider-vertical');\n\n if (range.verticalReversed) {\n $el.addClass('range-slider-vertical-reversed');\n }\n } else {\n $el.addClass('range-slider-horizontal');\n } // Check for layout\n\n\n var $barEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"range-bar\"></div>');\n var $barActiveEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"range-bar-active\"></div>');\n $barEl.append($barActiveEl); // Create Knobs\n\n var knobHTML = \"\\n <div class=\\\"range-knob-wrap\\\">\\n <div class=\\\"range-knob\\\"></div>\\n \".concat(range.label ? '<div class=\"range-knob-label\"></div>' : '', \"\\n </div>\\n \");\n var knobs = [Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(knobHTML)];\n\n if (range.dual) {\n knobs.push(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(knobHTML));\n }\n\n $el.append($barEl);\n knobs.forEach(function ($knobEl) {\n $el.append($knobEl);\n }); // Labels\n\n var labels = [];\n\n if (range.label) {\n labels.push(knobs[0].find('.range-knob-label'));\n\n if (range.dual) {\n labels.push(knobs[1].find('.range-knob-label'));\n }\n } // Scale\n\n\n var $scaleEl;\n\n if (range.scale && range.scaleSteps > 1) {\n $scaleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"\\n <div class=\\\"range-scale\\\">\\n \".concat(range.renderScale(), \"\\n </div>\\n \"));\n $el.append($scaleEl);\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(range, {\n knobs: knobs,\n labels: labels,\n $barEl: $barEl,\n $barActiveEl: $barActiveEl,\n $scaleEl: $scaleEl\n });\n $el[0].f7Range = range; // Touch Events\n\n var isTouched;\n var touchesStart = {};\n var isScrolling;\n var rangeOffset;\n var rangeOffsetLeft;\n var rangeOffsetTop;\n var $touchedKnobEl;\n var dualValueIndex;\n var valueChangedByTouch;\n var targetTouchIdentifier;\n\n function onTouchChange() {\n valueChangedByTouch = true;\n }\n\n function handleTouchStart(e) {\n if (isTouched) return;\n\n if (!range.params.draggableBar) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.range-knob').length === 0) {\n return;\n }\n }\n\n valueChangedByTouch = false;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n\n if (e.type === 'touchstart') {\n targetTouchIdentifier = e.targetTouches[0].identifier;\n }\n\n isTouched = true;\n isScrolling = undefined;\n rangeOffset = $el.offset();\n rangeOffsetLeft = rangeOffset.left;\n rangeOffsetTop = rangeOffset.top;\n var progress;\n\n if (range.vertical) {\n progress = (touchesStart.y - rangeOffsetTop) / range.rangeHeight;\n if (!range.verticalReversed) progress = 1 - progress;\n } else if (range.app.rtl) {\n progress = (rangeOffsetLeft + range.rangeWidth - touchesStart.x) / range.rangeWidth;\n } else {\n progress = (touchesStart.x - rangeOffsetLeft) / range.rangeWidth;\n }\n\n var newValue = progress * (range.max - range.min) + range.min;\n\n if (range.dual) {\n if (Math.abs(range.value[0] - newValue) < Math.abs(range.value[1] - newValue)) {\n dualValueIndex = 0;\n $touchedKnobEl = range.knobs[0];\n newValue = [newValue, range.value[1]];\n } else {\n dualValueIndex = 1;\n $touchedKnobEl = range.knobs[1];\n newValue = [range.value[0], newValue];\n }\n } else {\n $touchedKnobEl = range.knobs[0];\n newValue = progress * (range.max - range.min) + range.min;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (isTouched) $touchedKnobEl.addClass('range-knob-active-state');\n }, 70);\n range.on('change', onTouchChange);\n range.setValue(newValue, true);\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX;\n var pageY;\n\n if (e.type === 'touchmove') {\n for (var i = 0; i < e.targetTouches.length; i += 1) {\n if (e.targetTouches[i].identifier === targetTouchIdentifier) {\n pageX = e.targetTouches[i].pageX;\n pageY = e.targetTouches[i].pageY;\n }\n }\n } else {\n pageX = e.pageX;\n pageY = e.pageY;\n }\n\n if (typeof pageX === 'undefined' && typeof pageY === 'undefined') return;\n\n if (typeof isScrolling === 'undefined' && !range.vertical) {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n e.preventDefault();\n var progress;\n\n if (range.vertical) {\n progress = (pageY - rangeOffsetTop) / range.rangeHeight;\n if (!range.verticalReversed) progress = 1 - progress;\n } else if (range.app.rtl) {\n progress = (rangeOffsetLeft + range.rangeWidth - pageX) / range.rangeWidth;\n } else {\n progress = (pageX - rangeOffsetLeft) / range.rangeWidth;\n }\n\n var newValue = progress * (range.max - range.min) + range.min;\n\n if (range.dual) {\n var leftValue;\n var rightValue;\n\n if (dualValueIndex === 0) {\n leftValue = newValue;\n rightValue = range.value[1];\n\n if (leftValue > rightValue) {\n rightValue = leftValue;\n }\n } else {\n leftValue = range.value[0];\n rightValue = newValue;\n\n if (rightValue < leftValue) {\n leftValue = rightValue;\n }\n }\n\n newValue = [leftValue, rightValue];\n }\n\n range.setValue(newValue, true);\n }\n\n function handleTouchEnd(e) {\n if (e.type === 'touchend') {\n var touchEnded;\n\n for (var i = 0; i < e.changedTouches.length; i += 1) {\n if (e.changedTouches[i].identifier === targetTouchIdentifier) touchEnded = true;\n }\n\n if (!touchEnded) return;\n }\n\n if (!isTouched) {\n if (isScrolling) $touchedKnobEl.removeClass('range-knob-active-state');\n isTouched = false;\n return;\n }\n\n range.off('change', onTouchChange);\n isTouched = false;\n $touchedKnobEl.removeClass('range-knob-active-state');\n\n if (valueChangedByTouch && range.$inputEl && !range.dual) {\n range.$inputEl.trigger('change');\n }\n\n valueChangedByTouch = false;\n\n if (typeof range.previousValue !== 'undefined') {\n if (range.dual && (range.previousValue[0] !== range.value[0] || range.previousValue[1] !== range.value[1]) || !range.dual && range.previousValue !== range.value) {\n range.$el.trigger('range:changed', range, range.value);\n range.emit('local::changed rangeChanged', range, range.value);\n }\n }\n }\n\n function handleResize() {\n range.calcSize();\n range.layout();\n }\n\n var parentModals;\n var parentPanel;\n var parentPage;\n\n range.attachEvents = function attachEvents() {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n range.$el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n app.on('tabShow', handleResize);\n app.on('resize', handleResize);\n parentModals = range.$el.parents('.sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast');\n parentModals.on('modal:open', handleResize);\n parentPanel = range.$el.parents('.panel');\n parentPanel.on('panel:open', handleResize);\n parentPage = range.$el.parents('.page').eq(0);\n parentPage.on('page:reinit', handleResize);\n };\n\n range.detachEvents = function detachEvents() {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n range.$el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n app.off('tabShow', handleResize);\n app.off('resize', handleResize);\n\n if (parentModals) {\n parentModals.off('modal:open', handleResize);\n }\n\n if (parentPanel) {\n parentPanel.off('panel:open', handleResize);\n }\n\n if (parentPage) {\n parentPage.off('page:reinit', handleResize);\n }\n\n parentModals = null;\n parentPanel = null;\n parentPage = null;\n }; // Install Modules\n\n\n range.useModules(); // Init\n\n range.init();\n return _possibleConstructorReturn(_this, range);\n }\n\n _createClass(Range, [{\n key: \"calcSize\",\n value: function calcSize() {\n var range = this;\n\n if (range.vertical) {\n var height = range.$el.outerHeight();\n if (height === 0) return;\n range.rangeHeight = height;\n range.knobHeight = range.knobs[0].outerHeight();\n } else {\n var width = range.$el.outerWidth();\n if (width === 0) return;\n range.rangeWidth = width;\n range.knobWidth = range.knobs[0].outerWidth();\n }\n }\n }, {\n key: \"layout\",\n value: function layout() {\n var range = this;\n var app = range.app,\n knobWidth = range.knobWidth,\n knobHeight = range.knobHeight,\n rangeWidth = range.rangeWidth,\n rangeHeight = range.rangeHeight,\n min = range.min,\n max = range.max,\n knobs = range.knobs,\n $barActiveEl = range.$barActiveEl,\n value = range.value,\n label = range.label,\n labels = range.labels,\n vertical = range.vertical,\n verticalReversed = range.verticalReversed,\n limitKnobPosition = range.limitKnobPosition;\n var knobSize = vertical ? knobHeight : knobWidth;\n var rangeSize = vertical ? rangeHeight : rangeWidth; // eslint-disable-next-line\n\n var positionProperty = vertical ? verticalReversed ? 'top' : 'bottom' : app.rtl ? 'right' : 'left';\n\n if (range.dual) {\n var _$barActiveEl$css;\n\n var progress = [(value[0] - min) / (max - min), (value[1] - min) / (max - min)];\n $barActiveEl.css((_$barActiveEl$css = {}, _defineProperty(_$barActiveEl$css, positionProperty, \"\".concat(progress[0] * 100, \"%\")), _defineProperty(_$barActiveEl$css, vertical ? 'height' : 'width', \"\".concat((progress[1] - progress[0]) * 100, \"%\")), _$barActiveEl$css));\n knobs.forEach(function ($knobEl, knobIndex) {\n var startPos = rangeSize * progress[knobIndex];\n\n if (limitKnobPosition) {\n var realStartPos = rangeSize * progress[knobIndex] - knobSize / 2;\n if (realStartPos < 0) startPos = knobSize / 2;\n if (realStartPos + knobSize > rangeSize) startPos = rangeSize - knobSize / 2;\n }\n\n $knobEl.css(positionProperty, \"\".concat(startPos, \"px\"));\n if (label) labels[knobIndex].text(range.formatLabel(value[knobIndex], labels[knobIndex][0]));\n });\n } else {\n var _progress = (value - min) / (max - min);\n\n $barActiveEl.css(vertical ? 'height' : 'width', \"\".concat(_progress * 100, \"%\"));\n var startPos = rangeSize * _progress;\n\n if (limitKnobPosition) {\n var realStartPos = rangeSize * _progress - knobSize / 2;\n if (realStartPos < 0) startPos = knobSize / 2;\n if (realStartPos + knobSize > rangeSize) startPos = rangeSize - knobSize / 2;\n }\n\n knobs[0].css(positionProperty, \"\".concat(startPos, \"px\"));\n if (label) labels[0].text(range.formatLabel(value, labels[0][0]));\n }\n\n if (range.dual && value.indexOf(min) >= 0 || !range.dual && value === min) {\n range.$el.addClass('range-slider-min');\n } else {\n range.$el.removeClass('range-slider-min');\n }\n\n if (range.dual && value.indexOf(max) >= 0 || !range.dual && value === max) {\n range.$el.addClass('range-slider-max');\n } else {\n range.$el.removeClass('range-slider-max');\n }\n }\n }, {\n key: \"setValue\",\n value: function setValue(newValue, byTouchMove) {\n var range = this;\n var step = range.step,\n min = range.min,\n max = range.max;\n var valueChanged;\n var oldValue;\n\n if (range.dual) {\n oldValue = [range.value[0], range.value[1]];\n var newValues = newValue;\n if (!Array.isArray(newValues)) newValues = [newValue, newValue];\n\n if (newValue[0] > newValue[1]) {\n newValues = [newValues[0], newValues[0]];\n }\n\n newValues = newValues.map(function (value) {\n return Math.max(Math.min(Math.round(value / step) * step, max), min);\n });\n\n if (newValues[0] === range.value[0] && newValues[1] === range.value[1]) {\n return range;\n }\n\n newValues.forEach(function (value, valueIndex) {\n range.value[valueIndex] = value;\n });\n valueChanged = oldValue[0] !== newValues[0] || oldValue[1] !== newValues[1];\n range.layout();\n } else {\n oldValue = range.value;\n var value = Math.max(Math.min(Math.round(newValue / step) * step, max), min);\n range.value = value;\n range.layout();\n valueChanged = oldValue !== value;\n }\n\n if (valueChanged) {\n range.previousValue = oldValue;\n } // Events\n\n\n if (!valueChanged) return range;\n range.$el.trigger('range:change', range, range.value);\n\n if (range.$inputEl && !range.dual) {\n range.$inputEl.val(range.value);\n\n if (!byTouchMove) {\n range.$inputEl.trigger('input change');\n } else {\n range.$inputEl.trigger('input');\n }\n }\n\n if (!byTouchMove) {\n range.$el.trigger('range:changed', range, range.value);\n range.emit('local::changed rangeChanged', range, range.value);\n }\n\n range.emit('local::change rangeChange', range, range.value);\n return range;\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this.value;\n }\n }, {\n key: \"formatLabel\",\n value: function formatLabel(value, labelEl) {\n var range = this;\n if (range.params.formatLabel) return range.params.formatLabel.call(range, value, labelEl);\n return value;\n }\n }, {\n key: \"formatScaleLabel\",\n value: function formatScaleLabel(value) {\n var range = this;\n if (range.params.formatScaleLabel) return range.params.formatScaleLabel.call(range, value);\n return value;\n }\n }, {\n key: \"renderScale\",\n value: function renderScale() {\n var range = this;\n var app = range.app,\n verticalReversed = range.verticalReversed,\n vertical = range.vertical; // eslint-disable-next-line\n\n var positionProperty = vertical ? verticalReversed ? 'top' : 'bottom' : app.rtl ? 'right' : 'left';\n var html = '';\n Array.from({\n length: range.scaleSteps + 1\n }).forEach(function (scaleEl, index) {\n var scaleStepValue = (range.max - range.min) / range.scaleSteps;\n var scaleValue = range.min + scaleStepValue * index;\n var progress = (scaleValue - range.min) / (range.max - range.min);\n html += \"<div class=\\\"range-scale-step\\\" style=\\\"\".concat(positionProperty, \": \").concat(progress * 100, \"%\\\">\").concat(range.formatScaleLabel(scaleValue), \"</div>\");\n\n if (range.scaleSubSteps && range.scaleSubSteps > 1 && index < range.scaleSteps) {\n Array.from({\n length: range.scaleSubSteps - 1\n }).forEach(function (subStepEl, subIndex) {\n var subStep = scaleStepValue / range.scaleSubSteps;\n var scaleSubValue = scaleValue + subStep * (subIndex + 1);\n var subProgress = (scaleSubValue - range.min) / (range.max - range.min);\n html += \"<div class=\\\"range-scale-step range-scale-substep\\\" style=\\\"\".concat(positionProperty, \": \").concat(subProgress * 100, \"%\\\"></div>\");\n });\n }\n });\n return html;\n }\n }, {\n key: \"updateScale\",\n value: function updateScale() {\n var range = this;\n\n if (!range.scale || range.scaleSteps < 2) {\n if (range.$scaleEl) range.$scaleEl.remove();\n delete range.$scaleEl;\n return;\n }\n\n if (!range.$scaleEl) {\n range.$scaleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"range-scale\"></div>');\n range.$el.append(range.$scaleEl);\n }\n\n range.$scaleEl.html(range.renderScale());\n }\n }, {\n key: \"init\",\n value: function init() {\n var range = this;\n range.calcSize();\n range.layout();\n range.attachEvents();\n return range;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var range = this;\n range.$el.trigger('range:beforedestroy', range);\n range.emit('local::beforeDestroy rangeBeforeDestroy', range);\n delete range.$el[0].f7Range;\n range.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(range);\n range = null;\n }\n }]);\n\n return Range;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Range);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/range/range-class.js?");
  739. /***/ }),
  740. /***/ "./node_modules/framework7/components/range/range.js":
  741. /*!***********************************************************!*\
  742. !*** ./node_modules/framework7/components/range/range.js ***!
  743. \***********************************************************/
  744. /*! exports provided: default */
  745. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  746. "use strict";
  747. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _range_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./range-class */ \"./node_modules/framework7/components/range/range-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'range',\n create: function create() {\n var app = this;\n app.range = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.range-slider',\n constructor: _range_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Range'\n }), {\n getValue: function getValue() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.range-slider';\n var range = app.range.get(el);\n if (range) return range.getValue();\n return undefined;\n },\n setValue: function setValue() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.range-slider';\n var value = arguments.length > 1 ? arguments[1] : undefined;\n var range = app.range.get(el);\n if (range) return range.setValue(value);\n return undefined;\n }\n });\n },\n static: {\n Range: _range_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.range-slider-init').each(function (index, rangeEl) {\n return new _range_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, {\n el: rangeEl\n });\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.range-slider-init').each(function (index, rangeEl) {\n if (rangeEl.f7Range) rangeEl.f7Range.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.range-slider-init').each(function (index, rangeEl) {\n return new _range_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, {\n el: rangeEl\n });\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.range-slider-init').each(function (index, rangeEl) {\n if (rangeEl.f7Range) rangeEl.f7Range.destroy();\n });\n }\n },\n vnode: {\n 'range-slider-init': {\n insert: function insert(vnode) {\n var rangeEl = vnode.elm;\n var app = this;\n app.range.create({\n el: rangeEl\n });\n },\n destroy: function destroy(vnode) {\n var rangeEl = vnode.elm;\n if (rangeEl.f7Range) rangeEl.f7Range.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/range/range.js?");
  748. /***/ }),
  749. /***/ "./node_modules/framework7/components/searchbar/searchbar-class.js":
  750. /*!*************************************************************************!*\
  751. !*** ./node_modules/framework7/components/searchbar/searchbar-class.js ***!
  752. \*************************************************************************/
  753. /*! exports provided: default */
  754. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  755. "use strict";
  756. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Searchbar = /*#__PURE__*/function (_FrameworkClass) {\n _inherits(Searchbar, _FrameworkClass);\n\n var _super = _createSuper(Searchbar);\n\n function Searchbar(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Searchbar);\n\n _this = _super.call(this, params, [app]);\n\n var sb = _assertThisInitialized(_this);\n\n var defaults = {\n el: undefined,\n inputEl: undefined,\n inputEvents: 'change input compositionend',\n disableButton: true,\n disableButtonEl: undefined,\n backdropEl: undefined,\n searchContainer: undefined,\n // container to search, HTMLElement or CSS selector\n searchItem: 'li',\n // single item selector, CSS selector\n searchIn: undefined,\n // where to search in item, CSS selector\n searchGroup: '.list-group',\n searchGroupTitle: '.item-divider, .list-group-title',\n ignore: '.searchbar-ignore',\n foundEl: '.searchbar-found',\n notFoundEl: '.searchbar-not-found',\n hideOnEnableEl: '.searchbar-hide-on-enable',\n hideOnSearchEl: '.searchbar-hide-on-search',\n backdrop: undefined,\n removeDiacritics: true,\n customSearch: false,\n hideDividers: true,\n hideGroups: true,\n disableOnBackdropClick: true,\n expandable: false,\n inline: false\n }; // Extend defaults with modules params\n\n sb.useModulesParams(defaults);\n sb.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(defaults, params);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, sb);\n if ($el[0].f7Searchbar) return _possibleConstructorReturn(_this, $el[0].f7Searchbar);\n $el[0].f7Searchbar = sb;\n var $pageEl;\n var $navbarEl = $el.parents('.navbar-inner');\n\n if ($el.parents('.page').length > 0) {\n $pageEl = $el.parents('.page');\n } else if ($navbarEl.length > 0) {\n $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(app.navbar.getPageByEl($navbarEl[0]));\n\n if (!$pageEl.length) {\n var $currentPageEl = $el.parents('.view').find('.page-current');\n\n if ($currentPageEl[0] && $currentPageEl[0].f7Page && $currentPageEl[0].f7Page.navbarEl === $navbarEl[0]) {\n $pageEl = $currentPageEl;\n }\n }\n }\n\n var $foundEl;\n\n if (params.foundEl) {\n $foundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.foundEl);\n } else if (typeof sb.params.foundEl === 'string' && $pageEl) {\n $foundEl = $pageEl.find(sb.params.foundEl);\n }\n\n var $notFoundEl;\n\n if (params.notFoundEl) {\n $notFoundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.notFoundEl);\n } else if (typeof sb.params.notFoundEl === 'string' && $pageEl) {\n $notFoundEl = $pageEl.find(sb.params.notFoundEl);\n }\n\n var $hideOnEnableEl;\n\n if (params.hideOnEnableEl) {\n $hideOnEnableEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.hideOnEnableEl);\n } else if (typeof sb.params.hideOnEnableEl === 'string' && $pageEl) {\n $hideOnEnableEl = $pageEl.find(sb.params.hideOnEnableEl);\n }\n\n var $hideOnSearchEl;\n\n if (params.hideOnSearchEl) {\n $hideOnSearchEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.hideOnSearchEl);\n } else if (typeof sb.params.hideOnSearchEl === 'string' && $pageEl) {\n $hideOnSearchEl = $pageEl.find(sb.params.hideOnSearchEl);\n }\n\n var expandable = sb.params.expandable || $el.hasClass('searchbar-expandable');\n var inline = sb.params.inline || $el.hasClass('searchbar-inline');\n\n if (typeof sb.params.backdrop === 'undefined') {\n if (!inline) sb.params.backdrop = app.theme !== 'aurora';else sb.params.backdrop = false;\n }\n\n var $backdropEl;\n\n if (sb.params.backdrop) {\n if (sb.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.backdropEl);\n } else if ($pageEl && $pageEl.length > 0) {\n $backdropEl = $pageEl.find('.searchbar-backdrop');\n } else {\n $backdropEl = $el.siblings('.searchbar-backdrop');\n }\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('<div class=\"searchbar-backdrop\"></div>');\n\n if ($pageEl && $pageEl.length) {\n if ($el.parents($pageEl).length > 0 && $navbarEl && $el.parents($navbarEl).length === 0) {\n $backdropEl.insertBefore($el);\n } else {\n $backdropEl.insertBefore($pageEl.find('.page-content').eq(0));\n }\n } else {\n $backdropEl.insertBefore($el);\n }\n }\n }\n\n var $searchContainer;\n\n if (sb.params.searchContainer) {\n $searchContainer = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.searchContainer);\n }\n\n var $inputEl;\n\n if (sb.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.inputEl);\n } else {\n $inputEl = $el.find('input[type=\"search\"]').eq(0);\n }\n\n var $disableButtonEl;\n\n if (sb.params.disableButton) {\n if (sb.params.disableButtonEl) {\n $disableButtonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sb.params.disableButtonEl);\n } else {\n $disableButtonEl = $el.find('.searchbar-disable-button');\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(sb, {\n app: app,\n view: app.views.get($el.parents('.view')),\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n $searchContainer: $searchContainer,\n searchContainer: $searchContainer && $searchContainer[0],\n $inputEl: $inputEl,\n inputEl: $inputEl[0],\n $disableButtonEl: $disableButtonEl,\n disableButtonEl: $disableButtonEl && $disableButtonEl[0],\n disableButtonHasMargin: false,\n $pageEl: $pageEl,\n pageEl: $pageEl && $pageEl[0],\n $navbarEl: $navbarEl,\n navbarEl: $navbarEl && $navbarEl[0],\n $foundEl: $foundEl,\n foundEl: $foundEl && $foundEl[0],\n $notFoundEl: $notFoundEl,\n notFoundEl: $notFoundEl && $notFoundEl[0],\n $hideOnEnableEl: $hideOnEnableEl,\n hideOnEnableEl: $hideOnEnableEl && $hideOnEnableEl[0],\n $hideOnSearchEl: $hideOnSearchEl,\n hideOnSearchEl: $hideOnSearchEl && $hideOnSearchEl[0],\n previousQuery: '',\n query: '',\n isVirtualList: $searchContainer && $searchContainer.hasClass('virtual-list'),\n virtualList: undefined,\n enabled: false,\n expandable: expandable,\n inline: inline\n }); // Events\n\n function preventSubmit(e) {\n e.preventDefault();\n }\n\n function onInputFocus(e) {\n sb.enable(e);\n sb.$el.addClass('searchbar-focused');\n }\n\n function onInputBlur() {\n sb.$el.removeClass('searchbar-focused');\n\n if (app.theme === 'aurora' && (!$disableButtonEl || !$disableButtonEl.length || !sb.params.disableButton) && !sb.query) {\n sb.disable();\n }\n }\n\n function onInputChange() {\n var value = sb.$inputEl.val().trim();\n\n if (sb.$searchContainer && sb.$searchContainer.length > 0 && (sb.params.searchIn || sb.isVirtualList || sb.params.searchIn === sb.params.searchItem) || sb.params.customSearch) {\n sb.search(value, true);\n }\n }\n\n function onInputClear(e, previousValue) {\n sb.$el.trigger('searchbar:clear', previousValue);\n sb.emit('local::clear searchbarClear', sb, previousValue);\n }\n\n function disableOnClick(e) {\n sb.disable(e);\n }\n\n function onPageBeforeOut() {\n if (!sb || sb && !sb.$el) return;\n\n if (sb.enabled) {\n sb.$el.removeClass('searchbar-enabled');\n\n if (sb.expandable) {\n sb.$el.parents('.navbar-inner').removeClass('with-searchbar-expandable-enabled');\n }\n }\n }\n\n function onPageBeforeIn() {\n if (!sb || sb && !sb.$el) return;\n\n if (sb.enabled) {\n sb.$el.addClass('searchbar-enabled');\n\n if (sb.expandable) {\n sb.$el.parents('.navbar-inner').addClass('with-searchbar-expandable-enabled');\n }\n }\n }\n\n sb.attachEvents = function attachEvents() {\n $el.on('submit', preventSubmit);\n\n if (sb.params.disableButton) {\n sb.$disableButtonEl.on('click', disableOnClick);\n }\n\n if (sb.params.disableOnBackdropClick && sb.$backdropEl) {\n sb.$backdropEl.on('click', disableOnClick);\n }\n\n if (sb.expandable && app.theme === 'ios' && sb.view && $navbarEl.length && sb.$pageEl) {\n sb.$pageEl.on('page:beforeout', onPageBeforeOut);\n sb.$pageEl.on('page:beforein', onPageBeforeIn);\n }\n\n sb.$inputEl.on('focus', onInputFocus);\n sb.$inputEl.on('blur', onInputBlur);\n sb.$inputEl.on(sb.params.inputEvents, onInputChange);\n sb.$inputEl.on('input:clear', onInputClear);\n };\n\n sb.detachEvents = function detachEvents() {\n $el.off('submit', preventSubmit);\n\n if (sb.params.disableButton) {\n sb.$disableButtonEl.off('click', disableOnClick);\n }\n\n if (sb.params.disableOnBackdropClick && sb.$backdropEl) {\n sb.$backdropEl.off('click', disableOnClick);\n }\n\n if (sb.expandable && app.theme === 'ios' && sb.view && $navbarEl.length && sb.$pageEl) {\n sb.$pageEl.off('page:beforeout', onPageBeforeOut);\n sb.$pageEl.off('page:beforein', onPageBeforeIn);\n }\n\n sb.$inputEl.off('focus', onInputFocus);\n sb.$inputEl.off('blur', onInputBlur);\n sb.$inputEl.off(sb.params.inputEvents, onInputChange);\n sb.$inputEl.off('input:clear', onInputClear);\n }; // Install Modules\n\n\n sb.useModules(); // Init\n\n sb.init();\n return _possibleConstructorReturn(_this, sb);\n }\n\n _createClass(Searchbar, [{\n key: \"clear\",\n value: function clear(e) {\n var sb = this;\n\n if (!sb.query && e && Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).hasClass('searchbar-clear')) {\n sb.disable();\n return sb;\n }\n\n var previousQuery = sb.value;\n sb.$inputEl.val('').trigger('change').focus();\n sb.$el.trigger('searchbar:clear', previousQuery);\n sb.emit('local::clear searchbarClear', sb, previousQuery);\n return sb;\n }\n }, {\n key: \"setDisableButtonMargin\",\n value: function setDisableButtonMargin() {\n var sb = this;\n if (sb.expandable) return;\n var app = sb.app;\n sb.$disableButtonEl.transition(0).show();\n sb.$disableButtonEl.css(\"margin-\".concat(app.rtl ? 'left' : 'right'), \"\".concat(-sb.disableButtonEl.offsetWidth, \"px\"));\n /* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_clientLeft\"] }] */\n\n sb._clientLeft = sb.$disableButtonEl[0].clientLeft;\n sb.$disableButtonEl.transition('');\n sb.disableButtonHasMargin = true;\n }\n }, {\n key: \"enable\",\n value: function enable(setFocus) {\n var sb = this;\n if (sb.enabled) return sb;\n var app = sb.app;\n sb.enabled = true;\n\n function enable() {\n if (sb.$backdropEl && (sb.$searchContainer && sb.$searchContainer.length || sb.params.customSearch) && !sb.$el.hasClass('searchbar-enabled') && !sb.query) {\n sb.backdropShow();\n }\n\n sb.$el.addClass('searchbar-enabled');\n\n if (!sb.$disableButtonEl || sb.$disableButtonEl && sb.$disableButtonEl.length === 0) {\n sb.$el.addClass('searchbar-enabled-no-disable-button');\n }\n\n if (!sb.expandable && sb.$disableButtonEl && sb.$disableButtonEl.length > 0 && app.theme !== 'md') {\n if (!sb.disableButtonHasMargin) {\n sb.setDisableButtonMargin();\n }\n\n sb.$disableButtonEl.css(\"margin-\".concat(app.rtl ? 'left' : 'right'), '0px');\n }\n\n if (sb.expandable) {\n if (sb.$el.parents('.navbar-inner').hasClass('navbar-inner-large') && sb.$pageEl) {\n sb.$pageEl.find('.page-content').addClass('with-searchbar-expandable-enabled');\n }\n\n if (app.theme === 'md' && sb.$el.parent('.navbar-inner').parent('.navbar').length) {\n sb.$el.parent('.navbar-inner').parent('.navbar').addClass('with-searchbar-expandable-enabled');\n } else {\n sb.$el.parent('.navbar-inner').addClass('with-searchbar-expandable-enabled');\n sb.$el.parent('.navbar-inner-large').addClass('navbar-inner-large-collapsed');\n }\n }\n\n if (sb.$hideOnEnableEl) sb.$hideOnEnableEl.addClass('hidden-by-searchbar');\n sb.$el.trigger('searchbar:enable');\n sb.emit('local::enable searchbarEnable', sb);\n }\n\n var needsFocus = false;\n\n if (setFocus === true) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement !== sb.inputEl) {\n needsFocus = true;\n }\n }\n\n var isIos = app.device.ios && app.theme === 'ios';\n\n if (isIos) {\n if (sb.expandable) {\n if (needsFocus) sb.$inputEl.focus();\n enable();\n } else {\n if (needsFocus) sb.$inputEl.focus();\n\n if (setFocus && (setFocus.type === 'focus' || setFocus === true)) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n enable();\n }, 400);\n } else {\n enable();\n }\n }\n } else {\n if (needsFocus) sb.$inputEl.focus();\n\n if (app.theme === 'md' && sb.expandable) {\n sb.$el.parents('.page, .view, .navbar-inner').scrollLeft(app.rtl ? 100 : 0);\n }\n\n enable();\n }\n\n return sb;\n }\n }, {\n key: \"disable\",\n value: function disable() {\n var sb = this;\n if (!sb.enabled) return sb;\n var app = sb.app;\n sb.$inputEl.val('').trigger('change');\n sb.$el.removeClass('searchbar-enabled searchbar-focused searchbar-enabled-no-disable-button');\n\n if (sb.expandable) {\n if (sb.$el.parents('.navbar-inner').hasClass('navbar-inner-large') && sb.$pageEl) {\n sb.$pageEl.find('.page-content').removeClass('with-searchbar-expandable-enabled');\n }\n\n if (app.theme === 'md' && sb.$el.parent('.navbar-inner').parent('.navbar').length) {\n sb.$el.parent('.navbar-inner').parent('.navbar').removeClass('with-searchbar-expandable-enabled');\n } else {\n sb.$el.parent('.navbar-inner').removeClass('with-searchbar-expandable-enabled');\n\n if (sb.$pageEl) {\n sb.$pageEl.find('.page-content').trigger('scroll');\n }\n }\n }\n\n if (!sb.expandable && sb.$disableButtonEl && sb.$disableButtonEl.length > 0 && app.theme !== 'md') {\n sb.$disableButtonEl.css(\"margin-\".concat(app.rtl ? 'left' : 'right'), \"\".concat(-sb.disableButtonEl.offsetWidth, \"px\"));\n }\n\n if (sb.$backdropEl && (sb.$searchContainer && sb.$searchContainer.length || sb.params.customSearch)) {\n sb.backdropHide();\n }\n\n sb.enabled = false;\n sb.$inputEl.blur();\n if (sb.$hideOnEnableEl) sb.$hideOnEnableEl.removeClass('hidden-by-searchbar');\n sb.$el.trigger('searchbar:disable');\n sb.emit('local::disable searchbarDisable', sb);\n return sb;\n }\n }, {\n key: \"toggle\",\n value: function toggle() {\n var sb = this;\n if (sb.enabled) sb.disable();else sb.enable(true);\n return sb;\n }\n }, {\n key: \"backdropShow\",\n value: function backdropShow() {\n var sb = this;\n\n if (sb.$backdropEl) {\n sb.$backdropEl.addClass('searchbar-backdrop-in');\n }\n\n return sb;\n }\n }, {\n key: \"backdropHide\",\n value: function backdropHide() {\n var sb = this;\n\n if (sb.$backdropEl) {\n sb.$backdropEl.removeClass('searchbar-backdrop-in');\n }\n\n return sb;\n }\n }, {\n key: \"search\",\n value: function search(query, internal) {\n var sb = this;\n sb.previousQuery = sb.query || '';\n if (query === sb.previousQuery) return sb;\n\n if (!internal) {\n if (!sb.enabled) {\n sb.enable();\n }\n\n sb.$inputEl.val(query);\n sb.$inputEl.trigger('input');\n }\n\n sb.query = query;\n sb.value = query;\n var $searchContainer = sb.$searchContainer,\n $el = sb.$el,\n $foundEl = sb.$foundEl,\n $notFoundEl = sb.$notFoundEl,\n $hideOnSearchEl = sb.$hideOnSearchEl,\n isVirtualList = sb.isVirtualList; // Hide on search element\n\n if (query.length > 0 && $hideOnSearchEl) {\n $hideOnSearchEl.addClass('hidden-by-searchbar');\n } else if ($hideOnSearchEl) {\n $hideOnSearchEl.removeClass('hidden-by-searchbar');\n } // Add active/inactive classes on overlay\n\n\n if ($searchContainer && $searchContainer.length && $el.hasClass('searchbar-enabled') || sb.params.customSearch && $el.hasClass('searchbar-enabled')) {\n if (query.length === 0) {\n sb.backdropShow();\n } else {\n sb.backdropHide();\n }\n }\n\n if (sb.params.customSearch) {\n $el.trigger('searchbar:search', query, sb.previousQuery);\n sb.emit('local::search searchbarSearch', sb, query, sb.previousQuery);\n return sb;\n }\n\n var foundItems = [];\n var vlQuery;\n\n if (isVirtualList) {\n sb.virtualList = $searchContainer[0].f7VirtualList;\n\n if (query.trim() === '') {\n sb.virtualList.resetFilter();\n if ($notFoundEl) $notFoundEl.hide();\n if ($foundEl) $foundEl.show();\n $el.trigger('searchbar:search', query, sb.previousQuery);\n sb.emit('local::search searchbarSearch', sb, query, sb.previousQuery);\n return sb;\n }\n\n vlQuery = sb.params.removeDiacritics ? _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].removeDiacritics(query) : query;\n\n if (sb.virtualList.params.searchAll) {\n foundItems = sb.virtualList.params.searchAll(vlQuery, sb.virtualList.items) || [];\n } else if (sb.virtualList.params.searchByItem) {\n for (var i = 0; i < sb.virtualList.items.length; i += 1) {\n if (sb.virtualList.params.searchByItem(vlQuery, sb.virtualList.params.items[i], i)) {\n foundItems.push(i);\n }\n }\n }\n } else {\n var values;\n if (sb.params.removeDiacritics) values = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].removeDiacritics(query.trim().toLowerCase()).split(' ');else {\n values = query.trim().toLowerCase().split(' ');\n }\n $searchContainer.find(sb.params.searchItem).removeClass('hidden-by-searchbar').each(function (itemIndex, itemEl) {\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(itemEl);\n var compareWithText = [];\n var $searchIn = sb.params.searchIn ? $itemEl.find(sb.params.searchIn) : $itemEl;\n\n if (sb.params.searchIn === sb.params.searchItem) {\n $searchIn = $itemEl;\n }\n\n $searchIn.each(function (searchInIndex, searchInEl) {\n var itemText = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(searchInEl).text().trim().toLowerCase();\n if (sb.params.removeDiacritics) itemText = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].removeDiacritics(itemText);\n compareWithText.push(itemText);\n });\n compareWithText = compareWithText.join(' ');\n var wordsMatch = 0;\n\n for (var _i = 0; _i < values.length; _i += 1) {\n if (compareWithText.indexOf(values[_i]) >= 0) wordsMatch += 1;\n }\n\n if (wordsMatch !== values.length && !(sb.params.ignore && $itemEl.is(sb.params.ignore))) {\n $itemEl.addClass('hidden-by-searchbar');\n } else {\n foundItems.push($itemEl[0]);\n }\n });\n\n if (sb.params.hideDividers) {\n $searchContainer.find(sb.params.searchGroupTitle).each(function (titleIndex, titleEl) {\n var $titleEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(titleEl);\n var $nextElements = $titleEl.nextAll(sb.params.searchItem);\n var hide = true;\n\n for (var _i2 = 0; _i2 < $nextElements.length; _i2 += 1) {\n var $nextEl = $nextElements.eq(_i2);\n if ($nextEl.is(sb.params.searchGroupTitle)) break;\n\n if (!$nextEl.hasClass('hidden-by-searchbar')) {\n hide = false;\n }\n }\n\n var ignore = sb.params.ignore && $titleEl.is(sb.params.ignore);\n if (hide && !ignore) $titleEl.addClass('hidden-by-searchbar');else $titleEl.removeClass('hidden-by-searchbar');\n });\n }\n\n if (sb.params.hideGroups) {\n $searchContainer.find(sb.params.searchGroup).each(function (groupIndex, groupEl) {\n var $groupEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(groupEl);\n var ignore = sb.params.ignore && $groupEl.is(sb.params.ignore); // eslint-disable-next-line\n\n var notHidden = $groupEl.find(sb.params.searchItem).filter(function (index, el) {\n return !Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el).hasClass('hidden-by-searchbar');\n });\n\n if (notHidden.length === 0 && !ignore) {\n $groupEl.addClass('hidden-by-searchbar');\n } else {\n $groupEl.removeClass('hidden-by-searchbar');\n }\n });\n }\n }\n\n if (foundItems.length === 0) {\n if ($notFoundEl) $notFoundEl.show();\n if ($foundEl) $foundEl.hide();\n } else {\n if ($notFoundEl) $notFoundEl.hide();\n if ($foundEl) $foundEl.show();\n }\n\n if (isVirtualList && sb.virtualList) {\n sb.virtualList.filterItems(foundItems);\n }\n\n $el.trigger('searchbar:search', query, sb.previousQuery, foundItems);\n sb.emit('local::search searchbarSearch', sb, query, sb.previousQuery, foundItems);\n return sb;\n }\n }, {\n key: \"init\",\n value: function init() {\n var sb = this;\n if (sb.expandable && sb.$el) sb.$el.addClass('searchbar-expandable');\n if (sb.inline && sb.$el) sb.$el.addClass('searchbar-inline');\n sb.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var sb = this;\n sb.emit('local::beforeDestroy searchbarBeforeDestroy', sb);\n sb.$el.trigger('searchbar:beforedestroy', sb);\n sb.detachEvents();\n\n if (sb.$el[0]) {\n sb.$el[0].f7Searchbar = null;\n delete sb.$el[0].f7Searchbar;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(sb);\n }\n }]);\n\n return Searchbar;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Searchbar);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/searchbar/searchbar-class.js?");
  757. /***/ }),
  758. /***/ "./node_modules/framework7/components/searchbar/searchbar.js":
  759. /*!*******************************************************************!*\
  760. !*** ./node_modules/framework7/components/searchbar/searchbar.js ***!
  761. \*******************************************************************/
  762. /*! exports provided: default */
  763. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  764. "use strict";
  765. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _searchbar_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./searchbar-class */ \"./node_modules/framework7/components/searchbar/searchbar-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'searchbar',\n static: {\n Searchbar: _searchbar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.searchbar = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.searchbar',\n constructor: _searchbar_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Searchbar',\n addMethods: 'clear enable disable toggle search'.split(' ')\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.searchbar-init').each(function (index, searchbarEl) {\n var $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(searchbarEl);\n app.searchbar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend($searchbarEl.dataset(), {\n el: searchbarEl\n }));\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.searchbar-init').each(function (index, searchbarEl) {\n if (searchbarEl.f7Searchbar && searchbarEl.f7Searchbar.destroy) {\n searchbarEl.f7Searchbar.destroy();\n }\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.searchbar-init').each(function (index, searchbarEl) {\n var $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(searchbarEl);\n app.searchbar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend($searchbarEl.dataset(), {\n el: searchbarEl\n }));\n });\n\n if (app.theme === 'ios' && page.view && page.view.router.separateNavbar && page.$navbarEl && page.$navbarEl.length > 0) {\n page.$navbarEl.find('.searchbar-init').each(function (index, searchbarEl) {\n var $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(searchbarEl);\n app.searchbar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend($searchbarEl.dataset(), {\n el: searchbarEl\n }));\n });\n }\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.searchbar-init').each(function (index, searchbarEl) {\n if (searchbarEl.f7Searchbar && searchbarEl.f7Searchbar.destroy) {\n searchbarEl.f7Searchbar.destroy();\n }\n });\n\n if (app.theme === 'ios' && page.view && page.view.router.separateNavbar && page.$navbarEl && page.$navbarEl.length > 0) {\n page.$navbarEl.find('.searchbar-init').each(function (index, searchbarEl) {\n if (searchbarEl.f7Searchbar && searchbarEl.f7Searchbar.destroy) {\n searchbarEl.f7Searchbar.destroy();\n }\n });\n }\n }\n },\n clicks: {\n '.searchbar-clear': function clear($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var sb = app.searchbar.get(data.searchbar);\n if (sb) sb.clear();\n },\n '.searchbar-enable': function enable($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var sb = app.searchbar.get(data.searchbar);\n if (sb) sb.enable(true);\n },\n '.searchbar-disable': function disable($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var sb = app.searchbar.get(data.searchbar);\n if (sb) sb.disable();\n },\n '.searchbar-toggle': function toggle($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var sb = app.searchbar.get(data.searchbar);\n if (sb) sb.toggle();\n }\n },\n vnode: {\n 'searchbar-init': {\n insert: function insert(vnode) {\n var app = this;\n var searchbarEl = vnode.elm;\n var $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(searchbarEl);\n app.searchbar.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend($searchbarEl.dataset(), {\n el: searchbarEl\n }));\n },\n destroy: function destroy(vnode) {\n var searchbarEl = vnode.elm;\n\n if (searchbarEl.f7Searchbar && searchbarEl.f7Searchbar.destroy) {\n searchbarEl.f7Searchbar.destroy();\n }\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/searchbar/searchbar.js?");
  766. /***/ }),
  767. /***/ "./node_modules/framework7/components/sheet/sheet-class.js":
  768. /*!*****************************************************************!*\
  769. !*** ./node_modules/framework7/components/sheet/sheet-class.js ***!
  770. \*****************************************************************/
  771. /*! exports provided: default */
  772. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  773. "use strict";
  774. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Sheet = /*#__PURE__*/function (_Modal) {\n _inherits(Sheet, _Modal);\n\n var _super = _createSuper(Sheet);\n\n function Sheet(app, params) {\n var _this;\n\n _classCallCheck(this, Sheet);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.sheet, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var sheet = _assertThisInitialized(_this);\n\n sheet.params = extendedParams;\n\n if (typeof sheet.params.backdrop === 'undefined') {\n sheet.params.backdrop = app.theme !== 'ios';\n } // Find Element\n\n\n var $el;\n\n if (!sheet.params.el) {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(sheet.params.content).filter(function (elIndex, node) {\n return node.nodeType === 1;\n }).eq(0);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(sheet.params.el).eq(0);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, sheet.destroy());\n }\n\n var $backdropEl;\n\n if (sheet.params.backdrop && sheet.params.backdropEl) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(sheet.params.backdropEl);\n } else if (sheet.params.backdrop) {\n $backdropEl = app.root.children('.sheet-backdrop');\n\n if ($backdropEl.length === 0) {\n $backdropEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"sheet-backdrop\"></div>');\n app.root.append($backdropEl);\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(sheet, {\n app: app,\n $el: $el,\n el: $el[0],\n $backdropEl: $backdropEl,\n backdropEl: $backdropEl && $backdropEl[0],\n type: 'sheet'\n });\n var $pageContentEl;\n\n function scrollToElementOnOpen() {\n var $scrollEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(sheet.params.scrollToEl).eq(0);\n if ($scrollEl.length === 0) return;\n $pageContentEl = $scrollEl.parents('.page-content');\n if ($pageContentEl.length === 0) return;\n var paddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n var paddingBottom = parseInt($pageContentEl.css('padding-bottom'), 10);\n var pageHeight = $pageContentEl[0].offsetHeight - paddingTop - $el.height();\n var pageScrollHeight = $pageContentEl[0].scrollHeight - paddingTop - $el.height();\n var pageScroll = $pageContentEl.scrollTop();\n var newPaddingBottom;\n var scrollElTop = $scrollEl.offset().top - paddingTop + $scrollEl[0].offsetHeight;\n\n if (scrollElTop > pageHeight) {\n var scrollTop = pageScroll + scrollElTop - pageHeight;\n\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = $el.height();\n }\n\n $pageContentEl.css({\n 'padding-bottom': \"\".concat(newPaddingBottom, \"px\")\n });\n }\n\n $pageContentEl.scrollTop(scrollTop, 300);\n }\n }\n\n function scrollToElementOnClose() {\n if ($pageContentEl && $pageContentEl.length > 0) {\n $pageContentEl.css({\n 'padding-bottom': ''\n });\n }\n }\n\n function handleClick(e) {\n var target = e.target;\n var $target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target);\n var keyboardOpened = !app.device.desktop && app.device.cordova && (window.Keyboard && window.Keyboard.isVisible || window.cordova.plugins && window.cordova.plugins.Keyboard && window.cordova.plugins.Keyboard.isVisible);\n if (keyboardOpened) return;\n\n if ($target.closest(sheet.el).length === 0) {\n if (sheet.params.closeByBackdropClick && sheet.params.backdrop && sheet.backdropEl && sheet.backdropEl === target) {\n sheet.close();\n } else if (sheet.params.closeByOutsideClick) {\n sheet.close();\n }\n }\n }\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n\n if (keyCode === 27 && sheet.params.closeOnEscape) {\n sheet.close();\n }\n }\n\n var isTouched = false;\n var startTouch;\n var currentTouch;\n var isScrolling;\n var touchStartTime;\n var touchesDiff;\n var isMoved = false;\n var isTopSheetModal;\n var swipeStepTranslate;\n var startTranslate;\n var currentTranslate;\n var sheetElOffsetHeight;\n var minTranslate;\n var maxTranslate;\n\n function handleTouchStart(e) {\n if (isTouched || !(sheet.params.swipeToClose || sheet.params.swipeToStep)) return;\n\n if (sheet.params.swipeHandler && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest(sheet.params.swipeHandler).length === 0) {\n return;\n }\n\n isTouched = true;\n isMoved = false;\n startTouch = {\n x: e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX,\n y: e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY\n };\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n isScrolling = undefined;\n isTopSheetModal = $el.hasClass('sheet-modal-top');\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n currentTouch = {\n x: e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX,\n y: e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY\n };\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(currentTouch.x - startTouch.x) > Math.abs(currentTouch.y - startTouch.y));\n }\n\n if (isScrolling) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n touchesDiff = startTouch.y - currentTouch.y;\n\n if (!isMoved) {\n sheetElOffsetHeight = $el[0].offsetHeight;\n startTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate($el[0], 'y');\n\n if (isTopSheetModal) {\n minTranslate = sheet.params.swipeToClose ? -sheetElOffsetHeight : -swipeStepTranslate;\n maxTranslate = 0;\n } else {\n minTranslate = 0;\n maxTranslate = sheet.params.swipeToClose ? sheetElOffsetHeight : swipeStepTranslate;\n }\n\n isMoved = true;\n }\n\n currentTranslate = startTranslate - touchesDiff;\n currentTranslate = Math.min(Math.max(currentTranslate, minTranslate), maxTranslate);\n e.preventDefault();\n $el.transition(0).transform(\"translate3d(0,\".concat(currentTranslate, \"px,0)\"));\n\n if (sheet.params.swipeToStep) {\n var progress;\n\n if (isTopSheetModal) {\n progress = 1 - currentTranslate / swipeStepTranslate;\n } else {\n progress = (swipeStepTranslate - currentTranslate) / swipeStepTranslate;\n }\n\n progress = Math.min(Math.max(progress, 0), 1);\n $el.trigger('sheet:stepprogress', progress);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, progress);\n }\n }\n\n function handleTouchEnd() {\n isTouched = false;\n\n if (!isMoved) {\n return;\n }\n\n isMoved = false;\n $el.transform('').transition('');\n var direction = touchesDiff < 0 ? 'to-bottom' : 'to-top';\n var diff = Math.abs(touchesDiff);\n if (diff === 0 || currentTranslate === startTranslate) return;\n var timeDiff = new Date().getTime() - touchStartTime;\n\n if (!sheet.params.swipeToStep) {\n if (direction !== (isTopSheetModal ? 'to-top' : 'to-bottom')) {\n return;\n }\n\n if (timeDiff < 300 && diff > 20 || timeDiff >= 300 && diff > sheetElOffsetHeight / 2) {\n sheet.close();\n }\n\n return;\n }\n\n var openDirection = isTopSheetModal ? 'to-bottom' : 'to-top';\n var closeDirection = isTopSheetModal ? 'to-top' : 'to-bottom';\n var absCurrentTranslate = Math.abs(currentTranslate);\n var absSwipeStepTranslate = Math.abs(swipeStepTranslate);\n\n if (timeDiff < 300 && diff > 10) {\n if (direction === openDirection && absCurrentTranslate < absSwipeStepTranslate) {\n // open step\n $el.removeClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 1);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 1);\n $el.trigger('sheet:stepopen');\n sheet.emit('local::stepOpen sheetStepOpen', sheet);\n }\n\n if (direction === closeDirection && absCurrentTranslate > absSwipeStepTranslate) {\n // close sheet\n if (sheet.params.swipeToClose) {\n sheet.close();\n } else {\n // close step\n $el.addClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 0);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 0);\n $el.trigger('sheet:stepclose');\n sheet.emit('local::stepClose sheetStepClose', sheet);\n }\n }\n\n if (direction === closeDirection && absCurrentTranslate <= absSwipeStepTranslate) {\n // close step\n $el.addClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 0);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 0);\n $el.trigger('sheet:stepclose');\n sheet.emit('local::stepClose sheetStepClose', sheet);\n }\n\n return;\n }\n\n if (timeDiff >= 300) {\n var stepOpened = !$el.hasClass('modal-in-swipe-step');\n\n if (!stepOpened) {\n if (absCurrentTranslate < absSwipeStepTranslate / 2) {\n // open step\n $el.removeClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 1);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 1);\n $el.trigger('sheet:stepopen');\n sheet.emit('local::stepOpen sheetStepOpen', sheet);\n } else if (absCurrentTranslate - absSwipeStepTranslate > (sheetElOffsetHeight - absSwipeStepTranslate) / 2) {\n // close sheet\n if (sheet.params.swipeToClose) sheet.close();\n }\n } else if (stepOpened) {\n if (absCurrentTranslate > absSwipeStepTranslate + (sheetElOffsetHeight - absSwipeStepTranslate) / 2) {\n // close sheet\n if (sheet.params.swipeToClose) sheet.close();\n } else if (absCurrentTranslate > absSwipeStepTranslate / 2) {\n // close step\n $el.addClass('modal-in-swipe-step');\n $el.trigger('sheet:stepprogress', 0);\n sheet.emit('local::stepProgress sheetStepProgress', sheet, 0);\n $el.trigger('sheet:stepclose');\n sheet.emit('local::stepClose sheetStepClose', sheet);\n }\n }\n }\n }\n\n function setSwipeStep(byResize) {\n var $swipeStepEl = $el.find('.sheet-modal-swipe-step').eq(0);\n if (!$swipeStepEl.length) return;\n\n if ($el.hasClass('sheet-modal-top')) {\n swipeStepTranslate = -($swipeStepEl.offset().top - $el.offset().top + $swipeStepEl[0].offsetHeight);\n } else {\n swipeStepTranslate = $el[0].offsetHeight - ($swipeStepEl.offset().top - $el.offset().top + $swipeStepEl[0].offsetHeight);\n }\n\n $el[0].style.setProperty('--f7-sheet-swipe-step', \"\".concat(swipeStepTranslate, \"px\"));\n\n if (!byResize) {\n $el.addClass('modal-in-swipe-step');\n }\n }\n\n function onResize() {\n setSwipeStep(true);\n }\n\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n\n if (sheet.params.swipeToClose || sheet.params.swipeToStep) {\n $el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n sheet.once('sheetDestroy', function () {\n $el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n });\n }\n\n sheet.on('sheetOpen', function () {\n if (sheet.params.closeOnEscape) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).on('keydown', onKeyDown);\n }\n\n if (sheet.params.swipeToStep) {\n setSwipeStep();\n app.on('resize', onResize);\n }\n\n if (sheet.params.scrollToEl) {\n scrollToElementOnOpen();\n }\n });\n sheet.on('sheetOpened', function () {\n if (sheet.params.closeByOutsideClick || sheet.params.closeByBackdropClick) {\n app.on('click', handleClick);\n }\n });\n sheet.on('sheetClose', function () {\n if (sheet.params.swipeToStep) {\n $el.removeClass('modal-in-swipe-step');\n app.off('resize', onResize);\n }\n\n if (sheet.params.closeOnEscape) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(document).off('keydown', onKeyDown);\n }\n\n if (sheet.params.scrollToEl) {\n scrollToElementOnClose();\n }\n\n if (sheet.params.closeByOutsideClick || sheet.params.closeByBackdropClick) {\n app.off('click', handleClick);\n }\n });\n\n sheet.stepOpen = function stepOpen() {\n $el.removeClass('modal-in-swipe-step');\n };\n\n sheet.stepClose = function stepClose() {\n $el.addClass('modal-in-swipe-step');\n };\n\n sheet.stepToggle = function stepToggle() {\n $el.toggleClass('modal-in-swipe-step');\n };\n\n $el[0].f7Modal = sheet;\n return _possibleConstructorReturn(_this, sheet);\n }\n\n return Sheet;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Sheet);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/sheet/sheet-class.js?");
  775. /***/ }),
  776. /***/ "./node_modules/framework7/components/sheet/sheet.js":
  777. /*!***********************************************************!*\
  778. !*** ./node_modules/framework7/components/sheet/sheet.js ***!
  779. \***********************************************************/
  780. /*! exports provided: default */
  781. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  782. "use strict";
  783. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _sheet_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sheet-class */ \"./node_modules/framework7/components/sheet/sheet-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'sheet',\n params: {\n sheet: {\n backdrop: undefined,\n backdropEl: undefined,\n closeByBackdropClick: true,\n closeByOutsideClick: false,\n closeOnEscape: false,\n swipeToClose: false,\n swipeToStep: false,\n swipeHandler: null\n }\n },\n static: {\n Sheet: _sheet_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.sheet = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n app: app,\n constructor: _sheet_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n defaultSelector: '.sheet-modal.modal-in'\n }), {\n stepOpen: function stepOpen(sheet) {\n var sheetInstance = app.sheet.get(sheet);\n if (sheetInstance && sheetInstance.stepOpen) return sheetInstance.stepOpen();\n return undefined;\n },\n stepClose: function stepClose(sheet) {\n var sheetInstance = app.sheet.get(sheet);\n if (sheetInstance && sheetInstance.stepClose) return sheetInstance.stepClose();\n return undefined;\n },\n stepToggle: function stepToggle(sheet) {\n var sheetInstance = app.sheet.get(sheet);\n if (sheetInstance && sheetInstance.stepToggle) return sheetInstance.stepToggle();\n return undefined;\n }\n });\n },\n clicks: {\n '.sheet-open': function openSheet($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.sheet-modal.modal-in').length > 0 && data.sheet && Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(data.sheet)[0] !== Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.sheet-modal.modal-in')[0]) {\n app.sheet.close('.sheet-modal.modal-in');\n }\n\n app.sheet.open(data.sheet, data.animate);\n },\n '.sheet-close': function closeSheet($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.sheet.close(data.sheet, data.animate);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/sheet/sheet.js?");
  784. /***/ }),
  785. /***/ "./node_modules/framework7/components/skeleton/skeleton.js":
  786. /*!*****************************************************************!*\
  787. !*** ./node_modules/framework7/components/skeleton/skeleton.js ***!
  788. \*****************************************************************/
  789. /*! exports provided: default */
  790. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  791. "use strict";
  792. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'skeleton'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/skeleton/skeleton.js?");
  793. /***/ }),
  794. /***/ "./node_modules/framework7/components/smart-select/smart-select-class.js":
  795. /*!*******************************************************************************!*\
  796. !*** ./node_modules/framework7/components/smart-select/smart-select-class.js ***!
  797. \*******************************************************************************/
  798. /*! exports provided: default */
  799. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  800. "use strict";
  801. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar SmartSelect = /*#__PURE__*/function (_Framework7Class) {\n _inherits(SmartSelect, _Framework7Class);\n\n var _super = _createSuper(SmartSelect);\n\n function SmartSelect(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, SmartSelect);\n\n _this = _super.call(this, params, [app]);\n\n var ss = _assertThisInitialized(_this);\n\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n on: {}\n }, app.params.smartSelect);\n\n if (typeof defaults.searchbarDisableButton === 'undefined') {\n defaults.searchbarDisableButton = app.theme !== 'aurora';\n } // Extend defaults with modules params\n\n\n ss.useModulesParams(defaults);\n ss.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, defaults, params);\n ss.app = app;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ss.params.el).eq(0);\n if ($el.length === 0) return _possibleConstructorReturn(_this, ss);\n if ($el[0].f7SmartSelect) return _possibleConstructorReturn(_this, $el[0].f7SmartSelect);\n var $selectEl = $el.find('select').eq(0);\n if ($selectEl.length === 0) return _possibleConstructorReturn(_this, ss);\n var $valueEl;\n\n if (ss.params.setValueText) {\n $valueEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ss.params.valueEl);\n\n if ($valueEl.length === 0) {\n $valueEl = $el.find('.item-after');\n }\n\n if ($valueEl.length === 0) {\n $valueEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"item-after\"></div>');\n $valueEl.insertAfter($el.find('.item-title'));\n }\n } // View\n\n\n var view; // Url\n\n var url = params.url;\n\n if (!url) {\n if ($el.attr('href') && $el.attr('href') !== '#') url = $el.attr('href');else if ($selectEl.attr('name')) url = \"\".concat($selectEl.attr('name').toLowerCase(), \"-select/\");\n }\n\n if (!url) url = ss.params.url;\n var multiple = $selectEl[0].multiple;\n var inputType = multiple ? 'checkbox' : 'radio';\n var id = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].id();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(ss, {\n $el: $el,\n el: $el[0],\n $selectEl: $selectEl,\n selectEl: $selectEl[0],\n $valueEl: $valueEl,\n valueEl: $valueEl && $valueEl[0],\n url: url,\n multiple: multiple,\n inputType: inputType,\n id: id,\n view: view,\n inputName: \"\".concat(inputType, \"-\").concat(id),\n selectName: $selectEl.attr('name'),\n maxLength: $selectEl.attr('maxlength') || params.maxLength\n });\n $el[0].f7SmartSelect = ss; // Events\n\n function onClick() {\n ss.open();\n }\n\n function onChange() {\n var value = ss.$selectEl.val();\n ss.$el.trigger('smartselect:change', ss, value);\n ss.emit('local::change smartSelectChange', ss, value);\n ss.setValueText();\n }\n\n ss.attachEvents = function attachEvents() {\n $el.on('click', onClick);\n $el.on('change', 'select', onChange);\n };\n\n ss.detachEvents = function detachEvents() {\n $el.off('click', onClick);\n $el.off('change', 'select', onChange);\n };\n\n function handleInputChange() {\n var optionEl;\n var text;\n var inputEl = this;\n var value = inputEl.value;\n var optionText = [];\n var displayAs;\n\n if (inputEl.type === 'checkbox') {\n for (var i = 0; i < ss.selectEl.options.length; i += 1) {\n optionEl = ss.selectEl.options[i];\n\n if (optionEl.value === value) {\n optionEl.selected = inputEl.checked;\n }\n\n if (optionEl.selected) {\n displayAs = optionEl.dataset ? optionEl.dataset.displayAs : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl).data('display-value-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;\n optionText.push(text.trim());\n }\n }\n\n if (ss.maxLength) {\n ss.checkMaxLength();\n }\n } else {\n optionEl = ss.$selectEl.find(\"option[value=\\\"\".concat(value, \"\\\"]\"))[0];\n displayAs = optionEl.dataset ? optionEl.dataset.displayAs : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl).data('display-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;\n optionText = [text];\n ss.selectEl.value = value;\n }\n\n ss.$selectEl.trigger('change');\n\n if (ss.params.setValueText) {\n ss.$valueEl.text(ss.formatValueText(optionText));\n }\n\n if (ss.params.closeOnSelect && ss.inputType === 'radio') {\n ss.close();\n }\n }\n\n ss.attachInputsEvents = function attachInputsEvents() {\n ss.$containerEl.on('change', 'input[type=\"checkbox\"], input[type=\"radio\"]', handleInputChange);\n };\n\n ss.detachInputsEvents = function detachInputsEvents() {\n ss.$containerEl.off('change', 'input[type=\"checkbox\"], input[type=\"radio\"]', handleInputChange);\n }; // Install Modules\n\n\n ss.useModules(); // Init\n\n ss.init();\n return _possibleConstructorReturn(_this, ss);\n }\n\n _createClass(SmartSelect, [{\n key: \"setValue\",\n value: function setValue(value) {\n var ss = this;\n var newValue = value;\n var optionText = [];\n var optionEl;\n var displayAs;\n var text;\n\n if (ss.multiple) {\n if (!Array.isArray(newValue)) newValue = [newValue];\n\n for (var i = 0; i < ss.selectEl.options.length; i += 1) {\n optionEl = ss.selectEl.options[i];\n\n if (newValue.indexOf(optionEl.value) >= 0) {\n optionEl.selected = true;\n } else {\n optionEl.selected = false;\n }\n\n if (optionEl.selected) {\n displayAs = optionEl.dataset ? optionEl.dataset.displayAs : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl).data('display-value-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;\n optionText.push(text.trim());\n }\n }\n } else {\n optionEl = ss.$selectEl.find(\"option[value=\\\"\".concat(newValue, \"\\\"]\"))[0];\n\n if (optionEl) {\n displayAs = optionEl.dataset ? optionEl.dataset.displayAs : Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl).data('display-as');\n text = displayAs && typeof displayAs !== 'undefined' ? displayAs : optionEl.textContent;\n optionText = [text];\n }\n\n ss.selectEl.value = newValue;\n }\n\n if (ss.params.setValueText) {\n ss.$valueEl.text(ss.formatValueText(optionText));\n }\n\n return ss;\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n var ss = this;\n return ss.$selectEl.val();\n }\n }, {\n key: \"getView\",\n value: function getView() {\n var ss = this;\n var view = ss.view || ss.params.view;\n\n if (!view) {\n view = ss.$el.parents('.view').length && ss.$el.parents('.view')[0].f7View;\n }\n\n if (!view) {\n throw Error('Smart Select requires initialized View');\n }\n\n ss.view = view;\n return view;\n }\n }, {\n key: \"checkMaxLength\",\n value: function checkMaxLength() {\n var ss = this;\n var $containerEl = ss.$containerEl;\n\n if (ss.selectEl.selectedOptions.length >= ss.maxLength) {\n $containerEl.find('input[type=\"checkbox\"]').each(function (index, inputEl) {\n if (!inputEl.checked) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl).parents('li').addClass('disabled');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(inputEl).parents('li').removeClass('disabled');\n }\n });\n } else {\n $containerEl.find('.disabled').removeClass('disabled');\n }\n }\n }, {\n key: \"formatValueText\",\n value: function formatValueText(values) {\n var ss = this;\n var textValue;\n\n if (ss.params.formatValueText) {\n textValue = ss.params.formatValueText.call(ss, values, ss);\n } else {\n textValue = values.join(', ');\n }\n\n return textValue;\n }\n }, {\n key: \"setValueText\",\n value: function setValueText(value) {\n var ss = this;\n var valueArray = [];\n\n if (typeof value !== 'undefined') {\n if (Array.isArray(value)) {\n valueArray = value;\n } else {\n valueArray = [value];\n }\n } else {\n ss.$selectEl.find('option').each(function (optionIndex, optionEl) {\n var $optionEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl);\n\n if (optionEl.selected) {\n var displayAs = optionEl.dataset ? optionEl.dataset.displayAs : $optionEl.data('display-value-as');\n\n if (displayAs && typeof displayAs !== 'undefined') {\n valueArray.push(displayAs);\n } else {\n valueArray.push(optionEl.textContent.trim());\n }\n }\n });\n }\n\n if (ss.params.setValueText) {\n ss.$valueEl.text(ss.formatValueText(valueArray));\n }\n }\n }, {\n key: \"getItemsData\",\n value: function getItemsData() {\n var ss = this;\n var items = [];\n var previousGroupEl;\n ss.$selectEl.find('option').each(function (index, optionEl) {\n var $optionEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(optionEl);\n var optionData = $optionEl.dataset();\n var optionImage = optionData.optionImage || ss.params.optionImage;\n var optionIcon = optionData.optionIcon || ss.params.optionIcon;\n var optionHasMedia = optionImage || optionIcon; // if (material) optionHasMedia = optionImage || optionIcon;\n\n var optionColor = optionData.optionColor;\n var optionClassName = optionData.optionClass || '';\n if ($optionEl[0].disabled) optionClassName += ' disabled';\n var optionGroupEl = $optionEl.parent('optgroup')[0];\n var optionGroupLabel = optionGroupEl && optionGroupEl.label;\n var optionIsLabel = false;\n\n if (optionGroupEl && optionGroupEl !== previousGroupEl) {\n optionIsLabel = true;\n previousGroupEl = optionGroupEl;\n items.push({\n groupLabel: optionGroupLabel,\n isLabel: optionIsLabel\n });\n }\n\n items.push({\n value: $optionEl[0].value,\n text: $optionEl[0].textContent.trim(),\n selected: $optionEl[0].selected,\n groupEl: optionGroupEl,\n groupLabel: optionGroupLabel,\n image: optionImage,\n icon: optionIcon,\n color: optionColor,\n className: optionClassName,\n disabled: $optionEl[0].disabled,\n id: ss.id,\n hasMedia: optionHasMedia,\n checkbox: ss.inputType === 'checkbox',\n radio: ss.inputType === 'radio',\n inputName: ss.inputName,\n inputType: ss.inputType\n });\n });\n ss.items = items;\n return items;\n }\n }, {\n key: \"renderSearchbar\",\n value: function renderSearchbar() {\n var ss = this;\n if (ss.params.renderSearchbar) return ss.params.renderSearchbar.call(ss);\n var searchbarHTML = \"\\n <form class=\\\"searchbar\\\">\\n <div class=\\\"searchbar-inner\\\">\\n <div class=\\\"searchbar-input-wrap\\\">\\n <input type=\\\"search\\\" placeholder=\\\"\".concat(ss.params.searchbarPlaceholder, \"\\\"/>\\n <i class=\\\"searchbar-icon\\\"></i>\\n <span class=\\\"input-clear-button\\\"></span>\\n </div>\\n \").concat(ss.params.searchbarDisableButton ? \"\\n <span class=\\\"searchbar-disable-button\\\">\".concat(ss.params.searchbarDisableText, \"</span>\\n \") : '', \"\\n </div>\\n </form>\\n \");\n return searchbarHTML;\n }\n }, {\n key: \"renderItem\",\n value: function renderItem(item, index) {\n var ss = this;\n if (ss.params.renderItem) return ss.params.renderItem.call(ss, item, index);\n var itemHtml;\n\n if (item.isLabel) {\n itemHtml = \"<li class=\\\"item-divider\\\">\".concat(item.groupLabel, \"</li>\");\n } else {\n itemHtml = \"\\n <li class=\\\"\".concat(item.className || '', \"\\\">\\n <label class=\\\"item-\").concat(item.inputType, \" item-content\\\">\\n <input type=\\\"\").concat(item.inputType, \"\\\" name=\\\"\").concat(item.inputName, \"\\\" value=\\\"\").concat(item.value, \"\\\" \").concat(item.selected ? 'checked' : '', \"/>\\n <i class=\\\"icon icon-\").concat(item.inputType, \"\\\"></i>\\n \").concat(item.hasMedia ? \"\\n <div class=\\\"item-media\\\">\\n \".concat(item.icon ? \"<i class=\\\"icon \".concat(item.icon, \"\\\"></i>\") : '', \"\\n \").concat(item.image ? \"<img src=\\\"\".concat(item.image, \"\\\">\") : '', \"\\n </div>\\n \") : '', \"\\n <div class=\\\"item-inner\\\">\\n <div class=\\\"item-title\").concat(item.color ? \" color-\".concat(item.color) : '', \"\\\">\").concat(item.text, \"</div>\\n </div>\\n </label>\\n </li>\\n \");\n }\n\n return itemHtml;\n }\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var ss = this;\n if (ss.params.renderItems) return ss.params.renderItems.call(ss, ss.items);\n var itemsHtml = \"\\n \".concat(ss.items.map(function (item, index) {\n return \"\".concat(ss.renderItem(item, index));\n }).join(''), \"\\n \");\n return itemsHtml;\n }\n }, {\n key: \"renderPage\",\n value: function renderPage() {\n var ss = this;\n if (ss.params.renderPage) return ss.params.renderPage.call(ss, ss.items);\n var pageTitle = ss.params.pageTitle;\n\n if (typeof pageTitle === 'undefined') {\n var $itemTitleEl = ss.$el.find('.item-title');\n pageTitle = $itemTitleEl.length ? $itemTitleEl.text().trim() : '';\n }\n\n var cssClass = ss.params.cssClass;\n var pageHtml = \"\\n <div class=\\\"page smart-select-page \".concat(cssClass, \"\\\" data-name=\\\"smart-select-page\\\" data-select-name=\\\"\").concat(ss.selectName, \"\\\">\\n <div class=\\\"navbar \").concat(ss.params.navbarColorTheme ? \"color-\".concat(ss.params.navbarColorTheme) : '', \"\\\">\\n <div class=\\\"navbar-inner sliding \").concat(ss.params.navbarColorTheme ? \"color-\".concat(ss.params.navbarColorTheme) : '', \"\\\">\\n <div class=\\\"left\\\">\\n <a class=\\\"link back\\\">\\n <i class=\\\"icon icon-back\\\"></i>\\n <span class=\\\"if-not-md\\\">\").concat(ss.params.pageBackLinkText, \"</span>\\n </a>\\n </div>\\n \").concat(pageTitle ? \"<div class=\\\"title\\\">\".concat(pageTitle, \"</div>\") : '', \"\\n \").concat(ss.params.searchbar ? \"<div class=\\\"subnavbar\\\">\".concat(ss.renderSearchbar(), \"</div>\") : '', \"\\n </div>\\n </div>\\n \").concat(ss.params.searchbar ? '<div class=\"searchbar-backdrop\"></div>' : '', \"\\n <div class=\\\"page-content\\\">\\n <div class=\\\"list smart-select-list-\").concat(ss.id, \" \").concat(ss.params.virtualList ? ' virtual-list' : '', \" \").concat(ss.params.formColorTheme ? \"color-\".concat(ss.params.formColorTheme) : '', \"\\\">\\n <ul>\").concat(!ss.params.virtualList && ss.renderItems(ss.items), \"</ul>\\n </div>\\n </div>\\n </div>\\n \");\n return pageHtml;\n }\n }, {\n key: \"renderPopup\",\n value: function renderPopup() {\n var ss = this;\n if (ss.params.renderPopup) return ss.params.renderPopup.call(ss, ss.items);\n var pageTitle = ss.params.pageTitle;\n\n if (typeof pageTitle === 'undefined') {\n var $itemTitleEl = ss.$el.find('.item-title');\n pageTitle = $itemTitleEl.length ? $itemTitleEl.text().trim() : '';\n }\n\n var cssClass = ss.params.cssClass || '';\n var popupHtml = \"\\n <div class=\\\"popup smart-select-popup \".concat(cssClass, \" \").concat(ss.params.popupTabletFullscreen ? 'popup-tablet-fullscreen' : '', \"\\\" data-select-name=\\\"\").concat(ss.selectName, \"\\\">\\n <div class=\\\"view\\\">\\n <div class=\\\"page smart-select-page \").concat(ss.params.searchbar ? 'page-with-subnavbar' : '', \"\\\" data-name=\\\"smart-select-page\\\">\\n <div class=\\\"navbar \").concat(ss.params.navbarColorTheme ? \"color-\".concat(ss.params.navbarColorTheme) : '', \"\\\">\\n <div class=\\\"navbar-inner sliding\\\">\\n \").concat(pageTitle ? \"<div class=\\\"title\\\">\".concat(pageTitle, \"</div>\") : '', \"\\n <div class=\\\"right\\\">\\n <a class=\\\"link popup-close\\\" data-popup=\\\".smart-select-popup[data-select-name='\").concat(ss.selectName, \"']\\\">\").concat(ss.params.popupCloseLinkText, \"</span></a>\\n </div>\\n \").concat(ss.params.searchbar ? \"<div class=\\\"subnavbar\\\">\".concat(ss.renderSearchbar(), \"</div>\") : '', \"\\n </div>\\n </div>\\n \").concat(ss.params.searchbar ? '<div class=\"searchbar-backdrop\"></div>' : '', \"\\n <div class=\\\"page-content\\\">\\n <div class=\\\"list smart-select-list-\").concat(ss.id, \" \").concat(ss.params.virtualList ? ' virtual-list' : '', \" \").concat(ss.params.formColorTheme ? \"color-\".concat(ss.params.formColorTheme) : '', \"\\\">\\n <ul>\").concat(!ss.params.virtualList && ss.renderItems(ss.items), \"</ul>\\n </div>\\n </div>\\n </div>\\n </div>\\n </div>\\n \");\n return popupHtml;\n }\n }, {\n key: \"renderSheet\",\n value: function renderSheet() {\n var ss = this;\n if (ss.params.renderSheet) return ss.params.renderSheet.call(ss, ss.items);\n var cssClass = ss.params.cssClass;\n var sheetHtml = \"\\n <div class=\\\"sheet-modal smart-select-sheet \".concat(cssClass, \"\\\" data-select-name=\\\"\").concat(ss.selectName, \"\\\">\\n <div class=\\\"toolbar toolbar-top \").concat(ss.params.toolbarColorTheme ? \"color-\".concat(ss.params.toolbarColorTheme) : '', \"\\\">\\n <div class=\\\"toolbar-inner\\\">\\n <div class=\\\"left\\\"></div>\\n <div class=\\\"right\\\">\\n <a class=\\\"link sheet-close\\\">\").concat(ss.params.sheetCloseLinkText, \"</a>\\n </div>\\n </div>\\n </div>\\n <div class=\\\"sheet-modal-inner\\\">\\n <div class=\\\"page-content\\\">\\n <div class=\\\"list smart-select-list-\").concat(ss.id, \" \").concat(ss.params.virtualList ? ' virtual-list' : '', \" \").concat(ss.params.formColorTheme ? \"color-\".concat(ss.params.formColorTheme) : '', \"\\\">\\n <ul>\").concat(!ss.params.virtualList && ss.renderItems(ss.items), \"</ul>\\n </div>\\n </div>\\n </div>\\n </div>\\n \");\n return sheetHtml;\n }\n }, {\n key: \"renderPopover\",\n value: function renderPopover() {\n var ss = this;\n if (ss.params.renderPopover) return ss.params.renderPopover.call(ss, ss.items);\n var cssClass = ss.params.cssClass;\n var popoverHtml = \"\\n <div class=\\\"popover smart-select-popover \".concat(cssClass, \"\\\" data-select-name=\\\"\").concat(ss.selectName, \"\\\">\\n <div class=\\\"popover-inner\\\">\\n <div class=\\\"list smart-select-list-\").concat(ss.id, \" \").concat(ss.params.virtualList ? ' virtual-list' : '', \" \").concat(ss.params.formColorTheme ? \"color-\".concat(ss.params.formColorTheme) : '', \"\\\">\\n <ul>\").concat(!ss.params.virtualList && ss.renderItems(ss.items), \"</ul>\\n </div>\\n </div>\\n </div>\\n \");\n return popoverHtml;\n }\n }, {\n key: \"scrollToSelectedItem\",\n value: function scrollToSelectedItem() {\n var ss = this;\n var params = ss.params,\n $containerEl = ss.$containerEl;\n if (!ss.opened) return ss;\n\n if (params.virtualList) {\n var selectedIndex;\n ss.vl.items.forEach(function (item, index) {\n if (typeof selectedIndex === 'undefined' && item.selected) {\n selectedIndex = index;\n }\n });\n\n if (typeof selectedIndex !== 'undefined') {\n ss.vl.scrollToItem(selectedIndex);\n }\n } else {\n var $selectedItemEl = $containerEl.find('input:checked').parents('li');\n var $pageContentEl = $containerEl.find('.page-content');\n $pageContentEl.scrollTop($selectedItemEl.offset().top - $pageContentEl.offset().top - parseInt($pageContentEl.css('padding-top'), 10));\n }\n\n return ss;\n }\n }, {\n key: \"onOpen\",\n value: function onOpen(type, containerEl) {\n var ss = this;\n var app = ss.app;\n var $containerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(containerEl);\n ss.$containerEl = $containerEl;\n ss.openedIn = type;\n ss.opened = true; // Init VL\n\n if (ss.params.virtualList) {\n ss.vl = app.virtualList.create({\n el: $containerEl.find('.virtual-list'),\n items: ss.items,\n renderItem: ss.renderItem.bind(ss),\n height: ss.params.virtualListHeight,\n searchByItem: function searchByItem(query, item) {\n if (item.text && item.text.toLowerCase().indexOf(query.trim().toLowerCase()) >= 0) return true;\n return false;\n }\n });\n }\n\n if (ss.params.scrollToSelectedItem) {\n ss.scrollToSelectedItem();\n } // Init SB\n\n\n if (ss.params.searchbar) {\n var $searchbarEl = $containerEl.find('.searchbar');\n\n if (type === 'page' && app.theme === 'ios') {\n $searchbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($containerEl)).find('.searchbar');\n }\n\n if (ss.params.appendSearchbarNotFound && (type === 'page' || type === 'popup')) {\n var $notFoundEl = null;\n\n if (typeof ss.params.appendSearchbarNotFound === 'string') {\n $notFoundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"block searchbar-not-found\\\">\".concat(ss.params.appendSearchbarNotFound, \"</div>\"));\n } else if (typeof ss.params.appendSearchbarNotFound === 'boolean') {\n $notFoundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"block searchbar-not-found\">Nothing found</div>');\n } else {\n $notFoundEl = ss.params.appendSearchbarNotFound;\n }\n\n if ($notFoundEl) {\n $containerEl.find('.page-content').append($notFoundEl[0]);\n }\n }\n\n var searchbarParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: $searchbarEl,\n backdropEl: $containerEl.find('.searchbar-backdrop'),\n searchContainer: \".smart-select-list-\".concat(ss.id),\n searchIn: '.item-title'\n }, _typeof(ss.params.searchbar) === 'object' ? ss.params.searchbar : {});\n ss.searchbar = app.searchbar.create(searchbarParams);\n } // Check for max length\n\n\n if (ss.maxLength) {\n ss.checkMaxLength();\n } // Close on select\n\n\n if (ss.params.closeOnSelect) {\n ss.$containerEl.find(\"input[type=\\\"radio\\\"][name=\\\"\".concat(ss.inputName, \"\\\"]:checked\")).parents('label').once('click', function () {\n ss.close();\n });\n } // Attach input events\n\n\n ss.attachInputsEvents();\n ss.$el.trigger('smartselect:open', ss);\n ss.emit('local::open smartSelectOpen', ss);\n }\n }, {\n key: \"onOpened\",\n value: function onOpened() {\n var ss = this;\n ss.$el.trigger('smartselect:opened', ss);\n ss.emit('local::opened smartSelectOpened', ss);\n }\n }, {\n key: \"onClose\",\n value: function onClose() {\n var ss = this;\n if (ss.destroyed) return; // Destroy VL\n\n if (ss.vl && ss.vl.destroy) {\n ss.vl.destroy();\n ss.vl = null;\n delete ss.vl;\n } // Destroy SB\n\n\n if (ss.searchbar && ss.searchbar.destroy) {\n ss.searchbar.destroy();\n ss.searchbar = null;\n delete ss.searchbar;\n } // Detach events\n\n\n ss.detachInputsEvents();\n ss.$el.trigger('smartselect:close', ss);\n ss.emit('local::close smartSelectClose', ss);\n }\n }, {\n key: \"onClosed\",\n value: function onClosed() {\n var ss = this;\n if (ss.destroyed) return;\n ss.opened = false;\n ss.$containerEl = null;\n delete ss.$containerEl;\n ss.$el.trigger('smartselect:closed', ss);\n ss.emit('local::closed smartSelectClosed', ss);\n }\n }, {\n key: \"openPage\",\n value: function openPage() {\n var ss = this;\n if (ss.opened) return ss;\n ss.getItemsData();\n var pageHtml = ss.renderPage(ss.items);\n var view = ss.getView();\n view.router.navigate({\n url: ss.url,\n route: {\n content: pageHtml,\n path: ss.url,\n on: {\n pageBeforeIn: function pageBeforeIn(e, page) {\n ss.onOpen('page', page.el);\n },\n pageAfterIn: function pageAfterIn(e, page) {\n ss.onOpened('page', page.el);\n },\n pageBeforeOut: function pageBeforeOut(e, page) {\n ss.onClose('page', page.el);\n },\n pageAfterOut: function pageAfterOut(e, page) {\n ss.onClosed('page', page.el);\n }\n }\n }\n });\n return ss;\n }\n }, {\n key: \"openPopup\",\n value: function openPopup() {\n var ss = this;\n if (ss.opened) return ss;\n ss.getItemsData();\n var popupHtml = ss.renderPopup(ss.items);\n var popupParams = {\n content: popupHtml,\n on: {\n popupOpen: function popupOpen(popup) {\n ss.onOpen('popup', popup.el);\n },\n popupOpened: function popupOpened(popup) {\n ss.onOpened('popup', popup.el);\n },\n popupClose: function popupClose(popup) {\n ss.onClose('popup', popup.el);\n },\n popupClosed: function popupClosed(popup) {\n ss.onClosed('popup', popup.el);\n }\n }\n };\n\n if (ss.params.routableModals) {\n var view = ss.getView();\n view.router.navigate({\n url: ss.url,\n route: {\n path: ss.url,\n popup: popupParams\n }\n });\n } else {\n ss.modal = ss.app.popup.create(popupParams).open();\n }\n\n return ss;\n }\n }, {\n key: \"openSheet\",\n value: function openSheet() {\n var ss = this;\n if (ss.opened) return ss;\n ss.getItemsData();\n var sheetHtml = ss.renderSheet(ss.items);\n var sheetParams = {\n content: sheetHtml,\n backdrop: false,\n scrollToEl: ss.$el,\n closeByOutsideClick: true,\n on: {\n sheetOpen: function sheetOpen(sheet) {\n ss.onOpen('sheet', sheet.el);\n },\n sheetOpened: function sheetOpened(sheet) {\n ss.onOpened('sheet', sheet.el);\n },\n sheetClose: function sheetClose(sheet) {\n ss.onClose('sheet', sheet.el);\n },\n sheetClosed: function sheetClosed(sheet) {\n ss.onClosed('sheet', sheet.el);\n }\n }\n };\n\n if (ss.params.routableModals) {\n var view = ss.getView();\n view.router.navigate({\n url: ss.url,\n route: {\n path: ss.url,\n sheet: sheetParams\n }\n });\n } else {\n ss.modal = ss.app.sheet.create(sheetParams).open();\n }\n\n return ss;\n }\n }, {\n key: \"openPopover\",\n value: function openPopover() {\n var ss = this;\n if (ss.opened) return ss;\n ss.getItemsData();\n var popoverHtml = ss.renderPopover(ss.items);\n var popoverParams = {\n content: popoverHtml,\n targetEl: ss.$el,\n on: {\n popoverOpen: function popoverOpen(popover) {\n ss.onOpen('popover', popover.el);\n },\n popoverOpened: function popoverOpened(popover) {\n ss.onOpened('popover', popover.el);\n },\n popoverClose: function popoverClose(popover) {\n ss.onClose('popover', popover.el);\n },\n popoverClosed: function popoverClosed(popover) {\n ss.onClosed('popover', popover.el);\n }\n }\n };\n\n if (ss.params.routableModals) {\n var view = ss.getView();\n view.router.navigate({\n url: ss.url,\n route: {\n path: ss.url,\n popover: popoverParams\n }\n });\n } else {\n ss.modal = ss.app.popover.create(popoverParams).open();\n }\n\n return ss;\n }\n }, {\n key: \"open\",\n value: function open(type) {\n var ss = this;\n if (ss.opened) return ss;\n var prevented = false;\n\n function prevent() {\n prevented = true;\n }\n\n if (ss.$el) {\n ss.$el.trigger('smartselect:beforeopen', {\n prevent: prevent\n });\n }\n\n ss.emit('local::beforeOpen smartSelectBeforeOpen', ss, prevent);\n if (prevented) return ss;\n var openIn = type || ss.params.openIn;\n ss[\"open\".concat(openIn.split('').map(function (el, index) {\n if (index === 0) return el.toUpperCase();\n return el;\n }).join(''))]();\n return ss;\n }\n }, {\n key: \"close\",\n value: function close() {\n var ss = this;\n if (!ss.opened) return ss;\n\n if (ss.params.routableModals || ss.openedIn === 'page') {\n var view = ss.getView();\n view.router.back();\n } else {\n ss.modal.once('modalClosed', function () {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (ss.destroyed) return;\n ss.modal.destroy();\n delete ss.modal;\n });\n });\n ss.modal.close();\n }\n\n return ss;\n }\n }, {\n key: \"init\",\n value: function init() {\n var ss = this;\n ss.attachEvents();\n ss.setValueText();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var ss = this;\n ss.emit('local::beforeDestroy smartSelectBeforeDestroy', ss);\n ss.$el.trigger('smartselect:beforedestroy', ss);\n ss.detachEvents();\n delete ss.$el[0].f7SmartSelect;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(ss);\n ss.destroyed = true;\n }\n }]);\n\n return SmartSelect;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SmartSelect);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/smart-select/smart-select-class.js?");
  802. /***/ }),
  803. /***/ "./node_modules/framework7/components/smart-select/smart-select.js":
  804. /*!*************************************************************************!*\
  805. !*** ./node_modules/framework7/components/smart-select/smart-select.js ***!
  806. \*************************************************************************/
  807. /*! exports provided: default */
  808. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  809. "use strict";
  810. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _smart_select_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./smart-select-class */ \"./node_modules/framework7/components/smart-select/smart-select-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'smartSelect',\n params: {\n smartSelect: {\n el: undefined,\n valueEl: undefined,\n setValueText: true,\n formatValueText: null,\n openIn: 'page',\n // or 'popup' or 'sheet' or 'popover'\n pageTitle: undefined,\n pageBackLinkText: 'Back',\n popupCloseLinkText: 'Close',\n popupTabletFullscreen: false,\n sheetCloseLinkText: 'Done',\n searchbar: false,\n searchbarPlaceholder: 'Search',\n searchbarDisableText: 'Cancel',\n searchbarDisableButton: undefined,\n closeOnSelect: false,\n virtualList: false,\n virtualListHeight: undefined,\n scrollToSelectedItem: false,\n formColorTheme: undefined,\n navbarColorTheme: undefined,\n routableModals: true,\n url: 'select/',\n cssClass: '',\n\n /*\n Custom render functions\n */\n renderPage: undefined,\n renderPopup: undefined,\n renderSheet: undefined,\n renderPopover: undefined,\n renderItems: undefined,\n renderItem: undefined,\n renderSearchbar: undefined\n }\n },\n static: {\n SmartSelect: _smart_select_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.smartSelect = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.smart-select',\n constructor: _smart_select_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7SmartSelect'\n }), {\n open: function open(smartSelectEl) {\n var ss = app.smartSelect.get(smartSelectEl);\n if (ss && ss.open) return ss.open();\n return undefined;\n },\n close: function close(smartSelectEl) {\n var ss = app.smartSelect.get(smartSelectEl);\n if (ss && ss.close) return ss.close();\n return undefined;\n }\n });\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.smart-select-init').each(function (index, smartSelectEl) {\n app.smartSelect.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: smartSelectEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(smartSelectEl).dataset()));\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.smart-select-init').each(function (index, smartSelectEl) {\n if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {\n smartSelectEl.f7SmartSelect.destroy();\n }\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.smart-select-init').each(function (index, smartSelectEl) {\n app.smartSelect.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: smartSelectEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(smartSelectEl).dataset()));\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.smart-select-init').each(function (index, smartSelectEl) {\n if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {\n smartSelectEl.f7SmartSelect.destroy();\n }\n });\n }\n },\n clicks: {\n '.smart-select': function open($clickedEl, data) {\n var app = this;\n\n if (!$clickedEl[0].f7SmartSelect) {\n var ss = app.smartSelect.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: $clickedEl\n }, data));\n ss.open();\n }\n }\n },\n vnode: {\n 'smart-select-init': {\n insert: function insert(vnode) {\n var app = this;\n var smartSelectEl = vnode.elm;\n app.smartSelect.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: smartSelectEl\n }, Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(smartSelectEl).dataset()));\n },\n destroy: function destroy(vnode) {\n var smartSelectEl = vnode.elm;\n\n if (smartSelectEl.f7SmartSelect && smartSelectEl.f7SmartSelect.destroy) {\n smartSelectEl.f7SmartSelect.destroy();\n }\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/smart-select/smart-select.js?");
  811. /***/ }),
  812. /***/ "./node_modules/framework7/components/sortable/sortable.js":
  813. /*!*****************************************************************!*\
  814. !*** ./node_modules/framework7/components/sortable/sortable.js ***!
  815. \*****************************************************************/
  816. /*! exports provided: default */
  817. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  818. "use strict";
  819. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\nvar Sortable = {\n init: function init() {\n var app = this;\n var isTouched;\n var isMoved;\n var touchStartY;\n var touchesDiff;\n var $sortingEl;\n var $sortingItems;\n var $sortableContainer;\n var sortingElHeight;\n var minTop;\n var maxTop;\n var $insertAfterEl;\n var $insertBeforeEl;\n var indexFrom;\n var $pageEl;\n var $pageContentEl;\n var pageHeight;\n var pageOffset;\n var sortingElOffsetLocal;\n var sortingElOffsetTop;\n var initialScrollTop;\n\n function handleTouchStart(e) {\n isMoved = false;\n isTouched = true;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n $sortingEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).parent('li');\n indexFrom = $sortingEl.index();\n $sortableContainer = $sortingEl.parents('.sortable');\n var $listGroup = $sortingEl.parents('.list-group');\n\n if ($listGroup.length && $listGroup.parents($sortableContainer).length) {\n $sortableContainer = $listGroup;\n }\n\n $sortingItems = $sortableContainer.children('ul').children('li:not(.disallow-sorting):not(.no-sorting)');\n if (app.panel) app.panel.allowOpen = false;\n if (app.swipeout) app.swipeout.allow = false;\n }\n\n function handleTouchMove(e) {\n if (!isTouched || !$sortingEl) return;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!isMoved) {\n $pageEl = $sortingEl.parents('.page');\n $pageContentEl = $sortingEl.parents('.page-content');\n var paddingTop = parseInt($pageContentEl.css('padding-top'), 10);\n var paddingBottom = parseInt($pageContentEl.css('padding-bottom'), 10);\n initialScrollTop = $pageContentEl[0].scrollTop;\n pageOffset = $pageEl.offset().top + paddingTop;\n pageHeight = $pageEl.height() - paddingTop - paddingBottom;\n $sortingEl.addClass('sorting');\n $sortableContainer.addClass('sortable-sorting');\n sortingElOffsetLocal = $sortingEl[0].offsetTop;\n minTop = $sortingEl[0].offsetTop;\n maxTop = $sortingEl.parent().height() - sortingElOffsetLocal - $sortingEl.height();\n sortingElHeight = $sortingEl[0].offsetHeight;\n sortingElOffsetTop = $sortingEl.offset().top;\n }\n\n isMoved = true;\n e.preventDefault();\n e.f7PreventSwipePanel = true;\n touchesDiff = pageY - touchStartY;\n var translateScrollOffset = $pageContentEl[0].scrollTop - initialScrollTop;\n var translate = Math.min(Math.max(touchesDiff + translateScrollOffset, -minTop), maxTop);\n $sortingEl.transform(\"translate3d(0,\".concat(translate, \"px,0)\"));\n var scrollAddition = 44;\n var allowScroll = true;\n\n if (touchesDiff + translateScrollOffset + scrollAddition < -minTop) {\n allowScroll = false;\n }\n\n if (touchesDiff + translateScrollOffset - scrollAddition > maxTop) {\n allowScroll = false;\n }\n\n $insertBeforeEl = undefined;\n $insertAfterEl = undefined;\n var scrollDiff;\n\n if (allowScroll) {\n if (sortingElOffsetTop + touchesDiff + sortingElHeight + scrollAddition > pageOffset + pageHeight) {\n // To Bottom\n scrollDiff = sortingElOffsetTop + touchesDiff + sortingElHeight + scrollAddition - (pageOffset + pageHeight);\n }\n\n if (sortingElOffsetTop + touchesDiff < pageOffset + scrollAddition) {\n // To Top\n scrollDiff = sortingElOffsetTop + touchesDiff - pageOffset - scrollAddition;\n }\n\n if (scrollDiff) {\n $pageContentEl[0].scrollTop += scrollDiff;\n }\n }\n\n $sortingItems.each(function (index, el) {\n var $currentEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($currentEl[0] === $sortingEl[0]) return;\n var currentElOffset = $currentEl[0].offsetTop;\n var currentElHeight = $currentEl.height();\n var sortingElOffset = sortingElOffsetLocal + translate;\n\n if (sortingElOffset >= currentElOffset - currentElHeight / 2 && $sortingEl.index() < $currentEl.index()) {\n $currentEl.transform(\"translate3d(0, \".concat(-sortingElHeight, \"px,0)\"));\n $insertAfterEl = $currentEl;\n $insertBeforeEl = undefined;\n } else if (sortingElOffset <= currentElOffset + currentElHeight / 2 && $sortingEl.index() > $currentEl.index()) {\n $currentEl.transform(\"translate3d(0, \".concat(sortingElHeight, \"px,0)\"));\n $insertAfterEl = undefined;\n if (!$insertBeforeEl) $insertBeforeEl = $currentEl;\n } else {\n $currentEl.transform('translate3d(0, 0%,0)');\n }\n });\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n\n if (isTouched && !isMoved) {\n if (app.panel) app.panel.allowOpen = true;\n if (app.swipeout) app.swipeout.allow = true;\n }\n\n return;\n }\n\n if (app.panel) app.panel.allowOpen = true;\n if (app.swipeout) app.swipeout.allow = true;\n $sortingItems.transform('');\n $sortingEl.removeClass('sorting');\n $sortableContainer.removeClass('sortable-sorting');\n var indexTo;\n if ($insertAfterEl) indexTo = $insertAfterEl.index();else if ($insertBeforeEl) indexTo = $insertBeforeEl.index();\n var moveElements = $sortableContainer.dataset().sortableMoveElements;\n\n if (typeof moveElements === 'undefined') {\n moveElements = app.params.sortable.moveElements;\n }\n\n if (moveElements) {\n if ($insertAfterEl) {\n $sortingEl.insertAfter($insertAfterEl);\n }\n\n if ($insertBeforeEl) {\n $sortingEl.insertBefore($insertBeforeEl);\n }\n }\n\n if (($insertAfterEl || $insertBeforeEl) && $sortableContainer.hasClass('virtual-list')) {\n indexFrom = $sortingEl[0].f7VirtualListIndex;\n if (typeof indexFrom === 'undefined') indexFrom = $sortingEl.attr('data-virtual-list-index');\n\n if ($insertBeforeEl) {\n indexTo = $insertBeforeEl[0].f7VirtualListIndex;\n if (typeof indexTo === 'undefined') indexTo = $insertBeforeEl.attr('data-virtual-list-index');\n } else {\n indexTo = $insertAfterEl[0].f7VirtualListIndex;\n if (typeof indexTo === 'undefined') indexTo = $insertAfterEl.attr('data-virtual-list-index');\n }\n\n if (indexTo !== null) indexTo = parseInt(indexTo, 10);else indexTo = undefined;\n var virtualList = $sortableContainer[0].f7VirtualList;\n if (virtualList) virtualList.moveItem(indexFrom, indexTo);\n }\n\n if (typeof indexTo !== 'undefined' && !Number.isNaN(indexTo) && indexTo !== indexFrom) {\n $sortingEl.trigger('sortable:sort', {\n from: indexFrom,\n to: indexTo\n });\n app.emit('sortableSort', $sortingEl[0], {\n from: indexFrom,\n to: indexTo\n });\n }\n\n $insertBeforeEl = undefined;\n $insertAfterEl = undefined;\n isTouched = false;\n isMoved = false;\n }\n\n var activeListener = app.support.passiveListener ? {\n passive: false,\n capture: false\n } : false;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on(app.touchEvents.start, '.list.sortable .sortable-handler', handleTouchStart, activeListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n },\n enable: function enable() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.list.sortable';\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n $el.addClass('sortable-enabled');\n $el.trigger('sortable:enable');\n app.emit('sortableEnable', $el[0]);\n },\n disable: function disable() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.list.sortable';\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n $el.removeClass('sortable-enabled');\n $el.trigger('sortable:disable');\n app.emit('sortableDisable', $el[0]);\n },\n toggle: function toggle() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.list.sortable';\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return;\n\n if ($el.hasClass('sortable-enabled')) {\n app.sortable.disable($el);\n } else {\n app.sortable.enable($el);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'sortable',\n params: {\n sortable: {\n moveElements: true\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n sortable: {\n init: Sortable.init.bind(app),\n enable: Sortable.enable.bind(app),\n disable: Sortable.disable.bind(app),\n toggle: Sortable.toggle.bind(app)\n }\n });\n },\n on: {\n init: function init() {\n var app = this;\n if (!app.params.sortable) return;\n app.sortable.init();\n }\n },\n clicks: {\n '.sortable-enable': function enable($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.sortable.enable(data.sortable);\n },\n '.sortable-disable': function disable($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.sortable.disable(data.sortable);\n },\n '.sortable-toggle': function toggle($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.sortable.toggle(data.sortable);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/sortable/sortable.js?");
  820. /***/ }),
  821. /***/ "./node_modules/framework7/components/statusbar/statusbar.js":
  822. /*!*******************************************************************!*\
  823. !*** ./node_modules/framework7/components/statusbar/statusbar.js ***!
  824. \*******************************************************************/
  825. /*! exports provided: default */
  826. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  827. "use strict";
  828. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n\n\n\n\nvar Statusbar = {\n hide: function hide() {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.hide();\n }\n },\n show: function show() {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.show();\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].needsStatusbarOverlay()) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n }\n });\n return;\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n },\n onClick: function onClick() {\n var app = this;\n var pageContent;\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.popup.modal-in').length > 0) {\n // Check for opened popup\n pageContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.popup.modal-in').find('.page:not(.page-previous):not(.page-next):not(.cached)').find('.page-content');\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active').length > 0) {\n // Check for opened panel\n pageContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active').find('.page:not(.page-previous):not(.page-next):not(.cached)').find('.page-content');\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views > .view.tab-active').length > 0) {\n // View in tab bar app layout\n pageContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views > .view.tab-active').find('.page:not(.page-previous):not(.page-next):not(.cached)').find('.page-content');\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views').length > 0) {\n pageContent = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views').find('.page:not(.page-previous):not(.page-next):not(.cached)').find('.page-content');\n } else {\n pageContent = app.root.children('.view').find('.page:not(.page-previous):not(.page-next):not(.cached)').find('.page-content');\n }\n\n if (pageContent && pageContent.length > 0) {\n // Check for tab\n if (pageContent.hasClass('tab')) {\n pageContent = pageContent.parent('.tabs').children('.page-content.tab-active');\n }\n\n if (pageContent.length > 0) pageContent.scrollTop(0, 300);\n }\n },\n setTextColor: function setTextColor(color) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n if (color === 'white') {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleLightContent();\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleDefault();\n }\n }\n },\n setIosTextColor: function setIosTextColor(color) {\n if (!_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios) return;\n Statusbar.setTextColor(color);\n },\n setBackgroundColor: function setBackgroundColor(color) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.statusbar').css('background-color', color);\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.backgroundColorByHexString(color);\n }\n },\n isVisible: function isVisible() {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n return ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.isVisible;\n }\n\n return false;\n },\n overlaysWebView: function overlaysWebView() {\n var overlays = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(overlays);\n\n if (overlays) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n }\n }\n },\n checkOverlay: function checkOverlay() {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].needsStatusbarOverlay()) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n }\n },\n init: function init() {\n var app = this;\n var params = app.params.statusbar;\n if (!params.enabled) return;\n\n if (params.overlay === 'auto') {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].needsStatusbarOverlay()) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n } else {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios && (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].webView)) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].orientation === 0) {\n app.once('resize', function () {\n Statusbar.checkOverlay();\n });\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on('resume', function () {\n Statusbar.checkOverlay();\n }, false);\n app.on(_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios ? 'orientationchange' : 'orientationchange resize', function () {\n Statusbar.checkOverlay();\n });\n }\n } else if (params.overlay === true) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').addClass('with-statusbar');\n } else if (params.overlay === false) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('html').removeClass('with-statusbar');\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar) {\n if (params.scrollTopOnClick) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"]).on('statusTap', Statusbar.onClick.bind(app));\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios) {\n if (params.iosOverlaysWebView) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(true);\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(false);\n }\n\n if (params.iosTextColor === 'white') {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleLightContent();\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleDefault();\n }\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) {\n if (params.androidOverlaysWebView) {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(true);\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.overlaysWebView(false);\n }\n\n if (params.androidTextColor === 'white') {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleLightContent();\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].StatusBar.styleDefault();\n }\n }\n }\n\n if (params.iosBackgroundColor && _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios) {\n Statusbar.setBackgroundColor(params.iosBackgroundColor);\n }\n\n if ((params.materialBackgroundColor || params.androidBackgroundColor) && _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) {\n Statusbar.setBackgroundColor(params.materialBackgroundColor || params.androidBackgroundColor);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'statusbar',\n params: {\n statusbar: {\n enabled: true,\n overlay: 'auto',\n scrollTopOnClick: true,\n iosOverlaysWebView: true,\n iosTextColor: 'black',\n iosBackgroundColor: null,\n androidOverlaysWebView: false,\n androidTextColor: 'black',\n androidBackgroundColor: null\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n statusbar: {\n checkOverlay: Statusbar.checkOverlay,\n hide: Statusbar.hide,\n show: Statusbar.show,\n overlaysWebView: Statusbar.overlaysWebView,\n setTextColor: Statusbar.setTextColor,\n setBackgroundColor: Statusbar.setBackgroundColor,\n isVisible: Statusbar.isVisible,\n init: Statusbar.init.bind(app)\n }\n });\n },\n on: {\n init: function init() {\n var app = this;\n Statusbar.init.call(app);\n }\n },\n clicks: {\n '.statusbar': function onStatusbarClick() {\n var app = this;\n if (!app.params.statusbar.enabled) return;\n if (!app.params.statusbar.scrollTopOnClick) return;\n Statusbar.onClick.call(app);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/statusbar/statusbar.js?");
  829. /***/ }),
  830. /***/ "./node_modules/framework7/components/stepper/stepper-class.js":
  831. /*!*********************************************************************!*\
  832. !*** ./node_modules/framework7/components/stepper/stepper-class.js ***!
  833. \*********************************************************************/
  834. /*! exports provided: default */
  835. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  836. "use strict";
  837. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\nvar Stepper = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Stepper, _Framework7Class);\n\n var _super = _createSuper(Stepper);\n\n function Stepper(app, params) {\n var _this;\n\n _classCallCheck(this, Stepper);\n\n _this = _super.call(this, params, [app]);\n\n var stepper = _assertThisInitialized(_this);\n\n var defaults = {\n el: null,\n inputEl: null,\n valueEl: null,\n value: 0,\n formatValue: null,\n step: 1,\n min: 0,\n max: 100,\n watchInput: true,\n autorepeat: false,\n autorepeatDynamic: false,\n wraps: false,\n manualInputMode: false,\n decimalPoint: 4,\n buttonsEndInputMode: true\n }; // Extend defaults with modules params\n\n stepper.useModulesParams(defaults);\n stepper.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n\n if (stepper.params.value < stepper.params.min) {\n stepper.params.value = stepper.params.min;\n }\n\n if (stepper.params.value > stepper.params.max) {\n stepper.params.value = stepper.params.max;\n }\n\n var el = stepper.params.el;\n if (!el) return _possibleConstructorReturn(_this, stepper);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, stepper);\n if ($el[0].f7Stepper) return _possibleConstructorReturn(_this, $el[0].f7Stepper);\n var $inputEl;\n\n if (stepper.params.inputEl) {\n $inputEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepper.params.inputEl);\n } else if ($el.find('.stepper-input-wrap').find('input, textarea').length) {\n $inputEl = $el.find('.stepper-input-wrap').find('input, textarea').eq(0);\n }\n\n if ($inputEl && $inputEl.length) {\n 'step min max'.split(' ').forEach(function (paramName) {\n if (!params[paramName] && $inputEl.attr(paramName)) {\n stepper.params[paramName] = parseFloat($inputEl.attr(paramName));\n }\n });\n\n var _decimalPoint = parseInt(stepper.params.decimalPoint, 10);\n\n if (Number.isNaN(_decimalPoint)) {\n stepper.params.decimalPoint = 0;\n } else {\n stepper.params.decimalPoint = _decimalPoint;\n }\n\n var inputValue = parseFloat($inputEl.val());\n\n if (typeof params.value === 'undefined' && !Number.isNaN(inputValue) && (inputValue || inputValue === 0)) {\n stepper.params.value = inputValue;\n }\n }\n\n var $valueEl;\n\n if (stepper.params.valueEl) {\n $valueEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepper.params.valueEl);\n } else if ($el.find('.stepper-value').length) {\n $valueEl = $el.find('.stepper-value').eq(0);\n }\n\n var $buttonPlusEl = $el.find('.stepper-button-plus');\n var $buttonMinusEl = $el.find('.stepper-button-minus');\n var _stepper$params = stepper.params,\n step = _stepper$params.step,\n min = _stepper$params.min,\n max = _stepper$params.max,\n value = _stepper$params.value,\n decimalPoint = _stepper$params.decimalPoint;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(stepper, {\n app: app,\n $el: $el,\n el: $el[0],\n $buttonPlusEl: $buttonPlusEl,\n buttonPlusEl: $buttonPlusEl[0],\n $buttonMinusEl: $buttonMinusEl,\n buttonMinusEl: $buttonMinusEl[0],\n $inputEl: $inputEl,\n inputEl: $inputEl ? $inputEl[0] : undefined,\n $valueEl: $valueEl,\n valueEl: $valueEl ? $valueEl[0] : undefined,\n step: step,\n min: min,\n max: max,\n value: value,\n decimalPoint: decimalPoint,\n typeModeChanged: false\n });\n $el[0].f7Stepper = stepper; // Handle Events\n\n var touchesStart = {};\n var isTouched;\n var isScrolling;\n var preventButtonClick;\n var intervalId;\n var timeoutId;\n var autorepeatAction = null;\n var autorepeatInAction = false;\n var manualInput = false;\n\n function dynamicRepeat(current, progressions, startsIn, progressionStep, repeatEvery, action) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(function () {\n if (current === 1) {\n preventButtonClick = true;\n autorepeatInAction = true;\n }\n\n clearInterval(intervalId);\n action();\n intervalId = setInterval(function () {\n action();\n }, repeatEvery);\n\n if (current < progressions) {\n dynamicRepeat(current + 1, progressions, startsIn, progressionStep, repeatEvery / 2, action);\n }\n }, current === 1 ? startsIn : progressionStep);\n }\n\n function onTouchStart(e) {\n if (isTouched) return;\n\n if (manualInput) {\n return;\n }\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest($buttonPlusEl).length) {\n autorepeatAction = 'increment';\n } else if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest($buttonMinusEl).length) {\n autorepeatAction = 'decrement';\n }\n\n if (!autorepeatAction) return;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n isTouched = true;\n isScrolling = undefined;\n var progressions = stepper.params.autorepeatDynamic ? 4 : 1;\n dynamicRepeat(1, progressions, 500, 1000, 300, function () {\n stepper[autorepeatAction]();\n });\n }\n\n function onTouchMove(e) {\n if (!isTouched) return;\n\n if (manualInput) {\n return;\n }\n\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined' && !autorepeatInAction) {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n var distance = Math.pow(Math.pow(pageX - touchesStart.x, 2) + Math.pow(pageY - touchesStart.y, 2), 0.5);\n\n if (isScrolling || distance > 20) {\n isTouched = false;\n clearTimeout(timeoutId);\n clearInterval(intervalId);\n }\n }\n\n function onTouchEnd() {\n clearTimeout(timeoutId);\n clearInterval(intervalId);\n autorepeatAction = null;\n autorepeatInAction = false;\n isTouched = false;\n }\n\n function onMinusClick() {\n if (manualInput) {\n if (stepper.params.buttonsEndInputMode) {\n manualInput = false;\n stepper.endTypeMode(true);\n }\n\n return;\n }\n\n if (preventButtonClick) {\n preventButtonClick = false;\n return;\n }\n\n stepper.decrement(true);\n }\n\n function onPlusClick() {\n if (manualInput) {\n if (stepper.params.buttonsEndInputMode) {\n manualInput = false;\n stepper.endTypeMode(true);\n }\n\n return;\n }\n\n if (preventButtonClick) {\n preventButtonClick = false;\n return;\n }\n\n stepper.increment(true);\n }\n\n function onInputClick(e) {\n if (!e.target.readOnly && stepper.params.manualInputMode) {\n manualInput = true;\n\n if (typeof e.target.selectionStart === 'number') {\n e.target.selectionStart = e.target.value.length;\n e.target.selectionEnd = e.target.value.length;\n }\n }\n }\n\n function onInputKey(e) {\n if (e.keyCode === 13 || e.which === 13) {\n e.preventDefault();\n manualInput = false;\n stepper.endTypeMode();\n }\n }\n\n function onInputBlur() {\n manualInput = false;\n stepper.endTypeMode(true);\n }\n\n function onInput(e) {\n if (manualInput) {\n stepper.typeValue(e.target.value);\n return;\n }\n\n if (e.detail && e.detail.sentByF7Stepper) return;\n stepper.setValue(e.target.value, true);\n }\n\n stepper.attachEvents = function attachEvents() {\n $buttonMinusEl.on('click', onMinusClick);\n $buttonPlusEl.on('click', onPlusClick);\n\n if (stepper.params.watchInput && $inputEl && $inputEl.length) {\n $inputEl.on('input', onInput);\n $inputEl.on('click', onInputClick);\n $inputEl.on('blur', onInputBlur);\n $inputEl.on('keyup', onInputKey);\n }\n\n if (stepper.params.autorepeat) {\n app.on('touchstart:passive', onTouchStart);\n app.on('touchmove:active', onTouchMove);\n app.on('touchend:passive', onTouchEnd);\n }\n };\n\n stepper.detachEvents = function detachEvents() {\n $buttonMinusEl.off('click', onMinusClick);\n $buttonPlusEl.off('click', onPlusClick);\n\n if (stepper.params.watchInput && $inputEl && $inputEl.length) {\n $inputEl.off('input', onInput);\n $inputEl.off('click', onInputClick);\n $inputEl.off('blur', onInputBlur);\n $inputEl.off('keyup', onInputKey);\n }\n }; // Install Modules\n\n\n stepper.useModules(); // Init\n\n stepper.init();\n return _possibleConstructorReturn(_this, stepper);\n }\n\n _createClass(Stepper, [{\n key: \"minus\",\n value: function minus() {\n return this.decrement();\n }\n }, {\n key: \"plus\",\n value: function plus() {\n return this.increment();\n }\n }, {\n key: \"decrement\",\n value: function decrement() {\n var stepper = this;\n return stepper.setValue(stepper.value - stepper.step, false, true);\n }\n }, {\n key: \"increment\",\n value: function increment() {\n var stepper = this;\n return stepper.setValue(stepper.value + stepper.step, false, true);\n }\n }, {\n key: \"setValue\",\n value: function setValue(newValue, forceUpdate, withWraps) {\n var stepper = this;\n var step = stepper.step,\n min = stepper.min,\n max = stepper.max;\n var oldValue = stepper.value;\n var value = Math.round(newValue / step) * step;\n\n if (stepper.params.wraps && withWraps) {\n if (value > max) value = min;\n if (value < min) value = max;\n } else {\n value = Math.max(Math.min(value, max), min);\n }\n\n if (Number.isNaN(value)) {\n value = oldValue;\n }\n\n stepper.value = value;\n var valueChanged = oldValue !== value; // Events\n\n if (!valueChanged && !forceUpdate) return stepper;\n stepper.$el.trigger('stepper:change', stepper, stepper.value);\n var formattedValue = stepper.formatValue(stepper.value);\n\n if (stepper.$inputEl && stepper.$inputEl.length) {\n stepper.$inputEl.val(formattedValue);\n stepper.$inputEl.trigger('input change', {\n sentByF7Stepper: true\n });\n }\n\n if (stepper.$valueEl && stepper.$valueEl.length) {\n stepper.$valueEl.html(formattedValue);\n }\n\n stepper.emit('local::change stepperChange', stepper, stepper.value);\n return stepper;\n }\n }, {\n key: \"endTypeMode\",\n value: function endTypeMode(noBlur) {\n var stepper = this;\n var min = stepper.min,\n max = stepper.max;\n var value = parseFloat(stepper.value);\n if (Number.isNaN(value)) value = 0;\n value = Math.max(Math.min(value, max), min);\n stepper.value = value;\n\n if (!stepper.typeModeChanged) {\n if (stepper.$inputEl && stepper.$inputEl.length && !noBlur) {\n stepper.$inputEl.blur();\n }\n\n return stepper;\n }\n\n stepper.typeModeChanged = false;\n stepper.$el.trigger('stepper:change', stepper, stepper.value);\n var formattedValue = stepper.formatValue(stepper.value);\n\n if (stepper.$inputEl && stepper.$inputEl.length) {\n stepper.$inputEl.val(formattedValue);\n stepper.$inputEl.trigger('input change', {\n sentByF7Stepper: true\n });\n if (!noBlur) stepper.$inputEl.blur();\n }\n\n if (stepper.$valueEl && stepper.$valueEl.length) {\n stepper.$valueEl.html(formattedValue);\n }\n\n stepper.emit('local::change stepperChange', stepper, stepper.value);\n return stepper;\n }\n }, {\n key: \"typeValue\",\n value: function typeValue(value) {\n var stepper = this;\n stepper.typeModeChanged = true;\n var inputTxt = String(value);\n\n if (inputTxt.lastIndexOf('.') + 1 === inputTxt.length || inputTxt.lastIndexOf(',') + 1 === inputTxt.length) {\n if (inputTxt.lastIndexOf('.') !== inputTxt.indexOf('.') || inputTxt.lastIndexOf(',') !== inputTxt.indexOf(',')) {\n inputTxt = inputTxt.slice(0, -1);\n stepper.value = inputTxt;\n stepper.$inputEl.val(stepper.value);\n return stepper;\n }\n } else {\n var newValue = parseFloat(inputTxt.replace(',', '.'));\n\n if (newValue === 0) {\n stepper.value = inputTxt.replace(',', '.');\n stepper.$inputEl.val(stepper.value);\n return stepper;\n }\n\n if (Number.isNaN(newValue)) {\n stepper.value = 0;\n stepper.$inputEl.val(stepper.value);\n return stepper;\n }\n\n var powVal = Math.pow(10, stepper.params.decimalPoint);\n newValue = Math.round(newValue * powVal).toFixed(stepper.params.decimalPoint + 1) / powVal;\n stepper.value = parseFloat(String(newValue).replace(',', '.'));\n stepper.$inputEl.val(stepper.value);\n return stepper;\n }\n\n stepper.value = inputTxt;\n stepper.$inputEl.val(inputTxt);\n return stepper;\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n return this.value;\n }\n }, {\n key: \"formatValue\",\n value: function formatValue(value) {\n var stepper = this;\n if (!stepper.params.formatValue) return value;\n return stepper.params.formatValue.call(stepper, value);\n }\n }, {\n key: \"init\",\n value: function init() {\n var stepper = this;\n stepper.attachEvents();\n\n if (stepper.$valueEl && stepper.$valueEl.length) {\n var formattedValue = stepper.formatValue(stepper.value);\n stepper.$valueEl.html(formattedValue);\n }\n\n return stepper;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var stepper = this;\n stepper.$el.trigger('stepper:beforedestroy', stepper);\n stepper.emit('local::beforeDestroy stepperBeforeDestroy', stepper);\n delete stepper.$el[0].f7Stepper;\n stepper.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(stepper);\n stepper = null;\n }\n }]);\n\n return Stepper;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Stepper);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/stepper/stepper-class.js?");
  838. /***/ }),
  839. /***/ "./node_modules/framework7/components/stepper/stepper.js":
  840. /*!***************************************************************!*\
  841. !*** ./node_modules/framework7/components/stepper/stepper.js ***!
  842. \***************************************************************/
  843. /*! exports provided: default */
  844. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  845. "use strict";
  846. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _stepper_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./stepper-class */ \"./node_modules/framework7/components/stepper/stepper-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'stepper',\n create: function create() {\n var app = this;\n app.stepper = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n defaultSelector: '.stepper',\n constructor: _stepper_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Stepper'\n }), {\n getValue: function getValue() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.stepper';\n var stepper = app.stepper.get(el);\n if (stepper) return stepper.getValue();\n return undefined;\n },\n setValue: function setValue() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '.stepper';\n var value = arguments.length > 1 ? arguments[1] : undefined;\n var stepper = app.stepper.get(el);\n if (stepper) return stepper.setValue(value);\n return undefined;\n }\n });\n },\n static: {\n Stepper: _stepper_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.stepper-init').each(function (index, stepperEl) {\n var dataset = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepperEl).dataset();\n app.stepper.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: stepperEl\n }, dataset || {}));\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.stepper-init').each(function (index, stepperEl) {\n if (stepperEl.f7Stepper) stepperEl.f7Stepper.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.stepper-init').each(function (index, stepperEl) {\n var dataset = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepperEl).dataset();\n app.stepper.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: stepperEl\n }, dataset || {}));\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.stepper-init').each(function (index, stepperEl) {\n if (stepperEl.f7Stepper) stepperEl.f7Stepper.destroy();\n });\n }\n },\n vnode: {\n 'stepper-init': {\n insert: function insert(vnode) {\n var app = this;\n var stepperEl = vnode.elm;\n var dataset = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(stepperEl).dataset();\n app.stepper.create(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n el: stepperEl\n }, dataset || {}));\n },\n destroy: function destroy(vnode) {\n var stepperEl = vnode.elm;\n if (stepperEl.f7Stepper) stepperEl.f7Stepper.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/stepper/stepper.js?");
  847. /***/ }),
  848. /***/ "./node_modules/framework7/components/subnavbar/subnavbar.js":
  849. /*!*******************************************************************!*\
  850. !*** ./node_modules/framework7/components/subnavbar/subnavbar.js ***!
  851. \*******************************************************************/
  852. /*! exports provided: default */
  853. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  854. "use strict";
  855. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'subnavbar',\n on: {\n pageInit: function pageInit(page) {\n if (page.$navbarEl && page.$navbarEl.length && page.$navbarEl.find('.subnavbar').length) {\n page.$el.addClass('page-with-subnavbar');\n }\n\n if (page.$el.find('.subnavbar').length) {\n page.$el.addClass('page-with-subnavbar');\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/subnavbar/subnavbar.js?");
  856. /***/ }),
  857. /***/ "./node_modules/framework7/components/swipeout/swipeout.js":
  858. /*!*****************************************************************!*\
  859. !*** ./node_modules/framework7/components/swipeout/swipeout.js ***!
  860. \*****************************************************************/
  861. /*! exports provided: default */
  862. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  863. "use strict";
  864. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\nvar Swipeout = {\n init: function init() {\n var app = this;\n var touchesStart = {};\n var isTouched;\n var isMoved;\n var isScrolling;\n var touchStartTime;\n var touchesDiff;\n var $swipeoutEl;\n var $swipeoutContent;\n var $actionsRight;\n var $actionsLeft;\n var actionsLeftWidth;\n var actionsRightWidth;\n var translate;\n var opened;\n var openedActionsSide;\n var $leftButtons;\n var $rightButtons;\n var direction;\n var $overswipeLeftButton;\n var $overswipeRightButton;\n var overswipeLeft;\n var overswipeRight;\n\n function handleTouchStart(e) {\n if (!Swipeout.allow) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = new Date().getTime();\n $swipeoutEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this);\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n if (!isMoved) {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.list.sortable-opened').length > 0) return;\n $swipeoutContent = $swipeoutEl.find('.swipeout-content');\n $actionsRight = $swipeoutEl.find('.swipeout-actions-right');\n $actionsLeft = $swipeoutEl.find('.swipeout-actions-left');\n actionsLeftWidth = null;\n actionsRightWidth = null;\n $leftButtons = null;\n $rightButtons = null;\n $overswipeRightButton = null;\n $overswipeLeftButton = null;\n\n if ($actionsLeft.length > 0) {\n actionsLeftWidth = $actionsLeft.outerWidth();\n $leftButtons = $actionsLeft.children('a');\n $overswipeLeftButton = $actionsLeft.find('.swipeout-overswipe');\n }\n\n if ($actionsRight.length > 0) {\n actionsRightWidth = $actionsRight.outerWidth();\n $rightButtons = $actionsRight.children('a');\n $overswipeRightButton = $actionsRight.find('.swipeout-overswipe');\n }\n\n opened = $swipeoutEl.hasClass('swipeout-opened');\n\n if (opened) {\n openedActionsSide = $swipeoutEl.find('.swipeout-actions-left.swipeout-actions-opened').length > 0 ? 'left' : 'right';\n }\n\n $swipeoutEl.removeClass('swipeout-transitioning');\n\n if (!app.params.swipeout.noFollow) {\n $swipeoutEl.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n $swipeoutEl.removeClass('swipeout-opened');\n }\n }\n\n isMoved = true;\n e.preventDefault();\n touchesDiff = pageX - touchesStart.x;\n translate = touchesDiff;\n\n if (opened) {\n if (openedActionsSide === 'right') translate -= actionsRightWidth;else translate += actionsLeftWidth;\n }\n\n if (translate > 0 && $actionsLeft.length === 0 || translate < 0 && $actionsRight.length === 0) {\n if (!opened) {\n isTouched = false;\n isMoved = false;\n $swipeoutContent.transform('');\n\n if ($rightButtons && $rightButtons.length > 0) {\n $rightButtons.transform('');\n }\n\n if ($leftButtons && $leftButtons.length > 0) {\n $leftButtons.transform('');\n }\n\n return;\n }\n\n translate = 0;\n }\n\n if (translate < 0) direction = 'to-left';else if (translate > 0) direction = 'to-right';else if (!direction) direction = 'to-left';\n var buttonOffset;\n var progress;\n e.f7PreventSwipePanel = true;\n\n if (app.params.swipeout.noFollow) {\n if (opened) {\n if (openedActionsSide === 'right' && touchesDiff > 0) {\n app.swipeout.close($swipeoutEl);\n }\n\n if (openedActionsSide === 'left' && touchesDiff < 0) {\n app.swipeout.close($swipeoutEl);\n }\n } else {\n if (touchesDiff < 0 && $actionsRight.length > 0) {\n app.swipeout.open($swipeoutEl, 'right');\n }\n\n if (touchesDiff > 0 && $actionsLeft.length > 0) {\n app.swipeout.open($swipeoutEl, 'left');\n }\n }\n\n isTouched = false;\n isMoved = false;\n return;\n }\n\n overswipeLeft = false;\n overswipeRight = false;\n\n if ($actionsRight.length > 0) {\n // Show right actions\n var buttonTranslate = translate;\n progress = buttonTranslate / actionsRightWidth;\n\n if (buttonTranslate < -actionsRightWidth) {\n buttonTranslate = -actionsRightWidth - Math.pow(-buttonTranslate - actionsRightWidth, 0.8);\n translate = buttonTranslate;\n\n if ($overswipeRightButton.length > 0) {\n overswipeRight = true;\n }\n }\n\n if (direction !== 'to-left') {\n progress = 0;\n buttonTranslate = 0;\n }\n\n $rightButtons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n\n if (typeof buttonEl.f7SwipeoutButtonOffset === 'undefined') {\n $buttonEl[0].f7SwipeoutButtonOffset = buttonEl.offsetLeft;\n }\n\n buttonOffset = buttonEl.f7SwipeoutButtonOffset;\n\n if ($overswipeRightButton.length > 0 && $buttonEl.hasClass('swipeout-overswipe') && direction === 'to-left') {\n $buttonEl.css({\n left: \"\".concat(overswipeRight ? -buttonOffset : 0, \"px\")\n });\n\n if (overswipeRight) {\n if (!$buttonEl.hasClass('swipeout-overswipe-active')) {\n $swipeoutEl.trigger('swipeout:overswipeenter');\n app.emit('swipeoutOverswipeEnter', $swipeoutEl[0]);\n }\n\n $buttonEl.addClass('swipeout-overswipe-active');\n } else {\n if ($buttonEl.hasClass('swipeout-overswipe-active')) {\n $swipeoutEl.trigger('swipeout:overswipeexit');\n app.emit('swipeoutOverswipeExit', $swipeoutEl[0]);\n }\n\n $buttonEl.removeClass('swipeout-overswipe-active');\n }\n }\n\n $buttonEl.transform(\"translate3d(\".concat(buttonTranslate - buttonOffset * (1 + Math.max(progress, -1)), \"px,0,0)\"));\n });\n }\n\n if ($actionsLeft.length > 0) {\n // Show left actions\n var _buttonTranslate = translate;\n progress = _buttonTranslate / actionsLeftWidth;\n\n if (_buttonTranslate > actionsLeftWidth) {\n _buttonTranslate = actionsLeftWidth + Math.pow(_buttonTranslate - actionsLeftWidth, 0.8);\n translate = _buttonTranslate;\n\n if ($overswipeLeftButton.length > 0) {\n overswipeLeft = true;\n }\n }\n\n if (direction !== 'to-right') {\n _buttonTranslate = 0;\n progress = 0;\n }\n\n $leftButtons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n\n if (typeof buttonEl.f7SwipeoutButtonOffset === 'undefined') {\n $buttonEl[0].f7SwipeoutButtonOffset = actionsLeftWidth - buttonEl.offsetLeft - buttonEl.offsetWidth;\n }\n\n buttonOffset = buttonEl.f7SwipeoutButtonOffset;\n\n if ($overswipeLeftButton.length > 0 && $buttonEl.hasClass('swipeout-overswipe') && direction === 'to-right') {\n $buttonEl.css({\n left: \"\".concat(overswipeLeft ? buttonOffset : 0, \"px\")\n });\n\n if (overswipeLeft) {\n if (!$buttonEl.hasClass('swipeout-overswipe-active')) {\n $swipeoutEl.trigger('swipeout:overswipeenter');\n app.emit('swipeoutOverswipeEnter', $swipeoutEl[0]);\n }\n\n $buttonEl.addClass('swipeout-overswipe-active');\n } else {\n if ($buttonEl.hasClass('swipeout-overswipe-active')) {\n $swipeoutEl.trigger('swipeout:overswipeexit');\n app.emit('swipeoutOverswipeExit', $swipeoutEl[0]);\n }\n\n $buttonEl.removeClass('swipeout-overswipe-active');\n }\n }\n\n if ($leftButtons.length > 1) {\n $buttonEl.css('z-index', $leftButtons.length - index);\n }\n\n $buttonEl.transform(\"translate3d(\".concat(_buttonTranslate + buttonOffset * (1 - Math.min(progress, 1)), \"px,0,0)\"));\n });\n }\n\n $swipeoutEl.trigger('swipeout', progress);\n app.emit('swipeout', $swipeoutEl[0], progress);\n $swipeoutContent.transform(\"translate3d(\".concat(translate, \"px,0,0)\"));\n }\n\n function handleTouchEnd() {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n var timeDiff = new Date().getTime() - touchStartTime;\n var $actions = direction === 'to-left' ? $actionsRight : $actionsLeft;\n var actionsWidth = direction === 'to-left' ? actionsRightWidth : actionsLeftWidth;\n var action;\n var $buttons;\n var i;\n\n if (timeDiff < 300 && (touchesDiff < -10 && direction === 'to-left' || touchesDiff > 10 && direction === 'to-right') || timeDiff >= 300 && Math.abs(translate) > actionsWidth / 2) {\n action = 'open';\n } else {\n action = 'close';\n }\n\n if (timeDiff < 300) {\n if (Math.abs(translate) === 0) action = 'close';\n if (Math.abs(translate) === actionsWidth) action = 'open';\n }\n\n if (action === 'open') {\n Swipeout.el = $swipeoutEl[0];\n $swipeoutEl.trigger('swipeout:open');\n app.emit('swipeoutOpen', $swipeoutEl[0]);\n $swipeoutEl.addClass('swipeout-opened swipeout-transitioning');\n var newTranslate = direction === 'to-left' ? -actionsWidth : actionsWidth;\n $swipeoutContent.transform(\"translate3d(\".concat(newTranslate, \"px,0,0)\"));\n $actions.addClass('swipeout-actions-opened');\n $buttons = direction === 'to-left' ? $rightButtons : $leftButtons;\n\n if ($buttons) {\n for (i = 0; i < $buttons.length; i += 1) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])($buttons[i]).transform(\"translate3d(\".concat(newTranslate, \"px,0,0)\"));\n }\n }\n\n if (overswipeRight) {\n $actionsRight.find('.swipeout-overswipe').trigger('click', 'f7Overswipe');\n }\n\n if (overswipeLeft) {\n $actionsLeft.find('.swipeout-overswipe').trigger('click', 'f7Overswipe');\n }\n } else {\n $swipeoutEl.trigger('swipeout:close');\n app.emit('swipeoutClose', $swipeoutEl[0]);\n Swipeout.el = undefined;\n $swipeoutEl.addClass('swipeout-transitioning').removeClass('swipeout-opened');\n $swipeoutContent.transform('');\n $actions.removeClass('swipeout-actions-opened');\n }\n\n var buttonOffset;\n\n if ($leftButtons && $leftButtons.length > 0 && $leftButtons !== $buttons) {\n $leftButtons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n buttonOffset = buttonEl.f7SwipeoutButtonOffset;\n\n if (typeof buttonOffset === 'undefined') {\n $buttonEl[0].f7SwipeoutButtonOffset = actionsLeftWidth - buttonEl.offsetLeft - buttonEl.offsetWidth;\n }\n\n $buttonEl.transform(\"translate3d(\".concat(buttonOffset, \"px,0,0)\"));\n });\n }\n\n if ($rightButtons && $rightButtons.length > 0 && $rightButtons !== $buttons) {\n $rightButtons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n buttonOffset = buttonEl.f7SwipeoutButtonOffset;\n\n if (typeof buttonOffset === 'undefined') {\n $buttonEl[0].f7SwipeoutButtonOffset = buttonEl.offsetLeft;\n }\n\n $buttonEl.transform(\"translate3d(\".concat(-buttonOffset, \"px,0,0)\"));\n });\n }\n\n $swipeoutContent.transitionEnd(function () {\n if (opened && action === 'open' || !opened && action === 'close') return;\n $swipeoutEl.trigger(action === 'open' ? 'swipeout:opened' : 'swipeout:closed');\n app.emit(action === 'open' ? 'swipeoutOpened' : 'swipeoutClosed', $swipeoutEl[0]);\n $swipeoutEl.removeClass('swipeout-transitioning');\n\n if (opened && action === 'close') {\n if ($actionsRight.length > 0) {\n $rightButtons.transform('');\n }\n\n if ($actionsLeft.length > 0) {\n $leftButtons.transform('');\n }\n }\n });\n }\n\n var passiveListener = app.support.passiveListener ? {\n passive: true\n } : false;\n app.on('touchstart', function (e) {\n if (Swipeout.el) {\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n\n if (!(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Swipeout.el).is($targetEl[0]) || $targetEl.parents('.swipeout').is(Swipeout.el) || $targetEl.hasClass('modal-in') || ($targetEl.attr('class') || '').indexOf('-backdrop') > 0 || $targetEl.hasClass('actions-modal') || $targetEl.parents('.actions-modal.modal-in, .dialog.modal-in').length > 0)) {\n app.swipeout.close(Swipeout.el);\n }\n }\n });\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).on(app.touchEvents.start, 'li.swipeout', handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n },\n allow: true,\n el: undefined,\n open: function open() {\n var app = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var el = args[0],\n side = args[1],\n callback = args[2];\n\n if (typeof args[1] === 'function') {\n el = args[0];\n callback = args[1];\n side = args[2];\n }\n\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).eq(0);\n if ($el.length === 0) return;\n if (!$el.hasClass('swipeout') || $el.hasClass('swipeout-opened')) return;\n\n if (!side) {\n if ($el.find('.swipeout-actions-right').length > 0) side = 'right';else side = 'left';\n }\n\n var $swipeoutActions = $el.find(\".swipeout-actions-\".concat(side));\n var $swipeoutContent = $el.find('.swipeout-content');\n if ($swipeoutActions.length === 0) return;\n $el.trigger('swipeout:open').addClass('swipeout-opened').removeClass('swipeout-transitioning');\n app.emit('swipeoutOpen', $el[0]);\n $swipeoutActions.addClass('swipeout-actions-opened');\n var $buttons = $swipeoutActions.children('a');\n var swipeoutActionsWidth = $swipeoutActions.outerWidth();\n var translate = side === 'right' ? -swipeoutActionsWidth : swipeoutActionsWidth;\n\n if ($buttons.length > 1) {\n $buttons.each(function (buttonIndex, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n\n if (side === 'right') {\n $buttonEl.transform(\"translate3d(\".concat(-buttonEl.offsetLeft, \"px,0,0)\"));\n } else {\n $buttonEl.css('z-index', $buttons.length - buttonIndex).transform(\"translate3d(\".concat(swipeoutActionsWidth - buttonEl.offsetWidth - buttonEl.offsetLeft, \"px,0,0)\"));\n }\n });\n }\n\n $el.addClass('swipeout-transitioning');\n $swipeoutContent.transitionEnd(function () {\n $el.trigger('swipeout:opened');\n app.emit('swipeoutOpened', $el[0]);\n if (callback) callback.call($el[0]);\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextFrame(function () {\n $buttons.transform(\"translate3d(\".concat(translate, \"px,0,0)\"));\n $swipeoutContent.transform(\"translate3d(\".concat(translate, \"px,0,0)\"));\n });\n Swipeout.el = $el[0];\n },\n close: function close(el, callback) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).eq(0);\n if ($el.length === 0) return;\n if (!$el.hasClass('swipeout-opened')) return;\n var side = $el.find('.swipeout-actions-opened').hasClass('swipeout-actions-right') ? 'right' : 'left';\n var $swipeoutActions = $el.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n var $buttons = $swipeoutActions.children('a');\n var swipeoutActionsWidth = $swipeoutActions.outerWidth();\n Swipeout.allow = false;\n $el.trigger('swipeout:close');\n app.emit('swipeoutClose', $el[0]);\n $el.removeClass('swipeout-opened').addClass('swipeout-transitioning');\n var closeTimeout;\n\n function onSwipeoutClose() {\n Swipeout.allow = true;\n if ($el.hasClass('swipeout-opened')) return;\n $el.removeClass('swipeout-transitioning');\n $buttons.transform('');\n $el.trigger('swipeout:closed');\n app.emit('swipeoutClosed', $el[0]);\n if (callback) callback.call($el[0]);\n if (closeTimeout) clearTimeout(closeTimeout);\n }\n\n $el.find('.swipeout-content').transform('').transitionEnd(onSwipeoutClose);\n closeTimeout = setTimeout(onSwipeoutClose, 500);\n $buttons.each(function (index, buttonEl) {\n var $buttonEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(buttonEl);\n\n if (side === 'right') {\n $buttonEl.transform(\"translate3d(\".concat(-buttonEl.offsetLeft, \"px,0,0)\"));\n } else {\n $buttonEl.transform(\"translate3d(\".concat(swipeoutActionsWidth - buttonEl.offsetWidth - buttonEl.offsetLeft, \"px,0,0)\"));\n }\n\n $buttonEl.css({\n left: '0px'\n }).removeClass('swipeout-overswipe-active');\n });\n if (Swipeout.el && Swipeout.el === $el[0]) Swipeout.el = undefined;\n },\n delete: function _delete(el, callback) {\n var app = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).eq(0);\n if ($el.length === 0) return;\n Swipeout.el = undefined;\n $el.trigger('swipeout:delete');\n app.emit('swipeoutDelete', $el[0]);\n $el.css({\n height: \"\".concat($el.outerHeight(), \"px\")\n });\n $el.transitionEnd(function () {\n $el.trigger('swipeout:deleted');\n app.emit('swipeoutDeleted', $el[0]);\n if (callback) callback.call($el[0]);\n\n if ($el.parents('.virtual-list').length > 0) {\n var virtualList = $el.parents('.virtual-list')[0].f7VirtualList;\n var virtualIndex = $el[0].f7VirtualListIndex;\n if (virtualList && typeof virtualIndex !== 'undefined') virtualList.deleteItem(virtualIndex);\n } else if (app.params.swipeout.removeElements) {\n if (app.params.swipeout.removeElementsWithTimeout) {\n setTimeout(function () {\n $el.remove();\n }, app.params.swipeout.removeElementsTimeout);\n } else {\n $el.remove();\n }\n } else {\n $el.removeClass('swipeout-deleting swipeout-transitioning');\n }\n }); // eslint-disable-next-line\n // $el[0]._clientLeft = $el[0].clientLeft;\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextFrame(function () {\n $el.addClass('swipeout-deleting swipeout-transitioning').css({\n height: '0px'\n }).find('.swipeout-content').transform('translate3d(-100%,0,0)');\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'swipeout',\n params: {\n swipeout: {\n actionsNoFold: false,\n noFollow: false,\n removeElements: true,\n removeElementsWithTimeout: false,\n removeElementsTimeout: 0\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(app, {\n swipeout: {\n init: Swipeout.init.bind(app),\n open: Swipeout.open.bind(app),\n close: Swipeout.close.bind(app),\n delete: Swipeout.delete.bind(app)\n }\n });\n Object.defineProperty(app.swipeout, 'el', {\n enumerable: true,\n configurable: true,\n get: function get() {\n return Swipeout.el;\n },\n set: function set(el) {\n Swipeout.el = el;\n }\n });\n Object.defineProperty(app.swipeout, 'allow', {\n enumerable: true,\n configurable: true,\n get: function get() {\n return Swipeout.allow;\n },\n set: function set(allow) {\n Swipeout.allow = allow;\n }\n });\n },\n clicks: {\n '.swipeout-open': function openSwipeout($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n app.swipeout.open(data.swipeout, data.side);\n },\n '.swipeout-close': function closeSwipeout($clickedEl) {\n var app = this;\n var $swipeoutEl = $clickedEl.closest('.swipeout');\n if ($swipeoutEl.length === 0) return;\n app.swipeout.close($swipeoutEl);\n },\n '.swipeout-delete': function deleteSwipeout($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n var $swipeoutEl = $clickedEl.closest('.swipeout');\n if ($swipeoutEl.length === 0) return;\n var confirm = data.confirm,\n confirmTitle = data.confirmTitle;\n\n if (data.confirm) {\n app.dialog.confirm(confirm, confirmTitle, function () {\n app.swipeout.delete($swipeoutEl);\n });\n } else {\n app.swipeout.delete($swipeoutEl);\n }\n }\n },\n on: {\n init: function init() {\n var app = this;\n if (!app.params.swipeout) return;\n app.swipeout.init();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swipeout/swipeout.js?");
  865. /***/ }),
  866. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/a11y/a11y.js":
  867. /*!****************************************************************************************!*\
  868. !*** ./node_modules/framework7/components/swiper/swiper-class/components/a11y/a11y.js ***!
  869. \****************************************************************************************/
  870. /*! exports provided: default */
  871. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  872. "use strict";
  873. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar a11y = {\n makeElFocusable: function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n return $el;\n },\n addElRole: function addElRole($el, role) {\n $el.attr('role', role);\n return $el;\n },\n addElLabel: function addElLabel($el, label) {\n $el.attr('aria-label', label);\n return $el;\n },\n disableEl: function disableEl($el) {\n $el.attr('aria-disabled', true);\n return $el;\n },\n enableEl: function enableEl($el) {\n $el.attr('aria-disabled', false);\n return $el;\n },\n onEnterKey: function onEnterKey(e) {\n var swiper = this;\n var params = swiper.params.a11y;\n if (e.keyCode !== 13) return;\n var $targetEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n\n if (swiper.isEnd) {\n swiper.a11y.notify(params.lastSlideMessage);\n } else {\n swiper.a11y.notify(params.nextSlideMessage);\n }\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n\n if (swiper.isBeginning) {\n swiper.a11y.notify(params.firstSlideMessage);\n } else {\n swiper.a11y.notify(params.prevSlideMessage);\n }\n }\n\n if (swiper.pagination && $targetEl.is(\".\".concat(swiper.params.pagination.bulletClass))) {\n $targetEl[0].click();\n }\n },\n notify: function notify(message) {\n var swiper = this;\n var notification = swiper.a11y.liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n },\n updateNavigation: function updateNavigation() {\n var swiper = this;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n swiper.a11y.disableEl($prevEl);\n } else {\n swiper.a11y.enableEl($prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n swiper.a11y.disableEl($nextEl);\n } else {\n swiper.a11y.enableEl($nextEl);\n }\n }\n },\n updatePagination: function updatePagination() {\n var swiper = this;\n var params = swiper.params.a11y;\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.bullets.each(function (bulletIndex, bulletEl) {\n var $bulletEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(bulletEl);\n swiper.a11y.makeElFocusable($bulletEl);\n swiper.a11y.addElRole($bulletEl, 'button');\n swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/{{index}}/, $bulletEl.index() + 1));\n });\n }\n },\n init: function init() {\n var swiper = this;\n swiper.$el.append(swiper.a11y.liveRegion); // Navigation\n\n var params = swiper.params.a11y;\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n swiper.a11y.makeElFocusable($nextEl);\n swiper.a11y.addElRole($nextEl, 'button');\n swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\n $nextEl.on('keydown', swiper.a11y.onEnterKey);\n }\n\n if ($prevEl) {\n swiper.a11y.makeElFocusable($prevEl);\n swiper.a11y.addElRole($prevEl, 'button');\n swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\n $prevEl.on('keydown', swiper.a11y.onEnterKey);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.on('keydown', \".\".concat(swiper.params.pagination.bulletClass), swiper.a11y.onEnterKey);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) swiper.a11y.liveRegion.remove();\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n $nextEl.off('keydown', swiper.a11y.onEnterKey);\n }\n\n if ($prevEl) {\n $prevEl.off('keydown', swiper.a11y.onEnterKey);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.off('keydown', \".\".concat(swiper.params.pagination.bulletClass), swiper.a11y.onEnterKey);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'a11y',\n params: {\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n a11y: {\n liveRegion: Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<span class=\\\"\".concat(swiper.params.a11y.notificationClass, \"\\\" aria-live=\\\"assertive\\\" aria-atomic=\\\"true\\\"></span>\"))\n }\n });\n Object.keys(a11y).forEach(function (methodName) {\n swiper.a11y[methodName] = a11y[methodName].bind(swiper);\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.init();\n swiper.a11y.updateNavigation();\n },\n toEdge: function toEdge() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n fromEdge: function fromEdge() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n paginationUpdate: function paginationUpdate() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updatePagination();\n },\n destroy: function destroy() {\n var swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.destroy();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/a11y/a11y.js?");
  874. /***/ }),
  875. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/autoplay/autoplay.js":
  876. /*!************************************************************************************************!*\
  877. !*** ./node_modules/framework7/components/swiper/swiper-class/components/autoplay/autoplay.js ***!
  878. \************************************************************************************************/
  879. /*! exports provided: default */
  880. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  881. "use strict";
  882. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* eslint no-underscore-dangle: \"off\" */\n\nvar Autoplay = {\n run: function run() {\n var swiper = this;\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n var delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n swiper.autoplay.timeout = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].nextTick(function () {\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isBeginning) {\n swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isEnd) {\n swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(0, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n }, delay);\n },\n start: function start() {\n var swiper = this;\n if (typeof swiper.autoplay.timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n swiper.emit('autoplayStart');\n swiper.autoplay.run();\n return true;\n },\n stop: function stop() {\n var swiper = this;\n if (!swiper.autoplay.running) return false;\n if (typeof swiper.autoplay.timeout === 'undefined') return false;\n\n if (swiper.autoplay.timeout) {\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n swiper.emit('autoplayStop');\n return true;\n },\n pause: function pause(speed) {\n var swiper = this;\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (swiper.autoplay.timeout) clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n } else {\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'autoplay',\n params: {\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n autoplay: {\n running: false,\n paused: false,\n run: Autoplay.run.bind(swiper),\n start: Autoplay.start.bind(swiper),\n stop: Autoplay.stop.bind(swiper),\n pause: Autoplay.pause.bind(swiper),\n onTransitionEnd: function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.run();\n }\n }\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n\n if (swiper.params.autoplay.enabled) {\n swiper.autoplay.start();\n }\n },\n beforeTransitionStart: function beforeTransitionStart(speed, internal) {\n var swiper = this;\n\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n swiper.autoplay.stop();\n }\n }\n },\n sliderFirstMove: function sliderFirstMove() {\n var swiper = this;\n\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n }\n },\n destroy: function destroy() {\n var swiper = this;\n\n if (swiper.autoplay.running) {\n swiper.autoplay.stop();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/autoplay/autoplay.js?");
  883. /***/ }),
  884. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/controller/controller.js":
  885. /*!****************************************************************************************************!*\
  886. !*** ./node_modules/framework7/components/swiper/swiper-class/components/controller/controller.js ***!
  887. \****************************************************************************************************/
  888. /*! exports provided: default */
  889. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  890. "use strict";
  891. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_core_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/core-class */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\n\n\nvar Controller = {\n LinearSpline: function LinearSpline(x, y) {\n var binarySearch = function search() {\n var maxIndex;\n var minIndex;\n var guess;\n return function (array, val) {\n minIndex = -1;\n maxIndex = array.length;\n\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n\n return maxIndex;\n };\n }();\n\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n\n var i1;\n var i3;\n\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n\n return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n\n return this;\n },\n // xxx: for now i will just save one spline function to to\n getInterpolateFunction: function getInterpolateFunction(c) {\n var swiper = this;\n\n if (!swiper.controller.spline) {\n swiper.controller.spline = swiper.params.loop ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid) : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n },\n setTranslate: function setTranslate(_setTranslate, byController) {\n var swiper = this;\n var controlled = swiper.controller.control;\n var multiplier;\n var controlledTranslate;\n\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n\n if (swiper.params.controller.by === 'slide') {\n swiper.controller.getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n\n if (Array.isArray(controlled)) {\n for (var i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof _core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof _core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n },\n setTransition: function setTransition(duration, byController) {\n var swiper = this;\n var controlled = swiper.controller.control;\n var i;\n\n function setControlledTransition(c) {\n c.setTransition(duration, swiper);\n\n if (duration !== 0) {\n c.transitionStart();\n\n if (c.params.autoHeight) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n c.updateAutoHeight();\n });\n }\n\n c.$wrapperEl.transitionEnd(function () {\n if (!controlled) return;\n\n if (c.params.loop && swiper.params.controller.by === 'slide') {\n c.loopFix();\n }\n\n c.transitionEnd();\n });\n }\n }\n\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof _core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof _core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"] && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'controller',\n params: {\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide' // or 'container'\n\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n controller: {\n control: swiper.params.controller.control,\n getInterpolateFunction: Controller.getInterpolateFunction.bind(swiper),\n setTranslate: Controller.setTranslate.bind(swiper),\n setTransition: Controller.setTransition.bind(swiper)\n }\n });\n },\n on: {\n update: function update() {\n var swiper = this;\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n resize: function resize() {\n var swiper = this;\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n observerUpdate: function observerUpdate() {\n var swiper = this;\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n setTranslate: function setTranslate(translate, byController) {\n var swiper = this;\n if (!swiper.controller.control) return;\n swiper.controller.setTranslate(translate, byController);\n },\n setTransition: function setTransition(duration, byController) {\n var swiper = this;\n if (!swiper.controller.control) return;\n swiper.controller.setTransition(duration, byController);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/controller/controller.js?");
  892. /***/ }),
  893. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/getBreakpoint.js":
  894. /*!*************************************************************************************************************!*\
  895. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/getBreakpoint.js ***!
  896. \*************************************************************************************************************/
  897. /*! exports provided: default */
  898. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  899. "use strict";
  900. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (breakpoints) {\n var swiper = this; // Get breakpoint for window width\n\n if (!breakpoints) return undefined;\n var breakpoint = false;\n var points = [];\n Object.keys(breakpoints).forEach(function (point) {\n points.push(point);\n });\n points.sort(function (a, b) {\n return parseInt(a, 10) - parseInt(b, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var point = points[i];\n\n if (swiper.params.breakpointsInverse) {\n if (point <= ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].innerWidth) {\n breakpoint = point;\n }\n } else if (point >= ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].innerWidth && !breakpoint) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/getBreakpoint.js?");
  901. /***/ }),
  902. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/index.js":
  903. /*!*****************************************************************************************************!*\
  904. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/index.js ***!
  905. \*****************************************************************************************************/
  906. /*! exports provided: default */
  907. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  908. "use strict";
  909. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _setBreakpoint__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/setBreakpoint.js\");\n/* harmony import */ var _getBreakpoint__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/getBreakpoint.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n setBreakpoint: _setBreakpoint__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n getBreakpoint: _getBreakpoint__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/index.js?");
  910. /***/ }),
  911. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/setBreakpoint.js":
  912. /*!*************************************************************************************************************!*\
  913. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/setBreakpoint.js ***!
  914. \*************************************************************************************************************/
  915. /*! exports provided: default */
  916. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  917. "use strict";
  918. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Set breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints);\n\n if (breakpoint && swiper.currentBreakpoint !== breakpoint) {\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.params, breakpointParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n swiper.currentBreakpoint = breakpoint;\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/setBreakpoint.js?");
  919. /***/ }),
  920. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/check-overflow/index.js":
  921. /*!********************************************************************************************************!*\
  922. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/check-overflow/index.js ***!
  923. \********************************************************************************************************/
  924. /*! exports provided: default */
  925. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  926. "use strict";
  927. eval("__webpack_require__.r(__webpack_exports__);\nfunction checkOverflow() {\n var swiper = this;\n var wasLocked = swiper.isLocked;\n swiper.isLocked = swiper.snapGrid.length === 1;\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n swiper.navigation.update();\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n checkOverflow: checkOverflow\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/check-overflow/index.js?");
  928. /***/ }),
  929. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/classes/addClasses.js":
  930. /*!******************************************************************************************************!*\
  931. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/classes/addClasses.js ***!
  932. \******************************************************************************************************/
  933. /*! exports provided: default */
  934. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  935. "use strict";
  936. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/device */ \"./node_modules/framework7/components/swiper/swiper-class/utils/device.js\");\n/* harmony import */ var _utils_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/browser */ \"./node_modules/framework7/components/swiper/swiper-class/utils/browser.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el;\n var suffixes = [];\n suffixes.push('initialized');\n suffixes.push(params.direction);\n\n if (params.freeMode) {\n suffixes.push('free-mode');\n }\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].flexbox) {\n suffixes.push('no-flexbox');\n }\n\n if (params.autoHeight) {\n suffixes.push('autoheight');\n }\n\n if (rtl) {\n suffixes.push('rtl');\n }\n\n if (params.slidesPerColumn > 1) {\n suffixes.push('multirow');\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android) {\n suffixes.push('android');\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios) {\n suffixes.push('ios');\n } // WP8 Touch Events Fix\n\n\n if ((_utils_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isIE || _utils_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isEdge) && (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].prefixedPointerEvents)) {\n suffixes.push(\"wp8-\".concat(params.direction));\n }\n\n suffixes.forEach(function (suffix) {\n classNames.push(params.containerModifierClass + suffix);\n });\n $el.addClass(classNames.join(' '));\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/classes/addClasses.js?");
  937. /***/ }),
  938. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/classes/index.js":
  939. /*!*************************************************************************************************!*\
  940. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/classes/index.js ***!
  941. \*************************************************************************************************/
  942. /*! exports provided: default */
  943. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  944. "use strict";
  945. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _addClasses__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addClasses */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/classes/addClasses.js\");\n/* harmony import */ var _removeClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./removeClasses */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/classes/removeClasses.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n addClasses: _addClasses__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n removeClasses: _removeClasses__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/classes/index.js?");
  946. /***/ }),
  947. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/classes/removeClasses.js":
  948. /*!*********************************************************************************************************!*\
  949. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/classes/removeClasses.js ***!
  950. \*********************************************************************************************************/
  951. /*! exports provided: default */
  952. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  953. "use strict";
  954. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/classes/removeClasses.js?");
  955. /***/ }),
  956. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js":
  957. /*!**********************************************************************************************!*\
  958. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js ***!
  959. \**********************************************************************************************/
  960. /*! exports provided: default */
  961. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  962. "use strict";
  963. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n/* harmony import */ var _utils_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/browser */ \"./node_modules/framework7/components/swiper/swiper-class/utils/browser.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/components/swiper/swiper-class/utils/class.js\");\n/* harmony import */ var _update_index__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./update/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/index.js\");\n/* harmony import */ var _translate_index__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./translate/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/index.js\");\n/* harmony import */ var _transition_index__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./transition/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/transition/index.js\");\n/* harmony import */ var _slide_index__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./slide/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/index.js\");\n/* harmony import */ var _loop_index__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./loop/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/loop/index.js\");\n/* harmony import */ var _grab_cursor_index__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./grab-cursor/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/index.js\");\n/* harmony import */ var _manipulation_index__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./manipulation/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/index.js\");\n/* harmony import */ var _events_index__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./events/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/index.js\");\n/* harmony import */ var _breakpoints_index__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./breakpoints/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/breakpoints/index.js\");\n/* harmony import */ var _classes_index__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./classes/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/classes/index.js\");\n/* harmony import */ var _images_index__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./images/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/images/index.js\");\n/* harmony import */ var _check_overflow_index__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./check-overflow/index */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/check-overflow/index.js\");\n/* harmony import */ var _defaults__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./defaults */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/defaults.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/* eslint no-param-reassign: \"off\" */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar prototypes = {\n update: _update_index__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n translate: _translate_index__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n transition: _transition_index__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n slide: _slide_index__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n loop: _loop_index__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n grabCursor: _grab_cursor_index__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n manipulation: _manipulation_index__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n events: _events_index__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n breakpoints: _breakpoints_index__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n checkOverflow: _check_overflow_index__WEBPACK_IMPORTED_MODULE_16__[\"default\"],\n classes: _classes_index__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n images: _images_index__WEBPACK_IMPORTED_MODULE_15__[\"default\"]\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function (_SwiperClass) {\n _inherits(Swiper, _SwiperClass);\n\n var _super = _createSuper(Swiper);\n\n function Swiper() {\n var _this;\n\n _classCallCheck(this, Swiper);\n\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && args[0].constructor === Object) {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, params);\n if (el && !params.el) params.el = el;\n _this = _super.call(this, params);\n Object.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n if (!Swiper.prototype[protoMethod]) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n }\n });\n }); // Swiper Instance\n\n var swiper = _assertThisInitialized(_this);\n\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (_typeof(moduleParams) !== 'object' || moduleParams === null) return;\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (_typeof(params[moduleParamName]) === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n }\n }); // Extend defaults with modules params\n\n var swiperParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, _defaults__WEBPACK_IMPORTED_MODULE_17__[\"default\"]);\n swiper.useModulesParams(swiperParams); // Extend defaults with passed params\n\n swiper.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, swiper.params);\n swiper.passedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, params); // Save Dom lib\n\n swiper.$ = _utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; // Find el\n\n var $el = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return _possibleConstructorReturn(_this, undefined);\n }\n\n if ($el.length > 1) {\n var swipers = [];\n $el.each(function (index, containerEl) {\n var newParams = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return _possibleConstructorReturn(_this, swipers);\n }\n\n el.swiper = swiper;\n $el.data('swiper', swiper); // Find Wrapper\n\n var $wrapperEl = $el.children(\".\".concat(swiper.params.wrapperClass)); // Extend Swiper\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n // Classes\n classNames: [],\n // Slides\n slides: Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box',\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n } else if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents) {\n desktop = ['MSPointerDown', 'MSPointerMove', 'MSPointerUp'];\n }\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n formElements: 'input, select, option, textarea, button, video',\n // Last click time\n lastClickTime: _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n }); // Install Modules\n\n swiper.useModules(); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return _possibleConstructorReturn(_this, swiper);\n }\n\n _createClass(Swiper, [{\n key: \"slidesPerViewDynamic\",\n value: function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {\n if (slides[_i] && !breakLoop) {\n slideSize += slides[_i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n }\n }, {\n key: \"update\",\n value: function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n }\n }, {\n key: \"changeDirection\",\n value: function changeDirection(newDirection) {\n var needUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n if (currentDirection === 'vertical') {\n swiper.$el.removeClass(\"\".concat(swiper.params.containerModifierClass, \"vertical wp8-vertical\")).addClass(\"\".concat(swiper.params.containerModifierClass).concat(newDirection));\n\n if ((_utils_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"].isIE || _utils_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"].isEdge) && (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents)) {\n swiper.$el.addClass(\"\".concat(swiper.params.containerModifierClass, \"wp8-\").concat(newDirection));\n }\n }\n\n if (currentDirection === 'horizontal') {\n swiper.$el.removeClass(\"\".concat(swiper.params.containerModifierClass, \"horizontal wp8-horizontal\")).addClass(\"\".concat(swiper.params.containerModifierClass).concat(newDirection));\n\n if ((_utils_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"].isIE || _utils_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"].isEdge) && (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents)) {\n swiper.$el.addClass(\"\".concat(swiper.params.containerModifierClass, \"wp8-\").concat(newDirection));\n }\n }\n\n swiper.params.direction = newDirection;\n swiper.slides.each(function (slideIndex, slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n }, {\n key: \"init\",\n value: function init() {\n var swiper = this;\n if (swiper.initialized) return;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var deleteInstance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var cleanStyles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index').removeAttr('data-swiper-column').removeAttr('data-swiper-row');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n swiper.$el.data('swiper', null);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n }\n }], [{\n key: \"extendDefaults\",\n value: function extendDefaults(newDefaults) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(extendedDefaults, newDefaults);\n }\n }, {\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return _defaults__WEBPACK_IMPORTED_MODULE_17__[\"default\"];\n }\n }, {\n key: \"Class\",\n get: function get() {\n return _utils_class__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n }\n }, {\n key: \"$\",\n get: function get() {\n return _utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n }]);\n\n return Swiper;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Swiper);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js?");
  964. /***/ }),
  965. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/defaults.js":
  966. /*!********************************************************************************************!*\
  967. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/defaults.js ***!
  968. \********************************************************************************************/
  969. /*! exports provided: default */
  970. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  971. "use strict";
  972. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n //\n preventInteractionOnTransition: false,\n // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsInverse: false,\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n centeredSlides: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: false,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: true,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/defaults.js?");
  973. /***/ }),
  974. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/index.js":
  975. /*!************************************************************************************************!*\
  976. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/index.js ***!
  977. \************************************************************************************************/
  978. /*! exports provided: default */
  979. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  980. "use strict";
  981. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/device */ \"./node_modules/framework7/components/swiper/swiper-class/utils/device.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n/* harmony import */ var _onTouchStart__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./onTouchStart */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchStart.js\");\n/* harmony import */ var _onTouchMove__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onTouchMove */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchMove.js\");\n/* harmony import */ var _onTouchEnd__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./onTouchEnd */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchEnd.js\");\n/* harmony import */ var _onResize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./onResize */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onResize.js\");\n/* harmony import */ var _onClick__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./onClick */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/events/onClick.js\");\n\n\n\n\n\n\n\n\n\nfunction attachEvents() {\n var swiper = this;\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl;\n\n if (true) {\n swiper.onTouchStart = _onTouchStart__WEBPACK_IMPORTED_MODULE_3__[\"default\"].bind(swiper);\n swiper.onTouchMove = _onTouchMove__WEBPACK_IMPORTED_MODULE_4__[\"default\"].bind(swiper);\n swiper.onTouchEnd = _onTouchEnd__WEBPACK_IMPORTED_MODULE_5__[\"default\"].bind(swiper);\n }\n\n swiper.onClick = _onClick__WEBPACK_IMPORTED_MODULE_7__[\"default\"].bind(swiper);\n var target = params.touchEventsTarget === 'container' ? el : wrapperEl;\n var capture = !!params.nested; // Touch Events\n\n if (\"development\".TARGET !== 'desktop') {\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents)) {\n target.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n var passiveListener = touchEvents.start === 'touchstart' && _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n target.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n target.addEventListener(touchEvents.move, swiper.onTouchMove, _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n target.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n }\n\n if (params.simulateTouch && !_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios && !_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android || params.simulateTouch && !_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios) {\n target.addEventListener('mousedown', swiper.onTouchStart, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener('mousemove', swiper.onTouchMove, capture);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n target.addEventListener('click', swiper.onClick, true);\n }\n } else {\n target.addEventListener('click', swiper.onClick, false);\n } // Resize handler\n\n\n swiper.on(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize__WEBPACK_IMPORTED_MODULE_6__[\"default\"], true);\n}\n\nfunction detachEvents() {\n var swiper = this;\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl;\n var target = params.touchEventsTarget === 'container' ? el : wrapperEl;\n var capture = !!params.nested; // Touch Events\n\n if (\"development\".TARGET !== 'desktop') {\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].prefixedPointerEvents)) {\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n target.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n target.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n }\n\n if (params.simulateTouch && !_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios && !_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android || params.simulateTouch && !_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch && _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios) {\n target.removeEventListener('mousedown', swiper.onTouchStart, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener('mousemove', swiper.onTouchMove, capture);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n target.removeEventListener('click', swiper.onClick, true);\n }\n } else {\n target.removeEventListener('click', swiper.onClick, true);\n } // Resize handler\n\n\n swiper.off(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n attachEvents: attachEvents,\n detachEvents: detachEvents\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/index.js?");
  982. /***/ }),
  983. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onClick.js":
  984. /*!**************************************************************************************************!*\
  985. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onClick.js ***!
  986. \**************************************************************************************************/
  987. /*! exports provided: default */
  988. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  989. "use strict";
  990. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (e) {\n var swiper = this;\n\n if (false) {} else if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onClick.js?");
  991. /***/ }),
  992. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onResize.js":
  993. /*!***************************************************************************************************!*\
  994. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onResize.js ***!
  995. \***************************************************************************************************/
  996. /*! exports provided: default */
  997. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  998. "use strict";
  999. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n\n if (params.freeMode) {\n var newTranslate = Math.min(Math.max(swiper.translate, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onResize.js?");
  1000. /***/ }),
  1001. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchEnd.js":
  1002. /*!*****************************************************************************************************!*\
  1003. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchEnd.js ***!
  1004. \*****************************************************************************************************/
  1005. /*! exports provided: default */
  1006. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1007. "use strict";
  1008. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime > 300) {\n if (data.clickTimeout) clearTimeout(data.clickTimeout);\n data.clickTimeout = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].nextTick(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.emit('click', e);\n }, 300);\n }\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n if (data.clickTimeout) clearTimeout(data.clickTimeout);\n swiper.emit('doubleTap', e);\n }\n }\n\n data.lastClickTime = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].now();\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += params.slidesPerGroup) {\n if (typeof slidesGrid[i + params.slidesPerGroup] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + params.slidesPerGroup]) {\n stopIndex = i;\n groupSize = slidesGrid[i + params.slidesPerGroup] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + params.slidesPerGroup);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + params.slidesPerGroup);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + params.slidesPerGroup);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchEnd.js?");
  1009. /***/ }),
  1010. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchMove.js":
  1011. /*!******************************************************************************************************!*\
  1012. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchMove.js ***!
  1013. \******************************************************************************************************/
  1014. /*! exports provided: default */
  1015. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1016. "use strict";
  1017. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type === 'mousemove') return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement) {\n if (e.target === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement && Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).is(data.formElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n e.preventDefault();\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger) return; // Update active index in free mode\n\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchMove.js?");
  1018. /***/ }),
  1019. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchStart.js":
  1020. /*!*******************************************************************************************************!*\
  1021. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchStart.js ***!
  1022. \*******************************************************************************************************/
  1023. /*! exports provided: default */
  1024. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1025. "use strict";
  1026. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n if (params.noSwiping && Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).closest(params.noSwipingSelector ? params.noSwipingSelector : \".\".concat(params.noSwipingClass))[0]) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e).closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].screen.width - edgeSwipeThreshold)) {\n return;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if (Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).is(data.formElements)) preventDefault = false;\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement && Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement).is(data.formElements) && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement !== e.target) {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if (params.touchStartForcePreventDefault || shouldPreventDefault) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/events/onTouchStart.js?");
  1027. /***/ }),
  1028. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/index.js":
  1029. /*!*****************************************************************************************************!*\
  1030. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/index.js ***!
  1031. \*****************************************************************************************************/
  1032. /*! exports provided: default */
  1033. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1034. "use strict";
  1035. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _setGrabCursor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setGrabCursor */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/setGrabCursor.js\");\n/* harmony import */ var _unsetGrabCursor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsetGrabCursor */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/unsetGrabCursor.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n setGrabCursor: _setGrabCursor__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n unsetGrabCursor: _unsetGrabCursor__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/index.js?");
  1036. /***/ }),
  1037. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/setGrabCursor.js":
  1038. /*!*************************************************************************************************************!*\
  1039. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/setGrabCursor.js ***!
  1040. \*************************************************************************************************************/
  1041. /*! exports provided: default */
  1042. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1043. "use strict";
  1044. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (moving) {\n var swiper = this;\n if (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/setGrabCursor.js?");
  1045. /***/ }),
  1046. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/unsetGrabCursor.js":
  1047. /*!***************************************************************************************************************!*\
  1048. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/unsetGrabCursor.js ***!
  1049. \***************************************************************************************************************/
  1050. /*! exports provided: default */
  1051. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1052. "use strict";
  1053. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n if (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].touch || swiper.params.watchOverflow && swiper.isLocked) return;\n swiper.el.style.cursor = '';\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/grab-cursor/unsetGrabCursor.js?");
  1054. /***/ }),
  1055. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/images/index.js":
  1056. /*!************************************************************************************************!*\
  1057. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/images/index.js ***!
  1058. \************************************************************************************************/
  1059. /*! exports provided: default */
  1060. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1061. "use strict";
  1062. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _loadImage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loadImage */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/images/loadImage.js\");\n/* harmony import */ var _preloadImages__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preloadImages */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/images/preloadImages.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n loadImage: _loadImage__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n preloadImages: _preloadImages__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/images/index.js?");
  1063. /***/ }),
  1064. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/images/loadImage.js":
  1065. /*!****************************************************************************************************!*\
  1066. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/images/loadImage.js ***!
  1067. \****************************************************************************************************/
  1068. /*! exports provided: default */
  1069. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1070. "use strict";
  1071. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (imageEl, src, srcset, sizes, checkForComplete, callback) {\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n if (!imageEl.complete || !checkForComplete) {\n if (src) {\n image = new ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/images/loadImage.js?");
  1072. /***/ }),
  1073. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/images/preloadImages.js":
  1074. /*!********************************************************************************************************!*\
  1075. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/images/preloadImages.js ***!
  1076. \********************************************************************************************************/
  1077. /*! exports provided: default */
  1078. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1079. "use strict";
  1080. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/images/preloadImages.js?");
  1081. /***/ }),
  1082. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/loop/index.js":
  1083. /*!**********************************************************************************************!*\
  1084. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/loop/index.js ***!
  1085. \**********************************************************************************************/
  1086. /*! exports provided: default */
  1087. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1088. "use strict";
  1089. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _loopCreate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loopCreate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopCreate.js\");\n/* harmony import */ var _loopFix__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loopFix */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopFix.js\");\n/* harmony import */ var _loopDestroy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loopDestroy */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopDestroy.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n loopCreate: _loopCreate__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n loopFix: _loopFix__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n loopDestroy: _loopDestroy__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/loop/index.js?");
  1090. /***/ }),
  1091. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopCreate.js":
  1092. /*!***************************************************************************************************!*\
  1093. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopCreate.js ***!
  1094. \***************************************************************************************************/
  1095. /*! exports provided: default */
  1096. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1097. "use strict";
  1098. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass)).remove();\n var slides = $wrapperEl.children(\".\".concat(params.slideClass));\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('div')).addClass(\"\".concat(params.slideClass, \" \").concat(params.slideBlankClass));\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.children(\".\".concat(params.slideClass));\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = parseInt(params.loopedSlides || params.slidesPerView, 10);\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (index, el) {\n var slide = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el);\n if (index < swiper.loopedSlides) appendSlides.push(el);\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) prependSlides.push(el);\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopCreate.js?");
  1099. /***/ }),
  1100. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopDestroy.js":
  1101. /*!****************************************************************************************************!*\
  1102. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopDestroy.js ***!
  1103. \****************************************************************************************************/
  1104. /*! exports provided: default */
  1105. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1106. "use strict";
  1107. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \",.\").concat(params.slideClass, \".\").concat(params.slideBlankClass)).remove();\n slides.removeAttr('data-swiper-slide-index');\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopDestroy.js?");
  1108. /***/ }),
  1109. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopFix.js":
  1110. /*!************************************************************************************************!*\
  1111. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopFix.js ***!
  1112. \************************************************************************************************/
  1113. /*! exports provided: default */
  1114. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1115. "use strict";
  1116. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params,\n activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (params.slidesPerView === 'auto' && activeIndex >= loopedSlides * 2 || activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/loop/loopFix.js?");
  1117. /***/ }),
  1118. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/addSlide.js":
  1119. /*!*********************************************************************************************************!*\
  1120. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/addSlide.js ***!
  1121. \*********************************************************************************************************/
  1122. /*! exports provided: default */
  1123. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1124. "use strict";
  1125. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\".concat(params.slideClass));\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/addSlide.js?");
  1126. /***/ }),
  1127. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/appendSlide.js":
  1128. /*!************************************************************************************************************!*\
  1129. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/appendSlide.js ***!
  1130. \************************************************************************************************************/
  1131. /*! exports provided: default */
  1132. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1133. "use strict";
  1134. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].observer)) {\n swiper.update();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/appendSlide.js?");
  1135. /***/ }),
  1136. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/index.js":
  1137. /*!******************************************************************************************************!*\
  1138. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/index.js ***!
  1139. \******************************************************************************************************/
  1140. /*! exports provided: default */
  1141. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1142. "use strict";
  1143. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _appendSlide__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./appendSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/appendSlide.js\");\n/* harmony import */ var _prependSlide__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./prependSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/prependSlide.js\");\n/* harmony import */ var _addSlide__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./addSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/addSlide.js\");\n/* harmony import */ var _removeSlide__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./removeSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeSlide.js\");\n/* harmony import */ var _removeAllSlides__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./removeAllSlides */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeAllSlides.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n appendSlide: _appendSlide__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n prependSlide: _prependSlide__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n addSlide: _addSlide__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n removeSlide: _removeSlide__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n removeAllSlides: _removeAllSlides__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/index.js?");
  1144. /***/ }),
  1145. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/prependSlide.js":
  1146. /*!*************************************************************************************************************!*\
  1147. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/prependSlide.js ***!
  1148. \*************************************************************************************************************/
  1149. /*! exports provided: default */
  1150. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1151. "use strict";
  1152. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/prependSlide.js?");
  1153. /***/ }),
  1154. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeAllSlides.js":
  1155. /*!****************************************************************************************************************!*\
  1156. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeAllSlides.js ***!
  1157. \****************************************************************************************************************/
  1158. /*! exports provided: default */
  1159. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1160. "use strict";
  1161. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeAllSlides.js?");
  1162. /***/ }),
  1163. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeSlide.js":
  1164. /*!************************************************************************************************************!*\
  1165. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeSlide.js ***!
  1166. \************************************************************************************************************/
  1167. /*! exports provided: default */
  1168. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1169. "use strict";
  1170. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\".concat(params.slideClass));\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (_typeof(slidesIndexes) === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/manipulation/removeSlide.js?");
  1171. /***/ }),
  1172. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/index.js":
  1173. /*!***********************************************************************************************!*\
  1174. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/index.js ***!
  1175. \***********************************************************************************************/
  1176. /*! exports provided: default */
  1177. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1178. "use strict";
  1179. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _slideTo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slideTo */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideTo.js\");\n/* harmony import */ var _slideToLoop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slideToLoop */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToLoop.js\");\n/* harmony import */ var _slideNext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slideNext */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideNext.js\");\n/* harmony import */ var _slidePrev__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slidePrev */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slidePrev.js\");\n/* harmony import */ var _slideReset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slideReset */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideReset.js\");\n/* harmony import */ var _slideToClosest__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./slideToClosest */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClosest.js\");\n/* harmony import */ var _slideToClickedSlide__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./slideToClickedSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClickedSlide.js\");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n slideTo: _slideTo__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n slideToLoop: _slideToLoop__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n slideNext: _slideNext__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n slidePrev: _slidePrev__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n slideReset: _slideReset__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n slideToClosest: _slideToClosest__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n slideToClickedSlide: _slideToClickedSlide__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/index.js?");
  1180. /***/ }),
  1181. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideNext.js":
  1182. /*!***************************************************************************************************!*\
  1183. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideNext.js ***!
  1184. \***************************************************************************************************/
  1185. /*! exports provided: default */
  1186. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1187. "use strict";
  1188. eval("__webpack_require__.r(__webpack_exports__);\n/* eslint no-unused-vars: \"off\" */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating;\n\n if (params.loop) {\n if (animating) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideNext.js?");
  1189. /***/ }),
  1190. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slidePrev.js":
  1191. /*!***************************************************************************************************!*\
  1192. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slidePrev.js ***!
  1193. \***************************************************************************************************/
  1194. /*! exports provided: default */
  1195. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1196. "use strict";
  1197. eval("__webpack_require__.r(__webpack_exports__);\n/* eslint no-unused-vars: \"off\" */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate;\n\n if (params.loop) {\n if (animating) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var normalizedSlidesGrid = slidesGrid.map(function (val) {\n return normalize(val);\n });\n var currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slidePrev.js?");
  1198. /***/ }),
  1199. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideReset.js":
  1200. /*!****************************************************************************************************!*\
  1201. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideReset.js ***!
  1202. \****************************************************************************************************/
  1203. /*! exports provided: default */
  1204. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1205. "use strict";
  1206. eval("__webpack_require__.r(__webpack_exports__);\n/* eslint no-unused-vars: \"off\" */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideReset.js?");
  1207. /***/ }),
  1208. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideTo.js":
  1209. /*!*************************************************************************************************!*\
  1210. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideTo.js ***!
  1211. \*************************************************************************************************/
  1212. /*! exports provided: default */
  1213. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1214. "use strict";
  1215. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var speed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.speed;\n var runCallbacks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var internal = arguments.length > 3 ? arguments[3] : undefined;\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var snapIndex = Math.floor(slideIndex / params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (speed === 0 || !_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].transition) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideTo.js?");
  1216. /***/ }),
  1217. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClickedSlide.js":
  1218. /*!*************************************************************************************************************!*\
  1219. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClickedSlide.js ***!
  1220. \*************************************************************************************************************/
  1221. /*! exports provided: default */
  1222. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1223. "use strict";
  1224. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]:not(.\").concat(params.slideDuplicateClass, \")\")).eq(0).index();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]:not(.\").concat(params.slideDuplicateClass, \")\")).eq(0).index();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClickedSlide.js?");
  1225. /***/ }),
  1226. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClosest.js":
  1227. /*!********************************************************************************************************!*\
  1228. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClosest.js ***!
  1229. \********************************************************************************************************/
  1230. /*! exports provided: default */
  1231. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1232. "use strict";
  1233. eval("__webpack_require__.r(__webpack_exports__);\n/* eslint no-unused-vars: \"off\" */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n var index = swiper.activeIndex;\n var snapIndex = Math.floor(index / swiper.params.slidesPerGroup);\n\n if (snapIndex < swiper.snapGrid.length - 1) {\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) / 2) {\n index = swiper.params.slidesPerGroup;\n }\n }\n\n return swiper.slideTo(index, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToClosest.js?");
  1234. /***/ }),
  1235. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToLoop.js":
  1236. /*!*****************************************************************************************************!*\
  1237. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToLoop.js ***!
  1238. \*****************************************************************************************************/
  1239. /*! exports provided: default */
  1240. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1241. "use strict";
  1242. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var speed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.speed;\n var runCallbacks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var internal = arguments.length > 3 ? arguments[3] : undefined;\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/slide/slideToLoop.js?");
  1243. /***/ }),
  1244. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/transition/index.js":
  1245. /*!****************************************************************************************************!*\
  1246. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/transition/index.js ***!
  1247. \****************************************************************************************************/
  1248. /*! exports provided: default */
  1249. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1250. "use strict";
  1251. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _setTransition__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setTransition */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/transition/setTransition.js\");\n/* harmony import */ var _transitionStart__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitionStart */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionStart.js\");\n/* harmony import */ var _transitionEnd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitionEnd */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionEnd.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n setTransition: _setTransition__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n transitionStart: _transitionStart__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n transitionEnd: _transitionEnd__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/transition/index.js?");
  1252. /***/ }),
  1253. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/transition/setTransition.js":
  1254. /*!************************************************************************************************************!*\
  1255. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/transition/setTransition.js ***!
  1256. \************************************************************************************************************/
  1257. /*! exports provided: default */
  1258. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1259. "use strict";
  1260. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (duration, byController) {\n var swiper = this;\n swiper.$wrapperEl.transition(duration);\n swiper.emit('setTransition', duration, byController);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/transition/setTransition.js?");
  1261. /***/ }),
  1262. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionEnd.js":
  1263. /*!************************************************************************************************************!*\
  1264. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionEnd.js ***!
  1265. \************************************************************************************************************/
  1266. /*! exports provided: default */
  1267. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1268. "use strict";
  1269. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var runCallbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var direction = arguments.length > 1 ? arguments[1] : undefined;\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex;\n swiper.animating = false;\n swiper.setTransition(0);\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionEnd.js?");
  1270. /***/ }),
  1271. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionStart.js":
  1272. /*!**************************************************************************************************************!*\
  1273. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionStart.js ***!
  1274. \**************************************************************************************************************/
  1275. /*! exports provided: default */
  1276. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1277. "use strict";
  1278. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var runCallbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var direction = arguments.length > 1 ? arguments[1] : undefined;\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/transition/transitionStart.js?");
  1279. /***/ }),
  1280. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/getTranslate.js":
  1281. /*!**********************************************************************************************************!*\
  1282. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/getTranslate.js ***!
  1283. \**********************************************************************************************************/
  1284. /*! exports provided: default */
  1285. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1286. "use strict";
  1287. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.isHorizontal() ? 'x' : 'y';\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n var currentTranslate = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/getTranslate.js?");
  1288. /***/ }),
  1289. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/index.js":
  1290. /*!***************************************************************************************************!*\
  1291. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/index.js ***!
  1292. \***************************************************************************************************/
  1293. /*! exports provided: default */
  1294. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1295. "use strict";
  1296. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _getTranslate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTranslate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/getTranslate.js\");\n/* harmony import */ var _setTranslate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setTranslate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/setTranslate.js\");\n/* harmony import */ var _minTranslate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minTranslate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/minTranslate.js\");\n/* harmony import */ var _maxTranslate__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maxTranslate */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/translate/maxTranslate.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n getTranslate: _getTranslate__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n setTranslate: _setTranslate__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n minTranslate: _minTranslate__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n maxTranslate: _maxTranslate__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/index.js?");
  1297. /***/ }),
  1298. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/maxTranslate.js":
  1299. /*!**********************************************************************************************************!*\
  1300. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/maxTranslate.js ***!
  1301. \**********************************************************************************************************/
  1302. /*! exports provided: default */
  1303. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1304. "use strict";
  1305. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n return -this.snapGrid[this.snapGrid.length - 1];\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/maxTranslate.js?");
  1306. /***/ }),
  1307. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/minTranslate.js":
  1308. /*!**********************************************************************************************************!*\
  1309. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/minTranslate.js ***!
  1310. \**********************************************************************************************************/
  1311. /*! exports provided: default */
  1312. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1313. "use strict";
  1314. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n return -this.snapGrid[0];\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/minTranslate.js?");
  1315. /***/ }),
  1316. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/translate/setTranslate.js":
  1317. /*!**********************************************************************************************************!*\
  1318. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/translate/setTranslate.js ***!
  1319. \**********************************************************************************************************/
  1320. /*! exports provided: default */
  1321. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1322. "use strict";
  1323. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (!params.virtualTranslate) {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"].transforms3d) $wrapperEl.transform(\"translate3d(\".concat(x, \"px, \").concat(y, \"px, \").concat(z, \"px)\"));else $wrapperEl.transform(\"translate(\".concat(x, \"px, \").concat(y, \"px)\"));\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/translate/setTranslate.js?");
  1324. /***/ }),
  1325. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/index.js":
  1326. /*!************************************************************************************************!*\
  1327. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/index.js ***!
  1328. \************************************************************************************************/
  1329. /*! exports provided: default */
  1330. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1331. "use strict";
  1332. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _updateSize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./updateSize */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSize.js\");\n/* harmony import */ var _updateSlides__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateSlides */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlides.js\");\n/* harmony import */ var _updateAutoHeight__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateAutoHeight */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateAutoHeight.js\");\n/* harmony import */ var _updateSlidesOffset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./updateSlidesOffset */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesOffset.js\");\n/* harmony import */ var _updateSlidesProgress__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateSlidesProgress */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesProgress.js\");\n/* harmony import */ var _updateProgress__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateProgress */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateProgress.js\");\n/* harmony import */ var _updateSlidesClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateSlidesClasses */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesClasses.js\");\n/* harmony import */ var _updateActiveIndex__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./updateActiveIndex */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateActiveIndex.js\");\n/* harmony import */ var _updateClickedSlide__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./updateClickedSlide */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateClickedSlide.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n updateSize: _updateSize__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n updateSlides: _updateSlides__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n updateAutoHeight: _updateAutoHeight__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n updateSlidesOffset: _updateSlidesOffset__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n updateSlidesProgress: _updateSlidesProgress__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n updateProgress: _updateProgress__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n updateSlidesClasses: _updateSlidesClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n updateActiveIndex: _updateActiveIndex__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n updateClickedSlide: _updateClickedSlide__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/index.js?");
  1333. /***/ }),
  1334. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateActiveIndex.js":
  1335. /*!************************************************************************************************************!*\
  1336. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateActiveIndex.js ***!
  1337. \************************************************************************************************************/
  1338. /*! exports provided: default */
  1339. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1340. "use strict";
  1341. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n snapIndex = Math.floor(activeIndex / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n swiper.emit('slideChange');\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateActiveIndex.js?");
  1342. /***/ }),
  1343. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateAutoHeight.js":
  1344. /*!***********************************************************************************************************!*\
  1345. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateAutoHeight.js ***!
  1346. \***********************************************************************************************************/
  1347. /*! exports provided: default */
  1348. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1349. "use strict";
  1350. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (speed) {\n var swiper = this;\n var activeSlides = [];\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n } // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length) break;\n activeSlides.push(swiper.slides.eq(index)[0]);\n }\n } else {\n activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', \"\".concat(newHeight, \"px\"));\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateAutoHeight.js?");
  1351. /***/ }),
  1352. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateClickedSlide.js":
  1353. /*!*************************************************************************************************************!*\
  1354. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateClickedSlide.js ***!
  1355. \*************************************************************************************************************/
  1356. /*! exports provided: default */
  1357. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1358. "use strict";
  1359. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (e) {\n var swiper = this;\n var params = swiper.params;\n var slide = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest(\".\".concat(params.slideClass))[0];\n var slideFound = false;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) slideFound = true;\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slide).index();\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateClickedSlide.js?");
  1360. /***/ }),
  1361. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateProgress.js":
  1362. /*!*********************************************************************************************************!*\
  1363. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateProgress.js ***!
  1364. \*********************************************************************************************************/
  1365. /*! exports provided: default */
  1366. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1367. "use strict";
  1368. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var translate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this && this.translate || 0;\n var swiper = this;\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateProgress.js?");
  1369. /***/ }),
  1370. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSize.js":
  1371. /*!*****************************************************************************************************!*\
  1372. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSize.js ***!
  1373. \*****************************************************************************************************/
  1374. /*! exports provided: default */
  1375. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1376. "use strict";
  1377. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined') {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined') {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left'), 10) - parseInt($el.css('padding-right'), 10);\n height = height - parseInt($el.css('padding-top'), 10) - parseInt($el.css('padding-bottom'), 10);\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSize.js?");
  1378. /***/ }),
  1379. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlides.js":
  1380. /*!*******************************************************************************************************!*\
  1381. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlides.js ***!
  1382. \*******************************************************************************************************/
  1383. /*! exports provided: default */
  1384. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1385. "use strict";
  1386. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\".concat(swiper.params.slideClass));\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.snapGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: ''\n });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(\"margin-\".concat(swiper.isHorizontal() ? 'top' : 'left'), row !== 0 && params.spaceBetween && \"\".concat(params.spaceBetween, \"px\")).attr('data-swiper-column', column).attr('data-swiper-row', row);\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getComputedStyle(slide[0], null);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n if (swiper.isHorizontal()) {\n var width = parseFloat(slideStyles.getPropertyValue('width'));\n var paddingLeft = parseFloat(slideStyles.getPropertyValue('padding-left'));\n var paddingRight = parseFloat(slideStyles.getPropertyValue('padding-right'));\n var marginLeft = parseFloat(slideStyles.getPropertyValue('margin-left'));\n var marginRight = parseFloat(slideStyles.getPropertyValue('margin-right'));\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight;\n }\n } else {\n var height = parseFloat(slideStyles.getPropertyValue('height'));\n var paddingTop = parseFloat(slideStyles.getPropertyValue('padding-top'));\n var paddingBottom = parseFloat(slideStyles.getPropertyValue('padding-bottom'));\n var marginTop = parseFloat(slideStyles.getPropertyValue('margin-top'));\n var marginBottom = parseFloat(slideStyles.getPropertyValue('margin-bottom'));\n\n var _boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (_boxSizing && _boxSizing === 'border-box') {\n slideSize = height + marginTop + marginBottom;\n } else {\n slideSize = height + paddingTop + paddingBottom + marginTop + marginBottom;\n }\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n if (swiper.isHorizontal()) {\n slides[i].style.width = \"\".concat(slideSize, \"px\");\n } else {\n slides[i].style.height = \"\".concat(slideSize, \"px\");\n }\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n var newSlidesGrid;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });\n }\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].flexbox || params.setWrapperSize) {\n if (swiper.isHorizontal()) $wrapperEl.css({\n width: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });else $wrapperEl.css({\n height: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });\n }\n\n if (params.slidesPerColumn > 1) {\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n if (swiper.isHorizontal()) $wrapperEl.css({\n width: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });else $wrapperEl.css({\n height: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(_slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n if (swiper.isHorizontal()) {\n if (rtl) slides.css({\n marginLeft: \"\".concat(spaceBetween, \"px\")\n });else slides.css({\n marginRight: \"\".concat(spaceBetween, \"px\")\n });\n } else slides.css({\n marginBottom: \"\".concat(spaceBetween, \"px\")\n });\n }\n\n if (params.centerInsufficientSlides) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n\n if (allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlides.js?");
  1387. /***/ }),
  1388. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesClasses.js":
  1389. /*!**************************************************************************************************************!*\
  1390. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesClasses.js ***!
  1391. \**************************************************************************************************************/
  1392. /*! exports provided: default */
  1393. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1394. "use strict";
  1395. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(\"\".concat(params.slideActiveClass, \" \").concat(params.slideNextClass, \" \").concat(params.slidePrevClass, \" \").concat(params.slideDuplicateActiveClass, \" \").concat(params.slideDuplicateNextClass, \" \").concat(params.slideDuplicatePrevClass));\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(activeIndex, \"\\\"]\"));\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\")).addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\")).addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\".concat(params.slideClass)).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\".concat(params.slideClass)).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(nextSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(nextSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(prevSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(prevSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicatePrevClass);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesClasses.js?");
  1396. /***/ }),
  1397. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesOffset.js":
  1398. /*!*************************************************************************************************************!*\
  1399. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesOffset.js ***!
  1400. \*************************************************************************************************************/
  1401. /*! exports provided: default */
  1402. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1403. "use strict";
  1404. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesOffset.js?");
  1405. /***/ }),
  1406. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesProgress.js":
  1407. /*!***************************************************************************************************************!*\
  1408. !*** ./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesProgress.js ***!
  1409. \***************************************************************************************************************/
  1410. /*! exports provided: default */
  1411. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1412. "use strict";
  1413. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var translate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this && this.translate || 0;\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size || slideAfter > 0 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.visibleSlides);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/core/update/updateSlidesProgress.js?");
  1414. /***/ }),
  1415. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/effect-coverflow/effect-coverflow.js":
  1416. /*!****************************************************************************************************************!*\
  1417. !*** ./node_modules/framework7/components/swiper/swiper-class/components/effect-coverflow/effect-coverflow.js ***!
  1418. \****************************************************************************************************************/
  1419. /*! exports provided: default */
  1420. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1421. "use strict";
  1422. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n\nvar Coverflow = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n slides = swiper.slides,\n $wrapperEl = swiper.$wrapperEl,\n slidesSizesGrid = swiper.slidesSizesGrid;\n var params = swiper.params.coverflowEffect;\n var isHorizontal = swiper.isHorizontal();\n var transform = swiper.translate;\n var center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n var rotate = isHorizontal ? params.rotate : -params.rotate;\n var translate = params.depth; // Each slide offset from center\n\n for (var i = 0, length = slides.length; i < length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideSize = slidesSizesGrid[i];\n var slideOffset = $slideEl[0].swiperSlideOffset;\n var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * params.modifier;\n var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0\n\n var translateZ = -translate * Math.abs(offsetMultiplier);\n var translateY = isHorizontal ? 0 : params.stretch * offsetMultiplier;\n var translateX = isHorizontal ? params.stretch * offsetMultiplier : 0; // Fix for ultra small values\n\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n var slideTransform = \"translate3d(\".concat(translateX, \"px,\").concat(translateY, \"px,\").concat(translateZ, \"px) rotateX(\").concat(rotateX, \"deg) rotateY(\").concat(rotateY, \"deg)\");\n $slideEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"swiper-slide-shadow-\".concat(isHorizontal ? 'left' : 'top', \"\\\"></div>\"));\n $slideEl.append($shadowBeforeEl);\n }\n\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"swiper-slide-shadow-\".concat(isHorizontal ? 'right' : 'bottom', \"\\\"></div>\"));\n $slideEl.append($shadowAfterEl);\n }\n\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n } // Set correct perspective for IE10\n\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_1__[\"default\"].pointerEvents || _utils_support__WEBPACK_IMPORTED_MODULE_1__[\"default\"].prefixedPointerEvents) {\n var ws = $wrapperEl[0].style;\n ws.perspectiveOrigin = \"\".concat(center, \"px 50%\");\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n swiper.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'effect-coverflow',\n params: {\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n modifier: 1,\n slideShadows: true\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(swiper, {\n coverflowEffect: {\n setTranslate: Coverflow.setTranslate.bind(swiper),\n setTransition: Coverflow.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (swiper.params.effect !== 'coverflow') return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"coverflow\"));\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"3d\"));\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/effect-coverflow/effect-coverflow.js?");
  1423. /***/ }),
  1424. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/effect-cube/effect-cube.js":
  1425. /*!******************************************************************************************************!*\
  1426. !*** ./node_modules/framework7/components/swiper/swiper-class/components/effect-cube/effect-cube.js ***!
  1427. \******************************************************************************************************/
  1428. /*! exports provided: default */
  1429. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1430. "use strict";
  1431. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/browser */ \"./node_modules/framework7/components/swiper/swiper-class/utils/browser.js\");\n\n\n\nvar Cube = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides,\n swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n rtl = swiper.rtlTranslate,\n swiperSize = swiper.size;\n var params = swiper.params.cubeEffect;\n var isHorizontal = swiper.isHorizontal();\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var wrapperRotate = 0;\n var $cubeShadowEl;\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"swiper-cube-shadow\"></div>');\n $wrapperEl.append($cubeShadowEl);\n }\n\n $cubeShadowEl.css({\n height: \"\".concat(swiperWidth, \"px\")\n });\n } else {\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"swiper-cube-shadow\"></div>');\n $el.append($cubeShadowEl);\n }\n }\n }\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideIndex = i;\n\n if (isVirtual) {\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\n }\n\n var slideAngle = slideIndex * 90;\n var round = Math.floor(slideAngle / 360);\n\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n\n var progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n var tx = 0;\n var ty = 0;\n var tz = 0;\n\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n\n if (rtl) {\n tx = -tx;\n }\n\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n\n var transform = \"rotateX(\".concat(isHorizontal ? 0 : -slideAngle, \"deg) rotateY(\").concat(isHorizontal ? slideAngle : 0, \"deg) translate3d(\").concat(tx, \"px, \").concat(ty, \"px, \").concat(tz, \"px)\");\n\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n\n $slideEl.transform(transform);\n\n if (params.slideShadows) {\n // Set shadows\n var shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"swiper-slide-shadow-\".concat(isHorizontal ? 'left' : 'top', \"\\\"></div>\"));\n $slideEl.append(shadowBefore);\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"swiper-slide-shadow-\".concat(isHorizontal ? 'right' : 'bottom', \"\\\"></div>\"));\n $slideEl.append(shadowAfter);\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n }\n\n $wrapperEl.css({\n '-webkit-transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\"),\n '-moz-transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\"),\n '-ms-transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\"),\n 'transform-origin': \"50% 50% -\".concat(swiperSize / 2, \"px\")\n });\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl.transform(\"translate3d(0px, \".concat(swiperWidth / 2 + params.shadowOffset, \"px, \").concat(-swiperWidth / 2, \"px) rotateX(90deg) rotateZ(0deg) scale(\").concat(params.shadowScale, \")\"));\n } else {\n var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n var scale1 = params.shadowScale;\n var scale2 = params.shadowScale / multiplier;\n var offset = params.shadowOffset;\n $cubeShadowEl.transform(\"scale3d(\".concat(scale1, \", 1, \").concat(scale2, \") translate3d(0px, \").concat(swiperHeight / 2 + offset, \"px, \").concat(-swiperHeight / 2 / scale2, \"px) rotateX(-90deg)\"));\n }\n }\n\n var zFactor = _utils_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isSafari || _utils_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isUiWebView ? -swiperSize / 2 : 0;\n $wrapperEl.transform(\"translate3d(0px,0,\".concat(zFactor, \"px) rotateX(\").concat(swiper.isHorizontal() ? 0 : wrapperRotate, \"deg) rotateY(\").concat(swiper.isHorizontal() ? -wrapperRotate : 0, \"deg)\"));\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var $el = swiper.$el,\n slides = swiper.slides;\n slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n $el.find('.swiper-cube-shadow').transition(duration);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'effect-cube',\n params: {\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n cubeEffect: {\n setTranslate: Cube.setTranslate.bind(swiper),\n setTransition: Cube.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (swiper.params.effect !== 'cube') return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"cube\"));\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"3d\"));\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true\n };\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.params, overwriteParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/effect-cube/effect-cube.js?");
  1432. /***/ }),
  1433. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/effect-fade/effect-fade.js":
  1434. /*!******************************************************************************************************!*\
  1435. !*** ./node_modules/framework7/components/swiper/swiper-class/components/effect-fade/effect-fade.js ***!
  1436. \******************************************************************************************************/
  1437. /*! exports provided: default */
  1438. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1439. "use strict";
  1440. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\nvar Fade = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = swiper.slides.eq(i);\n var offset = $slideEl[0].swiperSlideOffset;\n var tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n\n var slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n $slideEl.css({\n opacity: slideOpacity\n }).transform(\"translate3d(\".concat(tx, \"px, \").concat(ty, \"px, 0px)\"));\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var slides = swiper.slides,\n $wrapperEl = swiper.$wrapperEl;\n slides.transition(duration);\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n slides.transitionEnd(function () {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'effect-fade',\n params: {\n fadeEffect: {\n crossFade: false\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n fadeEffect: {\n setTranslate: Fade.setTranslate.bind(swiper),\n setTransition: Fade.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (swiper.params.effect !== 'fade') return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"fade\"));\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true\n };\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.params, overwriteParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/effect-fade/effect-fade.js?");
  1441. /***/ }),
  1442. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/effect-flip/effect-flip.js":
  1443. /*!******************************************************************************************************!*\
  1444. !*** ./node_modules/framework7/components/swiper/swiper-class/components/effect-flip/effect-flip.js ***!
  1445. \******************************************************************************************************/
  1446. /*! exports provided: default */
  1447. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1448. "use strict";
  1449. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Flip = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var progress = $slideEl[0].progress;\n\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n }\n\n var offset = $slideEl[0].swiperSlideOffset;\n var rotate = -180 * progress;\n var rotateY = rotate;\n var rotateX = 0;\n var tx = -offset;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n\n if (swiper.params.flipEffect.slideShadows) {\n // Set shadows\n var shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"swiper-slide-shadow-\".concat(swiper.isHorizontal() ? 'left' : 'top', \"\\\"></div>\"));\n $slideEl.append(shadowBefore);\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"swiper-slide-shadow-\".concat(swiper.isHorizontal() ? 'right' : 'bottom', \"\\\"></div>\"));\n $slideEl.append(shadowAfter);\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n\n $slideEl.transform(\"translate3d(\".concat(tx, \"px, \").concat(ty, \"px, 0px) rotateX(\").concat(rotateX, \"deg) rotateY(\").concat(rotateY, \"deg)\"));\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var slides = swiper.slides,\n activeIndex = swiper.activeIndex,\n $wrapperEl = swiper.$wrapperEl;\n slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false; // eslint-disable-next-line\n\n slides.eq(activeIndex).transitionEnd(function onTransitionEnd() {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return; // if (!$(this).hasClass(swiper.params.slideActiveClass)) return;\n\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'effect-flip',\n params: {\n flipEffect: {\n slideShadows: true,\n limitRotation: true\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n flipEffect: {\n setTranslate: Flip.setTranslate.bind(swiper),\n setTransition: Flip.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (swiper.params.effect !== 'flip') return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"flip\"));\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"3d\"));\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true\n };\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.params, overwriteParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/effect-flip/effect-flip.js?");
  1450. /***/ }),
  1451. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/lazy/lazy.js":
  1452. /*!****************************************************************************************!*\
  1453. !*** ./node_modules/framework7/components/swiper/swiper-class/components/lazy/lazy.js ***!
  1454. \****************************************************************************************/
  1455. /*! exports provided: default */
  1456. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1457. "use strict";
  1458. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Lazy = {\n loadInSlide: function loadInSlide(index) {\n var loadInDuplicate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var swiper = this;\n var params = swiper.params.lazy;\n if (typeof index === 'undefined') return;\n if (swiper.slides.length === 0) return;\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var $slideEl = isVirtual ? swiper.$wrapperEl.children(\".\".concat(swiper.params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(index, \"\\\"]\")) : swiper.slides.eq(index);\n var $images = $slideEl.find(\".\".concat(params.elementClass, \":not(.\").concat(params.loadedClass, \"):not(.\").concat(params.loadingClass, \")\"));\n\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\n $images = $images.add($slideEl[0]);\n }\n\n if ($images.length === 0) return;\n $images.each(function (imageIndex, imageEl) {\n var $imageEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(imageEl);\n $imageEl.addClass(params.loadingClass);\n var background = $imageEl.attr('data-background');\n var src = $imageEl.attr('data-src');\n var srcset = $imageEl.attr('data-srcset');\n var sizes = $imageEl.attr('data-sizes');\n swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, function () {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;\n\n if (background) {\n $imageEl.css('background-image', \"url(\\\"\".concat(background, \"\\\")\"));\n $imageEl.removeAttr('data-background');\n } else {\n if (srcset) {\n $imageEl.attr('srcset', srcset);\n $imageEl.removeAttr('data-srcset');\n }\n\n if (sizes) {\n $imageEl.attr('sizes', sizes);\n $imageEl.removeAttr('data-sizes');\n }\n\n if (src) {\n $imageEl.attr('src', src);\n $imageEl.removeAttr('data-src');\n }\n }\n\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(\".\".concat(params.preloaderClass)).remove();\n\n if (swiper.params.loop && loadInDuplicate) {\n var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\n\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n var originalSlide = swiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\".concat(slideOriginalIndex, \"\\\"]:not(.\").concat(swiper.params.slideDuplicateClass, \")\"));\n swiper.lazy.loadInSlide(originalSlide.index(), false);\n } else {\n var duplicatedSlide = swiper.$wrapperEl.children(\".\".concat(swiper.params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(slideOriginalIndex, \"\\\"]\"));\n swiper.lazy.loadInSlide(duplicatedSlide.index(), false);\n }\n }\n\n swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);\n });\n swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\n });\n },\n load: function load() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n swiperParams = swiper.params,\n slides = swiper.slides,\n activeIndex = swiper.activeIndex;\n var isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n var params = swiperParams.lazy;\n var slidesPerView = swiperParams.slidesPerView;\n\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n\n function slideExist(index) {\n if (isVirtual) {\n if ($wrapperEl.children(\".\".concat(swiperParams.slideClass, \"[data-swiper-slide-index=\\\"\").concat(index, \"\\\"]\")).length) {\n return true;\n }\n } else if (slides[index]) return true;\n\n return false;\n }\n\n function slideIndex(slideEl) {\n if (isVirtual) {\n return Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).attr('data-swiper-slide-index');\n }\n\n return Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).index();\n }\n\n if (!swiper.lazy.initialImageLoaded) swiper.lazy.initialImageLoaded = true;\n\n if (swiper.params.watchSlidesVisibility) {\n $wrapperEl.children(\".\".concat(swiperParams.slideVisibleClass)).each(function (elIndex, slideEl) {\n var index = isVirtual ? Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).attr('data-swiper-slide-index') : Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).index();\n swiper.lazy.loadInSlide(index);\n });\n } else if (slidesPerView > 1) {\n for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) swiper.lazy.loadInSlide(i);\n }\n } else {\n swiper.lazy.loadInSlide(activeIndex);\n }\n\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {\n var amount = params.loadPrevNextAmount;\n var spv = slidesPerView;\n var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides\n\n for (var _i = activeIndex + slidesPerView; _i < maxIndex; _i += 1) {\n if (slideExist(_i)) swiper.lazy.loadInSlide(_i);\n } // Prev Slides\n\n\n for (var _i2 = minIndex; _i2 < activeIndex; _i2 += 1) {\n if (slideExist(_i2)) swiper.lazy.loadInSlide(_i2);\n }\n } else {\n var nextSlide = $wrapperEl.children(\".\".concat(swiperParams.slideNextClass));\n if (nextSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(nextSlide));\n var prevSlide = $wrapperEl.children(\".\".concat(swiperParams.slidePrevClass));\n if (prevSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(prevSlide));\n }\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'lazy',\n params: {\n lazy: {\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n elementClass: 'swiper-lazy',\n loadingClass: 'swiper-lazy-loading',\n loadedClass: 'swiper-lazy-loaded',\n preloaderClass: 'swiper-lazy-preloader'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n lazy: {\n initialImageLoaded: false,\n load: Lazy.load.bind(swiper),\n loadInSlide: Lazy.loadInSlide.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n },\n init: function init() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {\n swiper.lazy.load();\n }\n },\n scroll: function scroll() {\n var swiper = this;\n\n if (swiper.params.freeMode && !swiper.params.freeModeSticky) {\n swiper.lazy.load();\n }\n },\n resize: function resize() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n },\n scrollbarDragMove: function scrollbarDragMove() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n },\n transitionStart: function transitionStart() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded) {\n swiper.lazy.load();\n }\n }\n },\n transitionEnd: function transitionEnd() {\n var swiper = this;\n\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n swiper.lazy.load();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/lazy/lazy.js?");
  1459. /***/ }),
  1460. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/navigation/navigation.js":
  1461. /*!****************************************************************************************************!*\
  1462. !*** ./node_modules/framework7/components/swiper/swiper-class/components/navigation/navigation.js ***!
  1463. \****************************************************************************************************/
  1464. /*! exports provided: default */
  1465. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1466. "use strict";
  1467. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Navigation = {\n update: function update() {\n // Update Navigation Buttons\n var swiper = this;\n var params = swiper.params.navigation;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n $prevEl.addClass(params.disabledClass);\n } else {\n $prevEl.removeClass(params.disabledClass);\n }\n\n $prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n $nextEl.addClass(params.disabledClass);\n } else {\n $nextEl.removeClass(params.disabledClass);\n }\n\n $nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n onPrevClick: function onPrevClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop) return;\n swiper.slidePrev();\n },\n onNextClick: function onNextClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop) return;\n swiper.slideNext();\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.navigation;\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl;\n var $prevEl;\n\n if (params.nextEl) {\n $nextEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.nextEl);\n\n if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\n $nextEl = swiper.$el.find(params.nextEl);\n }\n }\n\n if (params.prevEl) {\n $prevEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.prevEl);\n\n if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\n $prevEl = swiper.$el.find(params.prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', swiper.navigation.onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', swiper.navigation.onPrevClick);\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n },\n destroy: function destroy() {\n var swiper = this;\n var _swiper$navigation2 = swiper.navigation,\n $nextEl = _swiper$navigation2.$nextEl,\n $prevEl = _swiper$navigation2.$prevEl;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', swiper.navigation.onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', swiper.navigation.onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'navigation',\n params: {\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n navigation: {\n init: Navigation.init.bind(swiper),\n update: Navigation.update.bind(swiper),\n destroy: Navigation.destroy.bind(swiper),\n onNextClick: Navigation.onNextClick.bind(swiper),\n onPrevClick: Navigation.onPrevClick.bind(swiper)\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n swiper.navigation.init();\n swiper.navigation.update();\n },\n toEdge: function toEdge() {\n var swiper = this;\n swiper.navigation.update();\n },\n fromEdge: function fromEdge() {\n var swiper = this;\n swiper.navigation.update();\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.navigation.destroy();\n },\n click: function click(e) {\n var swiper = this;\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if (swiper.params.navigation.hideOnClick && !Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).is($prevEl) && !Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).is($nextEl)) {\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n swiper.emit('navigationShow', swiper);\n } else {\n swiper.emit('navigationHide', swiper);\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/navigation/navigation.js?");
  1468. /***/ }),
  1469. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/pagination/pagination.js":
  1470. /*!****************************************************************************************************!*\
  1471. !*** ./node_modules/framework7/components/swiper/swiper-class/components/pagination/pagination.js ***!
  1472. \****************************************************************************************************/
  1473. /*! exports provided: default */
  1474. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1475. "use strict";
  1476. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', \"\".concat(swiper.pagination.bulletSize * (params.dynamicMainBullets + 4), \"px\"));\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(\"\".concat(params.bulletActiveClass, \" \").concat(params.bulletActiveClass, \"-next \").concat(params.bulletActiveClass, \"-next-next \").concat(params.bulletActiveClass, \"-prev \").concat(params.bulletActiveClass, \"-prev-prev \").concat(params.bulletActiveClass, \"-main\"));\n\n if ($el.length > 1) {\n bullets.each(function (index, bullet) {\n var $bullet = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(\"\".concat(params.bulletActiveClass, \"-prev\")).prev().addClass(\"\".concat(params.bulletActiveClass, \"-prev-prev\"));\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(\"\".concat(params.bulletActiveClass, \"-next\")).next().addClass(\"\".concat(params.bulletActiveClass, \"-next-next\"));\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n $firstDisplayedBullet.prev().addClass(\"\".concat(params.bulletActiveClass, \"-prev\")).prev().addClass(\"\".concat(params.bulletActiveClass, \"-prev-prev\"));\n $lastDisplayedBullet.next().addClass(\"\".concat(params.bulletActiveClass, \"-next\")).next().addClass(\"\".concat(params.bulletActiveClass, \"-next-next\"));\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', \"\".concat(bulletsOffset, \"px\"));\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(\".\".concat(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(\".\".concat(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(\".\".concat(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\".concat(scaleX, \") scaleY(\").concat(scaleY, \")\")).transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', swiper, $el[0]);\n } else {\n swiper.emit('paginationUpdate', swiper, $el[0]);\n }\n\n $el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\".concat(params.bulletElement, \" class=\\\"\").concat(params.bulletClass, \"\\\"></\").concat(params.bulletElement, \">\");\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(\".\".concat(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"<span class=\\\"\".concat(params.currentClass, \"\\\"></span>\") + ' / ' + \"<span class=\\\"\".concat(params.totalClass, \"\\\"></span>\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"<span class=\\\"\".concat(params.progressbarFillClass, \"\\\"></span>\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && swiper.$el.find(params.el).length === 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\".concat(params.modifierClass).concat(params.type, \"-dynamic\"));\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', \".\".concat(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', \".\".concat(params.bulletClass));\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n pagination: {\n init: Pagination.init.bind(swiper),\n render: Pagination.render.bind(swiper),\n update: Pagination.update.bind(swiper),\n destroy: Pagination.destroy.bind(swiper),\n dynamicBulletIndex: 0\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange() {\n var swiper = this;\n\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange() {\n var swiper = this;\n\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange() {\n var swiper = this;\n\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange() {\n var swiper = this;\n\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.pagination.destroy();\n },\n click: function click(e) {\n var swiper = this;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).hasClass(swiper.params.pagination.bulletClass)) {\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow', swiper);\n } else {\n swiper.emit('paginationHide', swiper);\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/pagination/pagination.js?");
  1477. /***/ }),
  1478. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/parallax/parallax.js":
  1479. /*!************************************************************************************************!*\
  1480. !*** ./node_modules/framework7/components/swiper/swiper-class/components/parallax/parallax.js ***!
  1481. \************************************************************************************************/
  1482. /*! exports provided: default */
  1483. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1484. "use strict";
  1485. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\nvar Parallax = {\n setTransform: function setTransform(el, progress) {\n var swiper = this;\n var rtl = swiper.rtl;\n var $el = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var rtlFactor = rtl ? -1 : 1;\n var p = $el.attr('data-swiper-parallax') || '0';\n var x = $el.attr('data-swiper-parallax-x');\n var y = $el.attr('data-swiper-parallax-y');\n var scale = $el.attr('data-swiper-parallax-scale');\n var opacity = $el.attr('data-swiper-parallax-opacity');\n\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n\n if (x.indexOf('%') >= 0) {\n x = \"\".concat(parseInt(x, 10) * progress * rtlFactor, \"%\");\n } else {\n x = \"\".concat(x * progress * rtlFactor, \"px\");\n }\n\n if (y.indexOf('%') >= 0) {\n y = \"\".concat(parseInt(y, 10) * progress, \"%\");\n } else {\n y = \"\".concat(y * progress, \"px\");\n }\n\n if (typeof opacity !== 'undefined' && opacity !== null) {\n var currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n $el[0].style.opacity = currentOpacity;\n }\n\n if (typeof scale === 'undefined' || scale === null) {\n $el.transform(\"translate3d(\".concat(x, \", \").concat(y, \", 0px)\"));\n } else {\n var currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n $el.transform(\"translate3d(\".concat(x, \", \").concat(y, \", 0px) scale(\").concat(currentScale, \")\"));\n }\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n var $el = swiper.$el,\n slides = swiper.slides,\n progress = swiper.progress,\n snapGrid = swiper.snapGrid;\n $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function (index, el) {\n swiper.parallax.setTransform(el, progress);\n });\n slides.each(function (slideIndex, slideEl) {\n var slideProgress = slideEl.progress;\n\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function (index, el) {\n swiper.parallax.setTransform(el, slideProgress);\n });\n });\n },\n setTransition: function setTransition() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var swiper = this;\n var $el = swiper.$el;\n $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function (index, parallaxEl) {\n var $parallaxEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parallaxEl);\n var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'parallax',\n params: {\n parallax: {\n enabled: false\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n parallax: {\n setTransform: Parallax.setTransform.bind(swiper),\n setTranslate: Parallax.setTranslate.bind(swiper),\n setTransition: Parallax.setTransition.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n init: function init() {\n var swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTransition(duration);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/parallax/parallax.js?");
  1486. /***/ }),
  1487. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/scrollbar/scrollbar.js":
  1488. /*!**************************************************************************************************!*\
  1489. !*** ./node_modules/framework7/components/swiper/swiper-class/components/scrollbar/scrollbar.js ***!
  1490. \**************************************************************************************************/
  1491. /*! exports provided: default */
  1492. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1493. "use strict";
  1494. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n\n\n\nvar Scrollbar = {\n setTranslate: function setTranslate() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate,\n progress = swiper.progress;\n var dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize,\n $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n var params = swiper.params.scrollbar;\n var newSize = dragSize;\n var newPos = (trackSize - dragSize) * progress;\n\n if (rtl) {\n newPos = -newPos;\n\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n\n if (swiper.isHorizontal()) {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].transforms3d) {\n $dragEl.transform(\"translate3d(\".concat(newPos, \"px, 0, 0)\"));\n } else {\n $dragEl.transform(\"translateX(\".concat(newPos, \"px)\"));\n }\n\n $dragEl[0].style.width = \"\".concat(newSize, \"px\");\n } else {\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].transforms3d) {\n $dragEl.transform(\"translate3d(0px, \".concat(newPos, \"px, 0)\"));\n } else {\n $dragEl.transform(\"translateY(\".concat(newPos, \"px)\"));\n }\n\n $dragEl[0].style.height = \"\".concat(newSize, \"px\");\n }\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.timeout);\n $el[0].style.opacity = 1;\n swiper.scrollbar.timeout = setTimeout(function () {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n },\n updateSize: function updateSize() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar;\n var $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n var divider = swiper.size / swiper.virtualSize;\n var moveDivider = divider * (trackSize / swiper.size);\n var dragSize;\n\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = \"\".concat(dragSize, \"px\");\n } else {\n $dragEl[0].style.height = \"\".concat(dragSize, \"px\");\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(scrollbar, {\n trackSize: trackSize,\n divider: divider,\n moveDivider: moveDivider,\n dragSize: dragSize\n });\n scrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\n },\n setDragPosition: function setDragPosition(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate;\n var $el = scrollbar.$el,\n dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize;\n var pointerPosition;\n\n if (swiper.isHorizontal()) {\n pointerPosition = e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX || e.clientX;\n } else {\n pointerPosition = e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY || e.clientY;\n }\n\n var positionRatio;\n positionRatio = (pointerPosition - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - dragSize / 2) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n var position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n },\n onDragStart: function onDragStart(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n swiper.scrollbar.isTouched = true;\n e.preventDefault();\n e.stopPropagation();\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n scrollbar.setDragPosition(e);\n clearTimeout(swiper.scrollbar.dragTimeout);\n $el.transition(0);\n\n if (params.hide) {\n $el.css('opacity', 1);\n }\n\n swiper.emit('scrollbarDragStart', e);\n },\n onDragMove: function onDragMove(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n if (!swiper.scrollbar.isTouched) return;\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n scrollbar.setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n swiper.emit('scrollbarDragMove', e);\n },\n onDragEnd: function onDragEnd(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar;\n var $el = scrollbar.$el;\n if (!swiper.scrollbar.isTouched) return;\n swiper.scrollbar.isTouched = false;\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.dragTimeout);\n swiper.scrollbar.dragTimeout = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n\n swiper.emit('scrollbarDragEnd', e);\n\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n },\n enableDraggable: function enableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].touch) {\n target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n disableDraggable: function disableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].touch) {\n target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n init: function init() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n $swiperEl = swiper.$el;\n var params = swiper.params.scrollbar;\n var $el = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.el);\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n $el = $swiperEl.find(params.el);\n }\n\n var $dragEl = $el.find(\".\".concat(swiper.params.scrollbar.dragClass));\n\n if ($dragEl.length === 0) {\n $dragEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"<div class=\\\"\".concat(swiper.params.scrollbar.dragClass, \"\\\"></div>\"));\n $el.append($dragEl);\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(scrollbar, {\n $el: $el,\n el: $el[0],\n $dragEl: $dragEl,\n dragEl: $dragEl[0]\n });\n\n if (params.draggable) {\n scrollbar.enableDraggable();\n }\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.scrollbar.disableDraggable();\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'scrollbar',\n params: {\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(swiper, {\n scrollbar: {\n init: Scrollbar.init.bind(swiper),\n destroy: Scrollbar.destroy.bind(swiper),\n updateSize: Scrollbar.updateSize.bind(swiper),\n setTranslate: Scrollbar.setTranslate.bind(swiper),\n setTransition: Scrollbar.setTransition.bind(swiper),\n enableDraggable: Scrollbar.enableDraggable.bind(swiper),\n disableDraggable: Scrollbar.disableDraggable.bind(swiper),\n setDragPosition: Scrollbar.setDragPosition.bind(swiper),\n onDragStart: Scrollbar.onDragStart.bind(swiper),\n onDragMove: Scrollbar.onDragMove.bind(swiper),\n onDragEnd: Scrollbar.onDragEnd.bind(swiper),\n isTouched: false,\n timeout: null,\n dragTimeout: null\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n swiper.scrollbar.init();\n swiper.scrollbar.updateSize();\n swiper.scrollbar.setTranslate();\n },\n update: function update() {\n var swiper = this;\n swiper.scrollbar.updateSize();\n },\n resize: function resize() {\n var swiper = this;\n swiper.scrollbar.updateSize();\n },\n observerUpdate: function observerUpdate() {\n var swiper = this;\n swiper.scrollbar.updateSize();\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n swiper.scrollbar.setTranslate();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n swiper.scrollbar.setTransition(duration);\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.scrollbar.destroy();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/scrollbar/scrollbar.js?");
  1495. /***/ }),
  1496. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/thumbs/thumbs.js":
  1497. /*!********************************************************************************************!*\
  1498. !*** ./node_modules/framework7/components/swiper/swiper-class/components/thumbs/thumbs.js ***!
  1499. \********************************************************************************************/
  1500. /*! exports provided: default */
  1501. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1502. "use strict";
  1503. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n\n\nvar Thumbs = {\n init: function init() {\n var swiper = this;\n var thumbsParams = swiper.params.thumbs;\n var SwiperClass = swiper.constructor;\n\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n } else if (_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isObject(thumbsParams.swiper)) {\n swiper.thumbs.swiper = new SwiperClass(_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({}, thumbsParams.swiper, {\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n slideToClickedSlide: false\n }));\n swiper.thumbs.swiperCreated = true;\n }\n\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);\n },\n onThumbClick: function onThumbClick() {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n var clickedIndex = thumbsSwiper.clickedIndex;\n var clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n var slideToIndex;\n\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt(Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n\n if (swiper.params.loop) {\n var currentIndex = swiper.activeIndex;\n\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n currentIndex = swiper.activeIndex;\n }\n\n var prevIndex = swiper.slides.eq(currentIndex).prevAll(\"[data-swiper-slide-index=\\\"\".concat(slideToIndex, \"\\\"]\")).eq(0).index();\n var nextIndex = swiper.slides.eq(currentIndex).nextAll(\"[data-swiper-slide-index=\\\"\".concat(slideToIndex, \"\\\"]\")).eq(0).index();\n if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex;\n }\n\n swiper.slideTo(slideToIndex);\n },\n update: function update(initial) {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n var slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n\n if (swiper.realIndex !== thumbsSwiper.realIndex) {\n var currentThumbsIndex = thumbsSwiper.activeIndex;\n var newThumbsIndex;\n\n if (thumbsSwiper.params.loop) {\n if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\n thumbsSwiper.loopFix(); // eslint-disable-next-line\n\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\n currentThumbsIndex = thumbsSwiper.activeIndex;\n } // Find actual thumbs index to slide to\n\n\n var prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(\"[data-swiper-slide-index=\\\"\".concat(swiper.realIndex, \"\\\"]\")).eq(0).index();\n var nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(\"[data-swiper-slide-index=\\\"\".concat(swiper.realIndex, \"\\\"]\")).eq(0).index();\n if (typeof prevThumbsIndex === 'undefined') newThumbsIndex = nextThumbsIndex;else if (typeof nextThumbsIndex === 'undefined') newThumbsIndex = prevThumbsIndex;else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) newThumbsIndex = currentThumbsIndex;else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) newThumbsIndex = nextThumbsIndex;else newThumbsIndex = prevThumbsIndex;\n } else {\n newThumbsIndex = swiper.realIndex;\n }\n\n if (thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - slidesPerView + 1;\n }\n\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n } // Activate thumbs\n\n\n var thumbsToActivate = 1;\n var thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n\n thumbsSwiper.slides.removeClass(thumbActiveClass);\n\n if (thumbsSwiper.params.loop) {\n for (var i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\".concat(swiper.realIndex + i, \"\\\"]\")).addClass(thumbActiveClass);\n }\n } else {\n for (var _i = 0; _i < thumbsToActivate; _i += 1) {\n thumbsSwiper.slides.eq(swiper.realIndex + _i).addClass(thumbActiveClass);\n }\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'thumbs',\n params: {\n thumbs: {\n swiper: null,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-container-thumbs'\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(swiper, {\n thumbs: {\n swiper: null,\n init: Thumbs.init.bind(swiper),\n update: Thumbs.update.bind(swiper),\n onThumbClick: Thumbs.onThumbClick.bind(swiper)\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n var thumbs = swiper.params.thumbs;\n if (!thumbs || !thumbs.swiper) return;\n swiper.thumbs.init();\n swiper.thumbs.update(true);\n },\n slideChange: function slideChange() {\n var swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n update: function update() {\n var swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n resize: function resize() {\n var swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n observerUpdate: function observerUpdate() {\n var swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n thumbsSwiper.setTransition(duration);\n },\n beforeDestroy: function beforeDestroy() {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n\n if (swiper.thumbs.swiperCreated && thumbsSwiper) {\n thumbsSwiper.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/thumbs/thumbs.js?");
  1504. /***/ }),
  1505. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/virtual/virtual.js":
  1506. /*!**********************************************************************************************!*\
  1507. !*** ./node_modules/framework7/components/swiper/swiper-class/components/virtual/virtual.js ***!
  1508. \**********************************************************************************************/
  1509. /*! exports provided: default */
  1510. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1511. "use strict";
  1512. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\nvar Virtual = {\n update: function update(force) {\n var swiper = this;\n var _swiper$params = swiper.params,\n slidesPerView = _swiper$params.slidesPerView,\n slidesPerGroup = _swiper$params.slidesPerGroup,\n centeredSlides = _swiper$params.centeredSlides;\n var _swiper$params$virtua = swiper.params.virtual,\n addSlidesBefore = _swiper$params$virtua.addSlidesBefore,\n addSlidesAfter = _swiper$params$virtua.addSlidesAfter;\n var _swiper$virtual = swiper.virtual,\n previousFrom = _swiper$virtual.from,\n previousTo = _swiper$virtual.to,\n slides = _swiper$virtual.slides,\n previousSlidesGrid = _swiper$virtual.slidesGrid,\n renderSlide = _swiper$virtual.renderSlide,\n previousOffset = _swiper$virtual.offset;\n swiper.updateActiveIndex();\n var activeIndex = swiper.activeIndex || 0;\n var offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n var slidesAfter;\n var slidesBefore;\n\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesBefore;\n slidesBefore = slidesPerGroup + addSlidesAfter;\n }\n\n var from = Math.max((activeIndex || 0) - slidesBefore, 0);\n var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\n var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.virtual, {\n from: from,\n to: to,\n offset: offset,\n slidesGrid: swiper.slidesGrid\n });\n\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n }\n\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.css(offsetProp, \"\".concat(offset, \"px\"));\n }\n\n swiper.updateProgress();\n return;\n }\n\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset: offset,\n from: from,\n to: to,\n slides: function getSlides() {\n var slidesToRender = [];\n\n for (var i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n\n return slidesToRender;\n }()\n });\n onRendered();\n return;\n }\n\n var prependIndexes = [];\n var appendIndexes = [];\n\n if (force) {\n swiper.$wrapperEl.find(\".\".concat(swiper.params.slideClass)).remove();\n } else {\n for (var i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n swiper.$wrapperEl.find(\".\".concat(swiper.params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(i, \"\\\"]\")).remove();\n }\n }\n }\n\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (_i >= from && _i <= to) {\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(_i);\n } else {\n if (_i > previousTo) appendIndexes.push(_i);\n if (_i < previousFrom) prependIndexes.push(_i);\n }\n }\n }\n\n appendIndexes.forEach(function (index) {\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\n });\n prependIndexes.sort(function (a, b) {\n return b - a;\n }).forEach(function (index) {\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\n });\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, \"\".concat(offset, \"px\"));\n onRendered();\n },\n renderSlide: function renderSlide(slide, index) {\n var swiper = this;\n var params = swiper.params.virtual;\n\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n\n var $slideEl = params.renderSlide ? Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(params.renderSlide.call(swiper, slide, index)) : Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"\".concat(swiper.params.slideClass, \"\\\" data-swiper-slide-index=\\\"\").concat(index, \"\\\">\").concat(slide, \"</div>\"));\n if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);\n if (params.cache) swiper.virtual.cache[index] = $slideEl;\n return $slideEl;\n },\n appendSlide: function appendSlide(slides) {\n var swiper = this;\n\n if (_typeof(slides) === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n\n swiper.virtual.update(true);\n },\n prependSlide: function prependSlide(slides) {\n var swiper = this;\n var activeIndex = swiper.activeIndex;\n var newActiveIndex = activeIndex + 1;\n var numberOfNewSlides = 1;\n\n if (Array.isArray(slides)) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n\n if (swiper.params.virtual.cache) {\n var cache = swiper.virtual.cache;\n var newCache = {};\n Object.keys(cache).forEach(function (cachedIndex) {\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cache[cachedIndex];\n });\n swiper.virtual.cache = newCache;\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(newActiveIndex, 0);\n },\n removeSlide: function removeSlide(slidesIndexes) {\n var swiper = this;\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n var activeIndex = swiper.activeIndex;\n\n if (Array.isArray(slidesIndexes)) {\n for (var i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n }\n\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n swiper.virtual.slides.splice(slidesIndexes, 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n }\n\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(activeIndex, 0);\n },\n removeAllSlides: function removeAllSlides() {\n var swiper = this;\n swiper.virtual.slides = [];\n\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(0, 0);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'virtual',\n params: {\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n virtual: {\n update: Virtual.update.bind(swiper),\n appendSlide: Virtual.appendSlide.bind(swiper),\n prependSlide: Virtual.prependSlide.bind(swiper),\n removeSlide: Virtual.removeSlide.bind(swiper),\n removeAllSlides: Virtual.removeAllSlides.bind(swiper),\n renderSlide: Virtual.renderSlide.bind(swiper),\n slides: swiper.params.virtual.slides,\n cache: {}\n }\n });\n },\n on: {\n beforeInit: function beforeInit() {\n var swiper = this;\n if (!swiper.params.virtual.enabled) return;\n swiper.classNames.push(\"\".concat(swiper.params.containerModifierClass, \"virtual\"));\n var overwriteParams = {\n watchSlidesProgress: true\n };\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.params, overwriteParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper.originalParams, overwriteParams);\n\n if (!swiper.params.initialSlide) {\n swiper.virtual.update();\n }\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n if (!swiper.params.virtual.enabled) return;\n swiper.virtual.update();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/virtual/virtual.js?");
  1513. /***/ }),
  1514. /***/ "./node_modules/framework7/components/swiper/swiper-class/components/zoom/zoom.js":
  1515. /*!****************************************************************************************!*\
  1516. !*** ./node_modules/framework7/components/swiper/swiper-class/components/zoom/zoom.js ***!
  1517. \****************************************************************************************/
  1518. /*! exports provided: default */
  1519. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1520. "use strict";
  1521. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/dom */ \"./node_modules/framework7/components/swiper/swiper-class/utils/dom.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/components/swiper/swiper-class/utils/device.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n\n\n\nvar Zoom = {\n // Calc Scale From Multi-touches\n getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {\n if (e.targetTouches.length < 2) return 1;\n var x1 = e.targetTouches[0].pageX;\n var y1 = e.targetTouches[0].pageY;\n var x2 = e.targetTouches[1].pageX;\n var y2 = e.targetTouches[1].pageY;\n var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\n return distance;\n },\n // Events\n onGestureStart: function onGestureStart(e) {\n var swiper = this;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {\n return;\n }\n\n zoom.fakeGestureTouched = true;\n gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\n gesture.$slideEl = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.swiper-slide');\n if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\".concat(params.containerClass));\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (gesture.$imageWrapEl.length === 0) {\n gesture.$imageEl = undefined;\n return;\n }\n }\n\n gesture.$imageEl.transition(0);\n swiper.zoom.isScaling = true;\n },\n onGestureChange: function onGestureChange(e) {\n var swiper = this;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {\n return;\n }\n\n zoom.fakeGestureMoved = true;\n gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n zoom.scale = e.scale * zoom.currentScale;\n } else {\n zoom.scale = gesture.scaleMove / gesture.scaleStart * zoom.currentScale;\n }\n\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + Math.pow(zoom.scale - gesture.maxRatio + 1, 0.5);\n }\n\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - Math.pow(params.minRatio - zoom.scale + 1, 0.5);\n }\n\n gesture.$imageEl.transform(\"translate3d(0,0,0) scale(\".concat(zoom.scale, \")\"));\n },\n onGestureEnd: function onGestureEnd(e) {\n var swiper = this;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {\n return;\n }\n\n if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !_utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].android) {\n return;\n }\n\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.$imageEl.transition(swiper.params.speed).transform(\"translate3d(0,0,0) scale(\".concat(zoom.scale, \")\"));\n zoom.currentScale = zoom.scale;\n zoom.isScaling = false;\n if (zoom.scale === 1) gesture.$slideEl = undefined;\n },\n onTouchStart: function onTouchStart(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (image.isTouched) return;\n if (_utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].android) e.preventDefault();\n image.isTouched = true;\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n },\n onTouchMove: function onTouchMove(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image,\n velocity = zoom.velocity;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n swiper.allowClick = false;\n if (!image.isTouched || !gesture.$slideEl) return;\n\n if (!image.isMoved) {\n image.width = gesture.$imageEl[0].offsetWidth;\n image.height = gesture.$imageEl[0].offsetHeight;\n image.startX = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\n image.startY = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\n gesture.$imageWrapEl.transition(0);\n\n if (swiper.rtl) {\n image.startX = -image.startX;\n image.startY = -image.startY;\n }\n } // Define if we need image drag\n\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!image.isMoved && !zoom.isScaling) {\n if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\n image.isTouched = false;\n return;\n }\n\n if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\n image.isTouched = false;\n return;\n }\n }\n\n e.preventDefault();\n e.stopPropagation();\n image.isMoved = true;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;\n\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - Math.pow(image.minX - image.currentX + 1, 0.8);\n }\n\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + Math.pow(image.currentX - image.maxX + 1, 0.8);\n }\n\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - Math.pow(image.minY - image.currentY + 1, 0.8);\n }\n\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + Math.pow(image.currentY - image.maxY + 1, 0.8);\n } // Velocity\n\n\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n gesture.$imageWrapEl.transform(\"translate3d(\".concat(image.currentX, \"px, \").concat(image.currentY, \"px,0)\"));\n },\n onTouchEnd: function onTouchEnd() {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image,\n velocity = zoom.velocity;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n\n image.isTouched = false;\n image.isMoved = false;\n var momentumDurationX = 300;\n var momentumDurationY = 300;\n var momentumDistanceX = velocity.x * momentumDurationX;\n var newPositionX = image.currentX + momentumDistanceX;\n var momentumDistanceY = velocity.y * momentumDurationY;\n var newPositionY = image.currentY + momentumDistanceY; // Fix duration\n\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n image.currentX = newPositionX;\n image.currentY = newPositionY; // Define if we need image drag\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n gesture.$imageWrapEl.transition(momentumDuration).transform(\"translate3d(\".concat(image.currentX, \"px, \").concat(image.currentY, \"px,0)\"));\n },\n onTransitionEnd: function onTransitionEnd() {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\n zoom.scale = 1;\n zoom.currentScale = 1;\n gesture.$slideEl = undefined;\n gesture.$imageEl = undefined;\n gesture.$imageWrapEl = undefined;\n }\n },\n // Toggle Zoom\n toggle: function toggle(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoom.out();\n } else {\n // Zoom In\n zoom.in(e);\n }\n },\n in: function _in(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n var gesture = zoom.gesture,\n image = zoom.image;\n\n if (!gesture.$slideEl) {\n gesture.$slideEl = swiper.clickedSlide ? Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\".concat(params.containerClass));\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n gesture.$slideEl.addClass(\"\".concat(params.zoomedSlideClass));\n var touchX;\n var touchY;\n var offsetX;\n var offsetY;\n var diffX;\n var diffY;\n var translateX;\n var translateY;\n var imageWidth;\n var imageHeight;\n var scaledWidth;\n var scaledHeight;\n var translateMinX;\n var translateMinY;\n var translateMaxX;\n var translateMaxY;\n var slideWidth;\n var slideHeight;\n\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (e) {\n slideWidth = gesture.$slideEl[0].offsetWidth;\n slideHeight = gesture.$slideEl[0].offsetHeight;\n offsetX = gesture.$slideEl.offset().left;\n offsetY = gesture.$slideEl.offset().top;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n imageWidth = gesture.$imageEl[0].offsetWidth;\n imageHeight = gesture.$imageEl[0].offsetHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n\n gesture.$imageWrapEl.transition(300).transform(\"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px,0)\"));\n gesture.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(\".concat(zoom.scale, \")\"));\n },\n out: function out() {\n var swiper = this;\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n var gesture = zoom.gesture;\n\n if (!gesture.$slideEl) {\n gesture.$slideEl = swiper.clickedSlide ? Object(_utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\".concat(params.containerClass));\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = 1;\n zoom.currentScale = 1;\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\n gesture.$slideEl.removeClass(\"\".concat(params.zoomedSlideClass));\n gesture.$slideEl = undefined;\n },\n // Attach/Detach Events\n enable: function enable() {\n var swiper = this;\n var zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n var passiveListener = swiper.touchEvents.start === 'touchstart' && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false; // Scale image\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n swiper.$wrapperEl.on('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.on('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.on('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.on(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } // Move image\n\n\n swiper.$wrapperEl.on(swiper.touchEvents.move, \".\".concat(swiper.params.zoom.containerClass), zoom.onTouchMove);\n },\n disable: function disable() {\n var swiper = this;\n var zoom = swiper.zoom;\n if (!zoom.enabled) return;\n swiper.zoom.enabled = false;\n var passiveListener = swiper.touchEvents.start === 'touchstart' && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false; // Scale image\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gestures) {\n swiper.$wrapperEl.off('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.off('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.off('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.off(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } // Move image\n\n\n swiper.$wrapperEl.off(swiper.touchEvents.move, \".\".concat(swiper.params.zoom.containerClass), zoom.onTouchMove);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'zoom',\n params: {\n zoom: {\n enabled: false,\n maxRatio: 3,\n minRatio: 1,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed'\n }\n },\n create: function create() {\n var swiper = this;\n var zoom = {\n enabled: false,\n scale: 1,\n currentScale: 1,\n isScaling: false,\n gesture: {\n $slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n $imageEl: undefined,\n $imageWrapEl: undefined,\n maxRatio: 3\n },\n image: {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n },\n velocity: {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n }\n };\n 'onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out'.split(' ').forEach(function (methodName) {\n zoom[methodName] = Zoom[methodName].bind(swiper);\n });\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n zoom: zoom\n });\n var scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get: function get() {\n return scale;\n },\n set: function set(value) {\n if (scale !== value) {\n var imageEl = swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0] : undefined;\n var slideEl = swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0] : undefined;\n swiper.emit('zoomChange', value, imageEl, slideEl);\n }\n\n scale = value;\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n\n if (swiper.params.zoom.enabled) {\n swiper.zoom.enable();\n }\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.zoom.disable();\n },\n touchStart: function touchStart(e) {\n var swiper = this;\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchStart(e);\n },\n touchEnd: function touchEnd(e) {\n var swiper = this;\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchEnd(e);\n },\n doubleTap: function doubleTap(e) {\n var swiper = this;\n\n if (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n swiper.zoom.toggle(e);\n }\n },\n transitionEnd: function transitionEnd() {\n var swiper = this;\n\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n swiper.zoom.onTransitionEnd();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/components/zoom/zoom.js?");
  1522. /***/ }),
  1523. /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/browser/browser.js":
  1524. /*!*******************************************************************************************!*\
  1525. !*** ./node_modules/framework7/components/swiper/swiper-class/modules/browser/browser.js ***!
  1526. \*******************************************************************************************/
  1527. /*! exports provided: default */
  1528. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1529. "use strict";
  1530. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/browser */ \"./node_modules/framework7/components/swiper/swiper-class/utils/browser.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'browser',\n proto: {\n browser: _utils_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n static: {\n browser: _utils_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/browser/browser.js?");
  1531. /***/ }),
  1532. /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/device/device.js":
  1533. /*!*****************************************************************************************!*\
  1534. !*** ./node_modules/framework7/components/swiper/swiper-class/modules/device/device.js ***!
  1535. \*****************************************************************************************/
  1536. /*! exports provided: default */
  1537. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1538. "use strict";
  1539. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/components/swiper/swiper-class/utils/device.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'device',\n proto: {\n device: _utils_device__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n static: {\n device: _utils_device__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/device/device.js?");
  1540. /***/ }),
  1541. /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/observer/observer.js":
  1542. /*!*********************************************************************************************!*\
  1543. !*** ./node_modules/framework7/components/swiper/swiper-class/modules/observer/observer.js ***!
  1544. \*********************************************************************************************/
  1545. /*! exports provided: default */
  1546. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1547. "use strict";
  1548. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n\n\nvar Observer = {\n func: ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].MutationObserver || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].WebkitMutationObserver,\n attach: function attach(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var swiper = this;\n var ObserverFunc = Observer.func;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].requestAnimationFrame) {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].requestAnimationFrame(observerUpdate);\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n observer: {\n init: Observer.init.bind(swiper),\n attach: Observer.attach.bind(swiper),\n destroy: Observer.destroy.bind(swiper),\n observers: []\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this;\n swiper.observer.init();\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.destroy();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/observer/observer.js?");
  1549. /***/ }),
  1550. /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/resize/resize.js":
  1551. /*!*****************************************************************************************!*\
  1552. !*** ./node_modules/framework7/components/swiper/swiper-class/modules/resize/resize.js ***!
  1553. \*****************************************************************************************/
  1554. /*! exports provided: default */
  1555. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1556. "use strict";
  1557. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/components/swiper/swiper-class/utils/utils.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'resize',\n create: function create() {\n var swiper = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(swiper, {\n resize: {\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init() {\n var swiper = this; // Emit resize\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy() {\n var swiper = this;\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].removeEventListener('resize', swiper.resize.resizeHandler);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/resize/resize.js?");
  1558. /***/ }),
  1559. /***/ "./node_modules/framework7/components/swiper/swiper-class/modules/support/support.js":
  1560. /*!*******************************************************************************************!*\
  1561. !*** ./node_modules/framework7/components/swiper/swiper-class/modules/support/support.js ***!
  1562. \*******************************************************************************************/
  1563. /*! exports provided: default */
  1564. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1565. "use strict";
  1566. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/components/swiper/swiper-class/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'support',\n proto: {\n support: _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n static: {\n support: _utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/modules/support/support.js?");
  1567. /***/ }),
  1568. /***/ "./node_modules/framework7/components/swiper/swiper-class/swiper.js":
  1569. /*!**************************************************************************!*\
  1570. !*** ./node_modules/framework7/components/swiper/swiper-class/swiper.js ***!
  1571. \**************************************************************************/
  1572. /*! exports provided: default */
  1573. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1574. "use strict";
  1575. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_core_core_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/core/core-class */ \"./node_modules/framework7/components/swiper/swiper-class/components/core/core-class.js\");\n/* harmony import */ var _modules_device_device__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/device/device */ \"./node_modules/framework7/components/swiper/swiper-class/modules/device/device.js\");\n/* harmony import */ var _modules_support_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/support/support */ \"./node_modules/framework7/components/swiper/swiper-class/modules/support/support.js\");\n/* harmony import */ var _modules_browser_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/browser/browser */ \"./node_modules/framework7/components/swiper/swiper-class/modules/browser/browser.js\");\n/* harmony import */ var _modules_resize_resize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/resize/resize */ \"./node_modules/framework7/components/swiper/swiper-class/modules/resize/resize.js\");\n/* harmony import */ var _modules_observer_observer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/observer/observer */ \"./node_modules/framework7/components/swiper/swiper-class/modules/observer/observer.js\");\n/* harmony import */ var _components_virtual_virtual__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/virtual/virtual */ \"./node_modules/framework7/components/swiper/swiper-class/components/virtual/virtual.js\");\n/* harmony import */ var _components_navigation_navigation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/navigation/navigation */ \"./node_modules/framework7/components/swiper/swiper-class/components/navigation/navigation.js\");\n/* harmony import */ var _components_pagination_pagination__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/pagination/pagination */ \"./node_modules/framework7/components/swiper/swiper-class/components/pagination/pagination.js\");\n/* harmony import */ var _components_scrollbar_scrollbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/scrollbar/scrollbar */ \"./node_modules/framework7/components/swiper/swiper-class/components/scrollbar/scrollbar.js\");\n/* harmony import */ var _components_parallax_parallax__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/parallax/parallax */ \"./node_modules/framework7/components/swiper/swiper-class/components/parallax/parallax.js\");\n/* harmony import */ var _components_zoom_zoom__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/zoom/zoom */ \"./node_modules/framework7/components/swiper/swiper-class/components/zoom/zoom.js\");\n/* harmony import */ var _components_lazy_lazy__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/lazy/lazy */ \"./node_modules/framework7/components/swiper/swiper-class/components/lazy/lazy.js\");\n/* harmony import */ var _components_controller_controller__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/controller/controller */ \"./node_modules/framework7/components/swiper/swiper-class/components/controller/controller.js\");\n/* harmony import */ var _components_a11y_a11y__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/a11y/a11y */ \"./node_modules/framework7/components/swiper/swiper-class/components/a11y/a11y.js\");\n/* harmony import */ var _components_autoplay_autoplay__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/autoplay/autoplay */ \"./node_modules/framework7/components/swiper/swiper-class/components/autoplay/autoplay.js\");\n/* harmony import */ var _components_effect_fade_effect_fade__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/effect-fade/effect-fade */ \"./node_modules/framework7/components/swiper/swiper-class/components/effect-fade/effect-fade.js\");\n/* harmony import */ var _components_effect_cube_effect_cube__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./components/effect-cube/effect-cube */ \"./node_modules/framework7/components/swiper/swiper-class/components/effect-cube/effect-cube.js\");\n/* harmony import */ var _components_effect_flip_effect_flip__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./components/effect-flip/effect-flip */ \"./node_modules/framework7/components/swiper/swiper-class/components/effect-flip/effect-flip.js\");\n/* harmony import */ var _components_effect_coverflow_effect_coverflow__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./components/effect-coverflow/effect-coverflow */ \"./node_modules/framework7/components/swiper/swiper-class/components/effect-coverflow/effect-coverflow.js\");\n/* harmony import */ var _components_thumbs_thumbs__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./components/thumbs/thumbs */ \"./node_modules/framework7/components/swiper/swiper-class/components/thumbs/thumbs.js\");\n// Swiper Class\n // Core Modules\n\n\n\n\n\n // Components\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_components_core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use([_modules_device_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _modules_browser_browser__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _modules_support_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _modules_resize_resize__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _modules_observer_observer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _components_virtual_virtual__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _components_navigation_navigation__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _components_pagination_pagination__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _components_scrollbar_scrollbar__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _components_parallax_parallax__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _components_zoom_zoom__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _components_lazy_lazy__WEBPACK_IMPORTED_MODULE_12__[\"default\"], _components_controller_controller__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _components_a11y_a11y__WEBPACK_IMPORTED_MODULE_14__[\"default\"], _components_autoplay_autoplay__WEBPACK_IMPORTED_MODULE_15__[\"default\"], _components_effect_fade_effect_fade__WEBPACK_IMPORTED_MODULE_16__[\"default\"], _components_effect_cube_effect_cube__WEBPACK_IMPORTED_MODULE_17__[\"default\"], _components_effect_flip_effect_flip__WEBPACK_IMPORTED_MODULE_18__[\"default\"], _components_effect_coverflow_effect_coverflow__WEBPACK_IMPORTED_MODULE_19__[\"default\"], _components_thumbs_thumbs__WEBPACK_IMPORTED_MODULE_20__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (_components_core_core_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/swiper.js?");
  1576. /***/ }),
  1577. /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/browser.js":
  1578. /*!*********************************************************************************!*\
  1579. !*** ./node_modules/framework7/components/swiper/swiper-class/utils/browser.js ***!
  1580. \*********************************************************************************/
  1581. /*! exports provided: default */
  1582. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1583. "use strict";
  1584. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n\n\nvar Browser = function Browser() {\n function isSafari() {\n var ua = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isIE: !!ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.userAgent.match(/Trident/g) || !!ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.userAgent.match(/MSIE/g),\n isSafari: isSafari(),\n isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.userAgent)\n };\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Browser);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/browser.js?");
  1585. /***/ }),
  1586. /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/class.js":
  1587. /*!*******************************************************************************!*\
  1588. !*** ./node_modules/framework7/components/swiper/swiper-class/utils/class.js ***!
  1589. \*******************************************************************************/
  1590. /*! exports provided: default */
  1591. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1592. "use strict";
  1593. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_utils_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/class.js?");
  1594. /***/ }),
  1595. /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/device.js":
  1596. /*!********************************************************************************!*\
  1597. !*** ./node_modules/framework7/components/swiper/swiper-class/utils/device.js ***!
  1598. \********************************************************************************/
  1599. /*! exports provided: default */
  1600. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1601. "use strict";
  1602. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_utils_device__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/device.js?");
  1603. /***/ }),
  1604. /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/dom.js":
  1605. /*!*****************************************************************************!*\
  1606. !*** ./node_modules/framework7/components/swiper/swiper-class/utils/dom.js ***!
  1607. \*****************************************************************************/
  1608. /*! exports provided: default */
  1609. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1610. "use strict";
  1611. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/dom.js?");
  1612. /***/ }),
  1613. /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/support.js":
  1614. /*!*********************************************************************************!*\
  1615. !*** ./node_modules/framework7/components/swiper/swiper-class/utils/support.js ***!
  1616. \*********************************************************************************/
  1617. /*! exports provided: default */
  1618. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1619. "use strict";
  1620. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_utils_support__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/support.js?");
  1621. /***/ }),
  1622. /***/ "./node_modules/framework7/components/swiper/swiper-class/utils/utils.js":
  1623. /*!*******************************************************************************!*\
  1624. !*** ./node_modules/framework7/components/swiper/swiper-class/utils/utils.js ***!
  1625. \*******************************************************************************/
  1626. /*! exports provided: default */
  1627. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1628. "use strict";
  1629. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper-class/utils/utils.js?");
  1630. /***/ }),
  1631. /***/ "./node_modules/framework7/components/swiper/swiper.js":
  1632. /*!*************************************************************!*\
  1633. !*** ./node_modules/framework7/components/swiper/swiper.js ***!
  1634. \*************************************************************/
  1635. /*! exports provided: default */
  1636. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1637. "use strict";
  1638. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _swiper_class_swiper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./swiper-class/swiper */ \"./node_modules/framework7/components/swiper/swiper-class/swiper.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n\nif (false) {}\n\nfunction initSwiper(swiperEl) {\n var app = this;\n var $swiperEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(swiperEl);\n if ($swiperEl.length === 0) return;\n if ($swiperEl[0].swiper) return;\n var initialSlide;\n var params = {};\n var isTabs;\n var isRoutableTabs;\n\n if ($swiperEl.hasClass('tabs-swipeable-wrap')) {\n $swiperEl.addClass('swiper-container').children('.tabs').addClass('swiper-wrapper').children('.tab').addClass('swiper-slide');\n initialSlide = $swiperEl.children('.tabs').children('.tab-active').index();\n isTabs = true;\n isRoutableTabs = $swiperEl.find('.tabs-routable').length > 0;\n }\n\n if ($swiperEl.attr('data-swiper')) {\n params = JSON.parse($swiperEl.attr('data-swiper'));\n } else {\n params = $swiperEl.dataset();\n Object.keys(params).forEach(function (key) {\n var value = params[key];\n\n if (typeof value === 'string' && value.indexOf('{') === 0 && value.indexOf('}') > 0) {\n try {\n params[key] = JSON.parse(value);\n } catch (e) {// not JSON\n }\n }\n });\n }\n\n if (typeof params.initialSlide === 'undefined' && typeof initialSlide !== 'undefined') {\n params.initialSlide = initialSlide;\n }\n\n var swiper = app.swiper.create($swiperEl[0], params);\n\n if (isTabs) {\n swiper.on('slideChange', function () {\n if (isRoutableTabs) {\n var view = app.views.get($swiperEl.parents('.view'));\n if (!view) view = app.views.main;\n var router = view.router;\n var tabRoute = router.findTabRoute(swiper.slides.eq(swiper.activeIndex)[0]);\n\n if (tabRoute) {\n setTimeout(function () {\n router.navigate(tabRoute.path);\n }, 0);\n }\n } else {\n app.tab.show({\n tabEl: swiper.slides.eq(swiper.activeIndex)\n });\n }\n });\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'swiper',\n static: {\n Swiper: _swiper_class_swiper__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.swiper = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.swiper-container',\n constructor: _swiper_class_swiper__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n domProp: 'swiper'\n });\n },\n on: {\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n app.swiper.destroy(swiperEl);\n });\n },\n pageMounted: function pageMounted(page) {\n var app = this;\n page.$el.find('.tabs-swipeable-wrap').each(function (index, swiperEl) {\n initSwiper.call(app, swiperEl);\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n initSwiper.call(app, swiperEl);\n });\n },\n pageReinit: function pageReinit(page) {\n var app = this;\n page.$el.find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n var swiper = app.swiper.get(swiperEl);\n if (swiper && swiper.update) swiper.update();\n });\n },\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n initSwiper.call(app, swiperEl);\n });\n },\n tabShow: function tabShow(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n var swiper = app.swiper.get(swiperEl);\n if (swiper && swiper.update) swiper.update();\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.swiper-init, .tabs-swipeable-wrap').each(function (index, swiperEl) {\n app.swiper.destroy(swiperEl);\n });\n }\n },\n vnode: {\n 'swiper-init': {\n insert: function insert(vnode) {\n var app = this;\n var swiperEl = vnode.elm;\n initSwiper.call(app, swiperEl);\n },\n destroy: function destroy(vnode) {\n var app = this;\n var swiperEl = vnode.elm;\n app.swiper.destroy(swiperEl);\n }\n },\n 'tabs-swipeable-wrap': {\n insert: function insert(vnode) {\n var app = this;\n var swiperEl = vnode.elm;\n initSwiper.call(app, swiperEl);\n },\n destroy: function destroy(vnode) {\n var app = this;\n var swiperEl = vnode.elm;\n app.swiper.destroy(swiperEl);\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/swiper/swiper.js?");
  1639. /***/ }),
  1640. /***/ "./node_modules/framework7/components/tabs/tabs.js":
  1641. /*!*********************************************************!*\
  1642. !*** ./node_modules/framework7/components/tabs/tabs.js ***!
  1643. \*********************************************************/
  1644. /*! exports provided: default */
  1645. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1646. "use strict";
  1647. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Tab = {\n show: function show() {\n var app = this;\n var tabEl;\n var tabLinkEl;\n var animate;\n var tabRoute;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor === Object) {\n tabEl = args[0].tabEl;\n tabLinkEl = args[0].tabLinkEl;\n animate = args[0].animate;\n tabRoute = args[0].tabRoute;\n } else {\n tabEl = args[0];\n tabLinkEl = args[1];\n animate = args[2];\n tabRoute = args[3];\n\n if (typeof args[1] === 'boolean') {\n tabEl = args[0];\n animate = args[1];\n tabLinkEl = args[2];\n tabRoute = args[3];\n\n if (args.length > 2 && tabLinkEl.constructor === Object) {\n tabEl = args[0];\n animate = args[1];\n tabRoute = args[2];\n tabLinkEl = args[3];\n }\n }\n }\n\n if (typeof animate === 'undefined') animate = true;\n var $newTabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl);\n\n if (tabRoute && $newTabEl[0]) {\n $newTabEl[0].f7TabRoute = tabRoute;\n }\n\n if ($newTabEl.length === 0 || $newTabEl.hasClass('tab-active')) {\n return {\n $newTabEl: $newTabEl,\n newTabEl: $newTabEl[0]\n };\n }\n\n var $tabLinkEl;\n if (tabLinkEl) $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkEl);\n var $tabsEl = $newTabEl.parent('.tabs');\n\n if ($tabsEl.length === 0) {\n return {\n $newTabEl: $newTabEl,\n newTabEl: $newTabEl[0]\n };\n } // Release swipeouts in hidden tabs\n\n\n if (app.swipeout) app.swipeout.allowOpen = true; // Animated tabs\n\n var tabsChangedCallbacks = [];\n\n function onTabsChanged(callback) {\n tabsChangedCallbacks.push(callback);\n }\n\n function tabsChanged() {\n tabsChangedCallbacks.forEach(function (callback) {\n callback();\n });\n }\n\n var animated = false;\n\n if ($tabsEl.parent().hasClass('tabs-animated-wrap')) {\n $tabsEl.parent()[animate ? 'removeClass' : 'addClass']('not-animated');\n var transitionDuration = parseFloat($tabsEl.css('transition-duration').replace(',', '.'));\n\n if (animate && transitionDuration) {\n $tabsEl.transitionEnd(tabsChanged);\n animated = true;\n }\n\n var tabsTranslate = (app.rtl ? $newTabEl.index() : -$newTabEl.index()) * 100;\n $tabsEl.transform(\"translate3d(\".concat(tabsTranslate, \"%,0,0)\"));\n } // Swipeable tabs\n\n\n var swiper;\n\n if ($tabsEl.parent().hasClass('tabs-swipeable-wrap') && app.swiper) {\n swiper = $tabsEl.parent()[0].swiper;\n\n if (swiper && swiper.activeIndex !== $newTabEl.index()) {\n animated = true;\n swiper.once('slideChangeTransitionEnd', function () {\n tabsChanged();\n }).slideTo($newTabEl.index(), animate ? undefined : 0);\n } else if (swiper && swiper.animating) {\n animated = true;\n swiper.once('slideChangeTransitionEnd', function () {\n tabsChanged();\n });\n }\n } // Remove active class from old tabs\n\n\n var $oldTabEl = $tabsEl.children('.tab-active');\n $oldTabEl.removeClass('tab-active');\n\n if (!swiper || swiper && !swiper.animating || swiper && tabRoute) {\n $oldTabEl.trigger('tab:hide');\n app.emit('tabHide', $oldTabEl[0]);\n } // Trigger 'show' event on new tab\n\n\n $newTabEl.addClass('tab-active');\n\n if (!swiper || swiper && !swiper.animating || swiper && tabRoute) {\n $newTabEl.trigger('tab:show');\n app.emit('tabShow', $newTabEl[0]);\n } // Find related link for new tab\n\n\n if (!$tabLinkEl) {\n // Search by id\n if (typeof tabEl === 'string') $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[href=\\\"\".concat(tabEl, \"\\\"]\"));else $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[href=\\\"#\".concat($newTabEl.attr('id'), \"\\\"]\")); // Search by data-tab\n\n if (!$tabLinkEl || $tabLinkEl && $tabLinkEl.length === 0) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('[data-tab]').each(function (index, el) {\n if ($newTabEl.is(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tab'))) $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n });\n }\n\n if (tabRoute && (!$tabLinkEl || $tabLinkEl && $tabLinkEl.length === 0)) {\n $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"[data-route-tab-id=\\\"\".concat(tabRoute.route.tab.id, \"\\\"]\"));\n\n if ($tabLinkEl.length === 0) {\n $tabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[href=\\\"\".concat(tabRoute.url, \"\\\"]\"));\n }\n }\n\n if ($tabLinkEl.length > 1 && $newTabEl.parents('.page').length) {\n // eslint-disable-next-line\n $tabLinkEl = $tabLinkEl.filter(function (index, tabLinkElement) {\n return Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkElement).parents('.page')[0] === $newTabEl.parents('.page')[0];\n });\n\n if (app.theme === 'ios' && $tabLinkEl.length === 0 && tabRoute) {\n var $pageEl = $newTabEl.parents('.page');\n var $navbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($pageEl));\n $tabLinkEl = $navbarEl.find(\"[data-route-tab-id=\\\"\".concat(tabRoute.route.tab.id, \"\\\"]\"));\n\n if ($tabLinkEl.length === 0) {\n $tabLinkEl = $navbarEl.find(\".tab-link[href=\\\"\".concat(tabRoute.url, \"\\\"]\"));\n }\n }\n }\n }\n\n if ($tabLinkEl.length > 0) {\n // Find related link for old tab\n var $oldTabLinkEl;\n\n if ($oldTabEl && $oldTabEl.length > 0) {\n // Search by id\n var oldTabId = $oldTabEl.attr('id');\n\n if (oldTabId) {\n $oldTabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[href=\\\"#\".concat(oldTabId, \"\\\"]\")); // Search by data-route-tab-id\n\n if (!$oldTabLinkEl || $oldTabLinkEl && $oldTabLinkEl.length === 0) {\n $oldTabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\".tab-link[data-route-tab-id=\\\"\".concat(oldTabId, \"\\\"]\"));\n }\n } // Search by data-tab\n\n\n if (!$oldTabLinkEl || $oldTabLinkEl && $oldTabLinkEl.length === 0) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('[data-tab]').each(function (index, tabLinkElement) {\n if ($oldTabEl.is(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkElement).attr('data-tab'))) $oldTabLinkEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkElement);\n });\n }\n\n if (!$oldTabLinkEl || $oldTabLinkEl && $oldTabLinkEl.length === 0) {\n $oldTabLinkEl = $tabLinkEl.siblings('.tab-link-active');\n }\n } else if (tabRoute) {\n $oldTabLinkEl = $tabLinkEl.siblings('.tab-link-active');\n }\n\n if ($oldTabLinkEl && $oldTabLinkEl.length > 1 && $oldTabEl && $oldTabEl.parents('.page').length) {\n // eslint-disable-next-line\n $oldTabLinkEl = $oldTabLinkEl.filter(function (index, tabLinkElement) {\n return Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabLinkElement).parents('.page')[0] === $oldTabEl.parents('.page')[0];\n });\n }\n\n if ($oldTabLinkEl && $oldTabLinkEl.length > 0) $oldTabLinkEl.removeClass('tab-link-active'); // Update links' classes\n\n if ($tabLinkEl && $tabLinkEl.length > 0) {\n $tabLinkEl.addClass('tab-link-active'); // Material Highlight\n\n if (app.theme === 'md' && app.toolbar) {\n var $tabbarEl = $tabLinkEl.parents('.tabbar, .tabbar-labels');\n\n if ($tabbarEl.length > 0) {\n app.toolbar.setHighlight($tabbarEl);\n }\n }\n }\n }\n\n return {\n $newTabEl: $newTabEl,\n newTabEl: $newTabEl[0],\n $oldTabEl: $oldTabEl,\n oldTabEl: $oldTabEl[0],\n onTabsChanged: onTabsChanged,\n animated: animated\n };\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'tabs',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n tab: {\n show: Tab.show.bind(app)\n }\n });\n },\n clicks: {\n '.tab-link': function tabLinkClick($clickedEl) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var app = this;\n\n if ($clickedEl.attr('href') && $clickedEl.attr('href').indexOf('#') === 0 || $clickedEl.attr('data-tab')) {\n app.tab.show({\n tabEl: data.tab || $clickedEl.attr('href'),\n tabLinkEl: $clickedEl,\n animate: data.animate\n });\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/tabs/tabs.js?");
  1648. /***/ }),
  1649. /***/ "./node_modules/framework7/components/timeline/timeline.js":
  1650. /*!*****************************************************************!*\
  1651. !*** ./node_modules/framework7/components/timeline/timeline.js ***!
  1652. \*****************************************************************/
  1653. /*! exports provided: default */
  1654. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1655. "use strict";
  1656. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'timeline'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/timeline/timeline.js?");
  1657. /***/ }),
  1658. /***/ "./node_modules/framework7/components/toast/toast-class.js":
  1659. /*!*****************************************************************!*\
  1660. !*** ./node_modules/framework7/components/toast/toast-class.js ***!
  1661. \*****************************************************************/
  1662. /*! exports provided: default */
  1663. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1664. "use strict";
  1665. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modal_modal_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../modal/modal-class */ \"./node_modules/framework7/components/modal/modal-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Toast = /*#__PURE__*/function (_Modal) {\n _inherits(Toast, _Modal);\n\n var _super = _createSuper(Toast);\n\n function Toast(app, params) {\n var _this;\n\n _classCallCheck(this, Toast);\n\n var extendedParams = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({\n on: {}\n }, app.params.toast, params); // Extends with open/close Modal methods;\n\n _this = _super.call(this, app, extendedParams);\n\n var toast = _assertThisInitialized(_this);\n\n toast.app = app;\n toast.params = extendedParams;\n var _toast$params = toast.params,\n closeButton = _toast$params.closeButton,\n closeTimeout = _toast$params.closeTimeout;\n var $el;\n\n if (!toast.params.el) {\n // Find Element\n var toastHtml = toast.render();\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(toastHtml);\n } else {\n $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(toast.params.el);\n }\n\n if ($el && $el.length > 0 && $el[0].f7Modal) {\n return _possibleConstructorReturn(_this, $el[0].f7Modal);\n }\n\n if ($el.length === 0) {\n return _possibleConstructorReturn(_this, toast.destroy());\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(toast, {\n $el: $el,\n el: $el[0],\n type: 'toast'\n });\n $el[0].f7Modal = toast;\n\n if (closeButton) {\n $el.find('.toast-button').on('click', function () {\n toast.emit('local::closeButtonClick toastCloseButtonClick', toast);\n toast.close();\n });\n toast.on('beforeDestroy', function () {\n $el.find('.toast-button').off('click');\n });\n }\n\n var timeoutId;\n toast.on('open', function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.toast.modal-in').each(function (index, openedEl) {\n var toastInstance = app.toast.get(openedEl);\n\n if (openedEl !== toast.el && toastInstance) {\n toastInstance.close();\n }\n });\n\n if (closeTimeout) {\n timeoutId = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].nextTick(function () {\n toast.close();\n }, closeTimeout);\n }\n });\n toast.on('close', function () {\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].clearTimeout(timeoutId);\n });\n\n if (toast.params.destroyOnClose) {\n toast.once('closed', function () {\n setTimeout(function () {\n toast.destroy();\n }, 0);\n });\n }\n\n return _possibleConstructorReturn(_this, toast);\n }\n\n _createClass(Toast, [{\n key: \"render\",\n value: function render() {\n var toast = this;\n if (toast.params.render) return toast.params.render.call(toast, toast);\n var _toast$params2 = toast.params,\n position = _toast$params2.position,\n cssClass = _toast$params2.cssClass,\n icon = _toast$params2.icon,\n text = _toast$params2.text,\n closeButton = _toast$params2.closeButton,\n closeButtonColor = _toast$params2.closeButtonColor,\n closeButtonText = _toast$params2.closeButtonText;\n return \"\\n <div class=\\\"toast toast-\".concat(position, \" \").concat(cssClass || '', \" \").concat(icon ? 'toast-with-icon' : '', \"\\\">\\n <div class=\\\"toast-content\\\">\\n \").concat(icon ? \"<div class=\\\"toast-icon\\\">\".concat(icon, \"</div>\") : '', \"\\n <div class=\\\"toast-text\\\">\").concat(text, \"</div>\\n \").concat(closeButton && !icon ? \"\\n <a class=\\\"toast-button button \".concat(closeButtonColor ? \"color-\".concat(closeButtonColor) : '', \"\\\">\").concat(closeButtonText, \"</a>\\n \").trim() : '', \"\\n </div>\\n </div>\\n \").trim();\n }\n }]);\n\n return Toast;\n}(_modal_modal_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Toast);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toast/toast-class.js?");
  1666. /***/ }),
  1667. /***/ "./node_modules/framework7/components/toast/toast.js":
  1668. /*!***********************************************************!*\
  1669. !*** ./node_modules/framework7/components/toast/toast.js ***!
  1670. \***********************************************************/
  1671. /*! exports provided: default */
  1672. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1673. "use strict";
  1674. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _toast_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toast-class */ \"./node_modules/framework7/components/toast/toast-class.js\");\n/* harmony import */ var _utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/modal-methods */ \"./node_modules/framework7/utils/modal-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'toast',\n static: {\n Toast: _toast_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.toast = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({}, Object(_utils_modal_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n app: app,\n constructor: _toast_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n defaultSelector: '.toast.modal-in'\n }), {\n // Shortcuts\n show: function show(params) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(params, {\n destroyOnClose: true\n });\n return new _toast_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"](app, params).open();\n }\n });\n },\n params: {\n toast: {\n icon: null,\n text: null,\n position: 'bottom',\n closeButton: false,\n closeButtonColor: null,\n closeButtonText: 'Ok',\n closeTimeout: null,\n cssClass: null,\n render: null\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toast/toast.js?");
  1675. /***/ }),
  1676. /***/ "./node_modules/framework7/components/toggle/toggle-class.js":
  1677. /*!*******************************************************************!*\
  1678. !*** ./node_modules/framework7/components/toggle/toggle-class.js ***!
  1679. \*******************************************************************/
  1680. /*! exports provided: default */
  1681. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1682. "use strict";
  1683. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Toggle = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Toggle, _Framework7Class);\n\n var _super = _createSuper(Toggle);\n\n function Toggle(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Toggle);\n\n _this = _super.call(this, params, [app]);\n\n var toggle = _assertThisInitialized(_this);\n\n var defaults = {}; // Extend defaults with modules params\n\n toggle.useModulesParams(defaults);\n toggle.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var el = toggle.params.el;\n if (!el) return _possibleConstructorReturn(_this, toggle);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return _possibleConstructorReturn(_this, toggle);\n if ($el[0].f7Toggle) return _possibleConstructorReturn(_this, $el[0].f7Toggle);\n var $inputEl = $el.children('input[type=\"checkbox\"]');\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(toggle, {\n app: app,\n $el: $el,\n el: $el[0],\n $inputEl: $inputEl,\n inputEl: $inputEl[0],\n disabled: $el.hasClass('disabled') || $inputEl.hasClass('disabled') || $inputEl.attr('disabled') || $inputEl[0].disabled\n });\n Object.defineProperty(toggle, 'checked', {\n enumerable: true,\n configurable: true,\n set: function set(checked) {\n if (!toggle || typeof toggle.$inputEl === 'undefined') return;\n if (toggle.checked === checked) return;\n $inputEl[0].checked = checked;\n toggle.$inputEl.trigger('change');\n },\n get: function get() {\n return $inputEl[0].checked;\n }\n });\n $el[0].f7Toggle = toggle;\n var isTouched;\n var touchesStart = {};\n var isScrolling;\n var touchesDiff;\n var toggleWidth;\n var touchStartTime;\n var touchStartChecked;\n\n function handleTouchStart(e) {\n if (isTouched || toggle.disabled) return;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchesDiff = 0;\n isTouched = true;\n isScrolling = undefined;\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now();\n touchStartChecked = toggle.checked;\n toggleWidth = $el[0].offsetWidth;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n if (isTouched) {\n $el.addClass('toggle-active-state');\n }\n });\n }\n\n function handleTouchMove(e) {\n if (!isTouched || toggle.disabled) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n var inverter = app.rtl ? -1 : 1;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n\n if (isScrolling) {\n isTouched = false;\n return;\n }\n\n e.preventDefault();\n touchesDiff = pageX - touchesStart.x;\n var changed;\n\n if (touchesDiff * inverter < 0 && Math.abs(touchesDiff) > toggleWidth / 3 && touchStartChecked) {\n changed = true;\n }\n\n if (touchesDiff * inverter > 0 && Math.abs(touchesDiff) > toggleWidth / 3 && !touchStartChecked) {\n changed = true;\n }\n\n if (changed) {\n touchesStart.x = pageX;\n toggle.checked = !touchStartChecked;\n touchStartChecked = !touchStartChecked;\n }\n }\n\n function handleTouchEnd() {\n if (!isTouched || toggle.disabled) {\n if (isScrolling) $el.removeClass('toggle-active-state');\n isTouched = false;\n return;\n }\n\n var inverter = app.rtl ? -1 : 1;\n isTouched = false;\n $el.removeClass('toggle-active-state');\n var changed;\n\n if (_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].now() - touchStartTime < 300) {\n if (touchesDiff * inverter < 0 && touchStartChecked) {\n changed = true;\n }\n\n if (touchesDiff * inverter > 0 && !touchStartChecked) {\n changed = true;\n }\n\n if (changed) {\n toggle.checked = !touchStartChecked;\n }\n }\n }\n\n function handleInputChange() {\n toggle.$el.trigger('toggle:change', toggle);\n toggle.emit('local::change toggleChange', toggle);\n }\n\n toggle.attachEvents = function attachEvents() {\n if ( true && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].touch) {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $el.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n }\n\n toggle.$inputEl.on('change', handleInputChange);\n };\n\n toggle.detachEvents = function detachEvents() {\n if (\"development\".TARGET !== 'desktop' && _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].touch) {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_3__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $el.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }\n\n toggle.$inputEl.off('change', handleInputChange);\n }; // Install Modules\n\n\n toggle.useModules(); // Init\n\n toggle.init();\n return _this;\n }\n\n _createClass(Toggle, [{\n key: \"toggle\",\n value: function toggle() {\n var toggle = this;\n toggle.checked = !toggle.checked;\n }\n }, {\n key: \"init\",\n value: function init() {\n var toggle = this;\n toggle.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var toggle = this;\n toggle.$el.trigger('toggle:beforedestroy', toggle);\n toggle.emit('local::beforeDestroy toggleBeforeDestroy', toggle);\n delete toggle.$el[0].f7Toggle;\n toggle.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(toggle);\n toggle = null;\n }\n }]);\n\n return Toggle;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Toggle);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toggle/toggle-class.js?");
  1684. /***/ }),
  1685. /***/ "./node_modules/framework7/components/toggle/toggle.js":
  1686. /*!*************************************************************!*\
  1687. !*** ./node_modules/framework7/components/toggle/toggle.js ***!
  1688. \*************************************************************/
  1689. /*! exports provided: default */
  1690. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1691. "use strict";
  1692. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n/* harmony import */ var _toggle_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toggle-class */ \"./node_modules/framework7/components/toggle/toggle-class.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'toggle',\n create: function create() {\n var app = this;\n app.toggle = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.toggle',\n constructor: _toggle_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n app: app,\n domProp: 'f7Toggle'\n });\n },\n static: {\n Toggle: _toggle_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.toggle-init').each(function (index, toggleEl) {\n return app.toggle.create({\n el: toggleEl\n });\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.toggle-init').each(function (index, toggleEl) {\n if (toggleEl.f7Toggle) toggleEl.f7Toggle.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.toggle-init').each(function (index, toggleEl) {\n return app.toggle.create({\n el: toggleEl\n });\n });\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n page.$el.find('.toggle-init').each(function (index, toggleEl) {\n if (toggleEl.f7Toggle) toggleEl.f7Toggle.destroy();\n });\n }\n },\n vnode: {\n 'toggle-init': {\n insert: function insert(vnode) {\n var app = this;\n var toggleEl = vnode.elm;\n app.toggle.create({\n el: toggleEl\n });\n },\n destroy: function destroy(vnode) {\n var toggleEl = vnode.elm;\n if (toggleEl.f7Toggle) toggleEl.f7Toggle.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toggle/toggle.js?");
  1693. /***/ }),
  1694. /***/ "./node_modules/framework7/components/toolbar/toolbar.js":
  1695. /*!***************************************************************!*\
  1696. !*** ./node_modules/framework7/components/toolbar/toolbar.js ***!
  1697. \***************************************************************/
  1698. /*! exports provided: default */
  1699. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1700. "use strict";
  1701. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Toolbar = {\n setHighlight: function setHighlight(tabbarEl) {\n var app = this;\n if (app.theme !== 'md') return;\n var $tabbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabbarEl);\n if ($tabbarEl.length === 0 || !($tabbarEl.hasClass('tabbar') || $tabbarEl.hasClass('tabbar-labels'))) return;\n var $highlightEl = $tabbarEl.find('.tab-link-highlight');\n var tabLinksCount = $tabbarEl.find('.tab-link').length;\n\n if (tabLinksCount === 0) {\n $highlightEl.remove();\n return;\n }\n\n if ($highlightEl.length === 0) {\n $tabbarEl.children('.toolbar-inner').append('<span class=\"tab-link-highlight\"></span>');\n $highlightEl = $tabbarEl.find('.tab-link-highlight');\n } else if ($highlightEl.next().length) {\n $tabbarEl.children('.toolbar-inner').append($highlightEl);\n }\n\n var $activeLink = $tabbarEl.find('.tab-link-active');\n var highlightWidth;\n var highlightTranslate;\n\n if ($tabbarEl.hasClass('tabbar-scrollable') && $activeLink && $activeLink[0]) {\n highlightWidth = \"\".concat($activeLink[0].offsetWidth, \"px\");\n highlightTranslate = \"\".concat($activeLink[0].offsetLeft, \"px\");\n } else {\n var activeIndex = $activeLink.index();\n highlightWidth = \"\".concat(100 / tabLinksCount, \"%\");\n highlightTranslate = \"\".concat((app.rtl ? -activeIndex : activeIndex) * 100, \"%\");\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $highlightEl.css('width', highlightWidth).transform(\"translate3d(\".concat(highlightTranslate, \",0,0)\"));\n });\n },\n init: function init(tabbarEl) {\n var app = this;\n app.toolbar.setHighlight(tabbarEl);\n },\n hide: function hide(el) {\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.hasClass('toolbar-hidden')) return;\n var className = \"toolbar-hidden\".concat(animate ? ' toolbar-transitioning' : '');\n $el.transitionEnd(function () {\n $el.removeClass('toolbar-transitioning');\n });\n $el.addClass(className);\n },\n show: function show(el) {\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if (!$el.hasClass('toolbar-hidden')) return;\n\n if (animate) {\n $el.addClass('toolbar-transitioning');\n $el.transitionEnd(function () {\n $el.removeClass('toolbar-transitioning');\n });\n }\n\n $el.removeClass('toolbar-hidden');\n },\n initHideToolbarOnScroll: function initHideToolbarOnScroll(pageEl) {\n var app = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl);\n var $toolbarEl = $pageEl.parents('.view').children('.toolbar');\n\n if ($toolbarEl.length === 0) {\n $toolbarEl = $pageEl.find('.toolbar');\n }\n\n if ($toolbarEl.length === 0) {\n $toolbarEl = $pageEl.parents('.views').children('.tabbar, .tabbar-labels');\n }\n\n if ($toolbarEl.length === 0) {\n return;\n }\n\n var previousScrollTop;\n var currentScrollTop;\n var scrollHeight;\n var offsetHeight;\n var reachEnd;\n var action;\n var toolbarHidden;\n\n function handleScroll(e) {\n var scrollContent = this;\n\n if (e && e.target && e.target !== scrollContent) {\n return;\n }\n\n if ($pageEl.hasClass('page-previous')) return;\n currentScrollTop = scrollContent.scrollTop;\n scrollHeight = scrollContent.scrollHeight;\n offsetHeight = scrollContent.offsetHeight;\n reachEnd = currentScrollTop + offsetHeight >= scrollHeight;\n toolbarHidden = $toolbarEl.hasClass('toolbar-hidden');\n\n if (reachEnd) {\n if (app.params.toolbar.showOnPageScrollEnd) {\n action = 'show';\n }\n } else if (previousScrollTop > currentScrollTop) {\n if (app.params.toolbar.showOnPageScrollTop || currentScrollTop <= 44) {\n action = 'show';\n } else {\n action = 'hide';\n }\n } else if (currentScrollTop > 44) {\n action = 'hide';\n } else {\n action = 'show';\n }\n\n if (action === 'show' && toolbarHidden) {\n app.toolbar.show($toolbarEl);\n toolbarHidden = false;\n } else if (action === 'hide' && !toolbarHidden) {\n app.toolbar.hide($toolbarEl);\n toolbarHidden = true;\n }\n\n previousScrollTop = currentScrollTop;\n }\n\n $pageEl.on('scroll', '.page-content', handleScroll, true);\n $pageEl[0].f7ScrollToolbarHandler = handleScroll;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'toolbar',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n toolbar: {\n hide: Toolbar.hide.bind(app),\n show: Toolbar.show.bind(app),\n setHighlight: Toolbar.setHighlight.bind(app),\n initHideToolbarOnScroll: Toolbar.initHideToolbarOnScroll.bind(app),\n init: Toolbar.init.bind(app)\n }\n });\n },\n params: {\n toolbar: {\n hideOnPageScroll: false,\n showOnPageScrollEnd: true,\n showOnPageScrollTop: true\n }\n },\n on: {\n pageBeforeRemove: function pageBeforeRemove(page) {\n if (page.$el[0].f7ScrollToolbarHandler) {\n page.$el.off('scroll', '.page-content', page.$el[0].f7ScrollToolbarHandler, true);\n }\n },\n pageBeforeIn: function pageBeforeIn(page) {\n var app = this;\n var $toolbarEl = page.$el.parents('.view').children('.toolbar');\n\n if ($toolbarEl.length === 0) {\n $toolbarEl = page.$el.parents('.views').children('.tabbar, .tabbar-labels');\n }\n\n if ($toolbarEl.length === 0) {\n $toolbarEl = page.$el.find('.toolbar');\n }\n\n if ($toolbarEl.length === 0) {\n return;\n }\n\n if (page.$el.hasClass('no-toolbar')) {\n app.toolbar.hide($toolbarEl);\n } else {\n app.toolbar.show($toolbarEl);\n }\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.tabbar, .tabbar-labels').each(function (index, tabbarEl) {\n app.toolbar.init(tabbarEl);\n });\n\n if (app.params.toolbar.hideOnPageScroll || page.$el.find('.hide-toolbar-on-scroll').length || page.$el.hasClass('hide-toolbar-on-scroll') || page.$el.find('.hide-bars-on-scroll').length || page.$el.hasClass('hide-bars-on-scroll')) {\n if (page.$el.find('.keep-toolbar-on-scroll').length || page.$el.hasClass('keep-toolbar-on-scroll') || page.$el.find('.keep-bars-on-scroll').length || page.$el.hasClass('keep-bars-on-scroll')) {\n return;\n }\n\n app.toolbar.initHideToolbarOnScroll(page.el);\n }\n },\n init: function init() {\n var app = this;\n app.root.find('.tabbar, .tabbar-labels').each(function (index, tabbarEl) {\n app.toolbar.init(tabbarEl);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/toolbar/toolbar.js?");
  1702. /***/ }),
  1703. /***/ "./node_modules/framework7/components/tooltip/tooltip-class.js":
  1704. /*!*********************************************************************!*\
  1705. !*** ./node_modules/framework7/components/tooltip/tooltip-class.js ***!
  1706. \*********************************************************************/
  1707. /*! exports provided: default */
  1708. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1709. "use strict";
  1710. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar Tooltip = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Tooltip, _Framework7Class);\n\n var _super = _createSuper(Tooltip);\n\n function Tooltip(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Tooltip);\n\n _this = _super.call(this, params, [app]);\n\n var tooltip = _assertThisInitialized(_this);\n\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, app.params.tooltip); // Extend defaults with modules params\n\n tooltip.useModulesParams(defaults);\n tooltip.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, params);\n var targetEl = tooltip.params.targetEl;\n if (!targetEl) return _possibleConstructorReturn(_this, tooltip);\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(targetEl);\n if ($targetEl.length === 0) return _possibleConstructorReturn(_this, tooltip);\n if ($targetEl[0].f7Tooltip) return _possibleConstructorReturn(_this, $targetEl[0].f7Tooltip);\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tooltip.render()).eq(0);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(tooltip, {\n app: app,\n $targetEl: $targetEl,\n targetEl: $targetEl && $targetEl[0],\n $el: $el,\n el: $el && $el[0],\n text: tooltip.params.text || '',\n visible: false,\n opened: false\n });\n $targetEl[0].f7Tooltip = tooltip;\n var touchesStart = {};\n var isTouched;\n\n function handleTouchStart(e) {\n if (isTouched) return;\n isTouched = true;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n tooltip.show(this);\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n var distance = Math.pow(Math.pow(x - touchesStart.x, 2) + Math.pow(y - touchesStart.y, 2), 0.5);\n\n if (distance > 50) {\n isTouched = false;\n tooltip.hide();\n }\n }\n\n function handleTouchEnd() {\n if (!isTouched) return;\n isTouched = false;\n tooltip.hide();\n }\n\n function handleMouseEnter() {\n tooltip.show(this);\n }\n\n function handleMouseLeave() {\n tooltip.hide();\n }\n\n function handleTransitionEnd() {\n if (!$el.hasClass('tooltip-in')) {\n $el.removeClass('tooltip-out').remove();\n }\n }\n\n tooltip.attachEvents = function attachEvents() {\n $el.on('transitionend', handleTransitionEnd);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $targetEl.on(app.touchEvents.start, handleTouchStart, passive);\n app.on('touchmove', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n } else {\n $targetEl.on('mouseenter', handleMouseEnter);\n $targetEl.on('mouseleave', handleMouseLeave);\n }\n };\n\n tooltip.detachEvents = function detachEvents() {\n $el.off('transitionend', handleTransitionEnd);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n var passive = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n $targetEl.off(app.touchEvents.start, handleTouchStart, passive);\n app.off('touchmove', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n } else {\n $targetEl.off('mouseenter', handleMouseEnter);\n $targetEl.off('mouseleave', handleMouseLeave);\n }\n }; // Install Modules\n\n\n tooltip.useModules();\n tooltip.init();\n return _possibleConstructorReturn(_this, tooltip);\n }\n\n _createClass(Tooltip, [{\n key: \"position\",\n value: function position(targetEl) {\n var tooltip = this;\n var $el = tooltip.$el,\n app = tooltip.app;\n $el.css({\n left: '',\n top: ''\n });\n var $targetEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(targetEl || tooltip.targetEl);\n var _ref = [$el.width(), $el.height()],\n width = _ref[0],\n height = _ref[1];\n $el.css({\n left: '',\n top: ''\n });\n var targetWidth;\n var targetHeight;\n var targetOffsetLeft;\n var targetOffsetTop;\n\n if ($targetEl && $targetEl.length > 0) {\n targetWidth = $targetEl.outerWidth();\n targetHeight = $targetEl.outerHeight();\n var targetOffset = $targetEl.offset();\n targetOffsetLeft = targetOffset.left - app.left;\n targetOffsetTop = targetOffset.top - app.top;\n var targetParentPage = $targetEl.parents('.page');\n\n if (targetParentPage.length > 0) {\n targetOffsetTop -= targetParentPage[0].scrollTop;\n }\n }\n\n var _ref2 = [0, 0, 0],\n left = _ref2[0],\n top = _ref2[1]; // Top Position\n\n var position = 'top';\n\n if (height < targetOffsetTop) {\n // On top\n top = targetOffsetTop - height;\n } else if (height < app.height - targetOffsetTop - targetHeight) {\n // On bottom\n position = 'bottom';\n top = targetOffsetTop + targetHeight;\n } else {\n // On middle\n position = 'middle';\n top = targetHeight / 2 + targetOffsetTop - height / 2;\n\n if (top <= 0) {\n top = 8;\n } else if (top + height >= app.height) {\n top = app.height - height - 8;\n }\n } // Horizontal Position\n\n\n if (position === 'top' || position === 'bottom') {\n left = targetWidth / 2 + targetOffsetLeft - width / 2;\n if (left < 8) left = 8;\n if (left + width > app.width) left = app.width - width - 8;\n if (left < 0) left = 0;\n } else if (position === 'middle') {\n left = targetOffsetLeft - width;\n\n if (left < 8 || left + width > app.width) {\n if (left < 8) left = targetOffsetLeft + targetWidth;\n if (left + width > app.width) left = app.width - width - 8;\n }\n } // Apply Styles\n\n\n $el.css({\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\")\n });\n }\n }, {\n key: \"show\",\n value: function show(aroundEl) {\n var tooltip = this;\n var app = tooltip.app,\n $el = tooltip.$el,\n $targetEl = tooltip.$targetEl;\n app.root.append($el);\n tooltip.position(aroundEl);\n var $aroundEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(aroundEl);\n tooltip.visible = true;\n tooltip.opened = true;\n $targetEl.trigger('tooltip:show', tooltip);\n $el.trigger('tooltip:show', tooltip);\n\n if ($aroundEl.length && $aroundEl[0] !== $targetEl[0]) {\n $aroundEl.trigger('tooltip:show', tooltip);\n }\n\n tooltip.emit('local::show tooltipShow', tooltip);\n $el.removeClass('tooltip-out').addClass('tooltip-in');\n return tooltip;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n var tooltip = this;\n var $el = tooltip.$el,\n $targetEl = tooltip.$targetEl;\n tooltip.visible = false;\n tooltip.opened = false;\n $targetEl.trigger('tooltip:hide', tooltip);\n $el.trigger('tooltip:hide', tooltip);\n tooltip.emit('local::hide tooltipHide', tooltip);\n $el.addClass('tooltip-out').removeClass('tooltip-in');\n return tooltip;\n }\n }, {\n key: \"render\",\n value: function render() {\n var tooltip = this;\n if (tooltip.params.render) return tooltip.params.render.call(tooltip, tooltip);\n var _tooltip$params = tooltip.params,\n cssClass = _tooltip$params.cssClass,\n text = _tooltip$params.text;\n return \"\\n <div class=\\\"tooltip \".concat(cssClass || '', \"\\\">\\n <div class=\\\"tooltip-content\\\">\").concat(text || '', \"</div>\\n </div>\\n \").trim();\n }\n }, {\n key: \"setText\",\n value: function setText(newText) {\n var tooltip = this;\n\n if (typeof newText === 'undefined') {\n return tooltip;\n }\n\n tooltip.params.text = newText;\n tooltip.text = newText;\n\n if (tooltip.$el) {\n tooltip.$el.children('.tooltip-content').html(newText);\n }\n\n if (tooltip.opened) {\n tooltip.position();\n }\n\n return tooltip;\n }\n }, {\n key: \"init\",\n value: function init() {\n var tooltip = this;\n tooltip.attachEvents();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var tooltip = this;\n if (!tooltip.$targetEl || tooltip.destroyed) return;\n tooltip.$targetEl.trigger('tooltip:beforedestroy', tooltip);\n tooltip.emit('local::beforeDestroy tooltipBeforeDestroy', tooltip);\n tooltip.$el.remove();\n delete tooltip.$targetEl[0].f7Tooltip;\n tooltip.detachEvents();\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deleteProps(tooltip);\n tooltip.destroyed = true;\n }\n }]);\n\n return Tooltip;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Tooltip);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/tooltip/tooltip-class.js?");
  1711. /***/ }),
  1712. /***/ "./node_modules/framework7/components/tooltip/tooltip.js":
  1713. /*!***************************************************************!*\
  1714. !*** ./node_modules/framework7/components/tooltip/tooltip.js ***!
  1715. \***************************************************************/
  1716. /*! exports provided: default */
  1717. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1718. "use strict";
  1719. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _tooltip_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tooltip-class */ \"./node_modules/framework7/components/tooltip/tooltip-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'tooltip',\n static: {\n Tooltip: _tooltip_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.tooltip = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: '.tooltip',\n constructor: _tooltip_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n app: app,\n domProp: 'f7Tooltip'\n });\n\n app.tooltip.show = function show(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var tooltip = $el[0].f7Tooltip;\n if (!tooltip) return undefined;\n tooltip.show($el[0]);\n return tooltip;\n };\n\n app.tooltip.hide = function hide(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var tooltip = $el[0].f7Tooltip;\n if (!tooltip) return undefined;\n tooltip.hide();\n return tooltip;\n };\n\n app.tooltip.setText = function text(el, newText) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var tooltip = $el[0].f7Tooltip;\n if (!tooltip) return undefined;\n tooltip.setText(newText);\n return tooltip;\n };\n },\n params: {\n tooltip: {\n targetEl: null,\n text: null,\n cssClass: null,\n render: null\n }\n },\n on: {\n tabMounted: function tabMounted(tabEl) {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.tooltip-init').each(function (index, el) {\n var text = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tooltip');\n if (!text) return;\n app.tooltip.create({\n targetEl: el,\n text: text\n });\n });\n },\n tabBeforeRemove: function tabBeforeRemove(tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabEl).find('.tooltip-init').each(function (index, el) {\n if (el.f7Tooltip) el.f7Tooltip.destroy();\n });\n },\n pageInit: function pageInit(page) {\n var app = this;\n page.$el.find('.tooltip-init').each(function (index, el) {\n var text = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tooltip');\n if (!text) return;\n app.tooltip.create({\n targetEl: el,\n text: text\n });\n });\n\n if (app.theme === 'ios' && page.view && page.view.router.separateNavbar && page.$navbarEl && page.$navbarEl.length > 0) {\n page.$navbarEl.find('.tooltip-init').each(function (index, el) {\n var text = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tooltip');\n if (!text) return;\n app.tooltip.create({\n targetEl: el,\n text: text\n });\n });\n }\n },\n pageBeforeRemove: function pageBeforeRemove(page) {\n var app = this;\n page.$el.find('.tooltip-init').each(function (index, el) {\n if (el.f7Tooltip) el.f7Tooltip.destroy();\n });\n\n if (app.theme === 'ios' && page.view && page.view.router.separateNavbar && page.$navbarEl && page.$navbarEl.length > 0) {\n page.$navbarEl.find('.tooltip-init').each(function (index, el) {\n if (el.f7Tooltip) el.f7Tooltip.destroy();\n });\n }\n }\n },\n vnode: {\n 'tooltip-init': {\n insert: function insert(vnode) {\n var app = this;\n var el = vnode.elm;\n var text = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).attr('data-tooltip');\n if (!text) return;\n app.tooltip.create({\n targetEl: el,\n text: text\n });\n },\n update: function update(vnode) {\n var el = vnode.elm;\n if (!el.f7Tooltip) return;\n\n if (vnode && vnode.data && vnode.data.attrs && vnode.data.attrs['data-tooltip']) {\n el.f7Tooltip.setText(vnode.data.attrs['data-tooltip']);\n }\n },\n destroy: function destroy(vnode) {\n var el = vnode.elm;\n if (el.f7Tooltip) el.f7Tooltip.destroy();\n }\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/tooltip/tooltip.js?");
  1720. /***/ }),
  1721. /***/ "./node_modules/framework7/components/touch-ripple/touch-ripple-class.js":
  1722. /*!*******************************************************************************!*\
  1723. !*** ./node_modules/framework7/components/touch-ripple/touch-ripple-class.js ***!
  1724. \*******************************************************************************/
  1725. /*! exports provided: default */
  1726. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1727. "use strict";
  1728. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return TouchRipple; });\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\nvar TouchRipple = /*#__PURE__*/function () {\n function TouchRipple($el, x, y) {\n _classCallCheck(this, TouchRipple);\n\n var ripple = this;\n if (!$el) return undefined;\n var box = $el[0].getBoundingClientRect();\n var center = {\n x: x - box.left,\n y: y - box.top\n };\n var width = box.width;\n var height = box.height;\n var diameter = Math.max(Math.pow(Math.pow(height, 2) + Math.pow(width, 2), 0.5), 48);\n ripple.$rippleWaveEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"<div class=\\\"ripple-wave\\\" style=\\\"width: \".concat(diameter, \"px; height: \").concat(diameter, \"px; margin-top:-\").concat(diameter / 2, \"px; margin-left:-\").concat(diameter / 2, \"px; left:\").concat(center.x, \"px; top:\").concat(center.y, \"px;\\\"></div>\"));\n $el.prepend(ripple.$rippleWaveEl);\n ripple.rippleTransform = \"translate3d(\".concat(-center.x + width / 2, \"px, \").concat(-center.y + height / 2, \"px, 0) scale(1)\");\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n if (!ripple || !ripple.$rippleWaveEl) return;\n ripple.$rippleWaveEl.transform(ripple.rippleTransform);\n });\n return ripple;\n }\n\n _createClass(TouchRipple, [{\n key: \"destroy\",\n value: function destroy() {\n var ripple = this;\n\n if (ripple.$rippleWaveEl) {\n ripple.$rippleWaveEl.remove();\n }\n\n Object.keys(ripple).forEach(function (key) {\n ripple[key] = null;\n delete ripple[key];\n });\n ripple = null;\n }\n }, {\n key: \"remove\",\n value: function remove() {\n var ripple = this;\n if (ripple.removing) return;\n var $rippleWaveEl = this.$rippleWaveEl;\n var rippleTransform = this.rippleTransform;\n var removeTimeout = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n ripple.destroy();\n }, 400);\n ripple.removing = true;\n $rippleWaveEl.addClass('ripple-wave-fill').transform(rippleTransform.replace('scale(1)', 'scale(1.01)')).transitionEnd(function () {\n clearTimeout(removeTimeout);\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextFrame(function () {\n $rippleWaveEl.addClass('ripple-wave-out').transform(rippleTransform.replace('scale(1)', 'scale(1.01)'));\n removeTimeout = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].nextTick(function () {\n ripple.destroy();\n }, 700);\n $rippleWaveEl.transitionEnd(function () {\n clearTimeout(removeTimeout);\n ripple.destroy();\n });\n });\n });\n }\n }]);\n\n return TouchRipple;\n}();\n\n\n\n//# sourceURL=webpack:///./node_modules/framework7/components/touch-ripple/touch-ripple-class.js?");
  1729. /***/ }),
  1730. /***/ "./node_modules/framework7/components/touch-ripple/touch-ripple.js":
  1731. /*!*************************************************************************!*\
  1732. !*** ./node_modules/framework7/components/touch-ripple/touch-ripple.js ***!
  1733. \*************************************************************************/
  1734. /*! exports provided: default */
  1735. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1736. "use strict";
  1737. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _touch_ripple_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./touch-ripple-class */ \"./node_modules/framework7/components/touch-ripple/touch-ripple-class.js\");\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'touch-ripple',\n static: {\n TouchRipple: _touch_ripple_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.touchRipple = {\n create: function create() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _construct(_touch_ripple_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"], args);\n }\n };\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/touch-ripple/touch-ripple.js?");
  1738. /***/ }),
  1739. /***/ "./node_modules/framework7/components/treeview/treeview.js":
  1740. /*!*****************************************************************!*\
  1741. !*** ./node_modules/framework7/components/treeview/treeview.js ***!
  1742. \*****************************************************************/
  1743. /*! exports provided: default */
  1744. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1745. "use strict";
  1746. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar Treeview = {\n open: function open(itemEl) {\n var app = this;\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl).eq(0);\n if (!$itemEl.length) return;\n $itemEl.addClass('treeview-item-opened');\n $itemEl.trigger('treeview:open');\n app.emit('treeviewOpen', $itemEl[0]);\n\n function done() {\n $itemEl[0].f7TreeviewChildrenLoaded = true;\n $itemEl.find('.treeview-toggle').removeClass('treeview-toggle-hidden');\n $itemEl.find('.treeview-preloader').remove();\n }\n\n if ($itemEl.hasClass('treeview-load-children') && !$itemEl[0].f7TreeviewChildrenLoaded) {\n $itemEl.trigger('treeview:loadchildren', done);\n app.emit('treeviewLoadChildren', $itemEl[0], done);\n $itemEl.find('.treeview-toggle').addClass('treeview-toggle-hidden');\n $itemEl.find('.treeview-item-root').prepend(\"<div class=\\\"preloader treeview-preloader\\\">\".concat(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"][\"\".concat(app.theme, \"PreloaderContent\")], \"</div>\"));\n }\n },\n close: function close(itemEl) {\n var app = this;\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl).eq(0);\n if (!$itemEl.length) return;\n $itemEl.removeClass('treeview-item-opened');\n $itemEl.trigger('treeview:close');\n app.emit('treeviewClose', $itemEl[0]);\n },\n toggle: function toggle(itemEl) {\n var app = this;\n var $itemEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(itemEl).eq(0);\n if (!$itemEl.length) return;\n var wasOpened = $itemEl.hasClass('treeview-item-opened');\n app.treeview[wasOpened ? 'close' : 'open']($itemEl);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'treeview',\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n treeview: {\n open: Treeview.open.bind(app),\n close: Treeview.close.bind(app),\n toggle: Treeview.toggle.bind(app)\n }\n });\n },\n clicks: {\n '.treeview-toggle': function toggle($clickedEl, clickedData, e) {\n var app = this;\n if ($clickedEl.parents('.treeview-item-toggle').length) return;\n var $treeviewItemEl = $clickedEl.parents('.treeview-item').eq(0);\n if (!$treeviewItemEl.length) return;\n e.preventF7Router = true;\n app.treeview.toggle($treeviewItemEl[0]);\n },\n '.treeview-item-toggle': function toggle($clickedEl, clickedData, e) {\n var app = this;\n var $treeviewItemEl = $clickedEl.closest('.treeview-item').eq(0);\n if (!$treeviewItemEl.length) return;\n e.preventF7Router = true;\n app.treeview.toggle($treeviewItemEl[0]);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/treeview/treeview.js?");
  1747. /***/ }),
  1748. /***/ "./node_modules/framework7/components/typography/typography.js":
  1749. /*!*********************************************************************!*\
  1750. !*** ./node_modules/framework7/components/typography/typography.js ***!
  1751. \*********************************************************************/
  1752. /*! exports provided: default */
  1753. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1754. "use strict";
  1755. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'typography'\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/typography/typography.js?");
  1756. /***/ }),
  1757. /***/ "./node_modules/framework7/components/vi/vi-class.js":
  1758. /*!***********************************************************!*\
  1759. !*** ./node_modules/framework7/components/vi/vi-class.js ***!
  1760. \***********************************************************/
  1761. /*! exports provided: default */
  1762. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1763. "use strict";
  1764. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar ViAd = /*#__PURE__*/function (_Framework7Class) {\n _inherits(ViAd, _Framework7Class);\n\n var _super = _createSuper(ViAd);\n\n function ViAd(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ViAd);\n\n _this = _super.call(this, params, [app]);\n\n var vi = _assertThisInitialized(_this);\n\n if (!ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].vi) {\n throw new Error('Framework7: vi SDK not found.');\n }\n\n var orientation;\n\n if (typeof ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].orientation !== 'undefined') {\n orientation = ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].orientation === -90 || ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].orientation === 90 ? 'horizontal' : 'vertical';\n }\n\n var defaults = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, app.params.vi, {\n appId: app.id,\n appVer: app.version,\n language: app.language,\n width: app.width,\n height: app.height,\n os: _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].os,\n osVersion: _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].osVersion,\n orientation: orientation\n }); // Extend defaults with modules params\n\n vi.useModulesParams(defaults);\n vi.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(defaults, params);\n var adParams = {};\n var skipParams = 'on autoplay fallbackOverlay fallbackOverlayText enabled'.split(' ');\n Object.keys(vi.params).forEach(function (paramName) {\n if (skipParams.indexOf(paramName) >= 0) return;\n var paramValue = vi.params[paramName];\n if ([null, undefined].indexOf(paramValue) >= 0) return;\n adParams[paramName] = paramValue;\n });\n\n if (!vi.params.appId) {\n throw new Error('Framework7: \"app.id\" is required to display an ad. Make sure you have specified it on app initialization.');\n }\n\n if (!vi.params.placementId) {\n throw new Error('Framework7: \"placementId\" is required to display an ad.');\n }\n\n function onResize() {\n var $viFrame = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('iframe#viAd');\n if ($viFrame.length === 0) return;\n $viFrame.css({\n width: \"\".concat(app.width, \"px\"),\n height: \"\".concat(app.height, \"px\")\n });\n }\n\n function removeOverlay() {\n if (!vi.$overlayEl) return;\n vi.$overlayEl.off('click touchstart');\n vi.$overlayEl.remove();\n }\n\n function createOverlay(videoEl) {\n if (!videoEl) return;\n vi.$overlayEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"\\n <div class=\\\"vi-overlay no-fastclick\\\">\\n \".concat(vi.params.fallbackOverlayText ? \"<div class=\\\"vi-overlay-text\\\">\".concat(vi.params.fallbackOverlayText, \"</div>\") : '', \"\\n <div class=\\\"vi-overlay-play-button\\\"></div>\\n </div>\\n \").trim());\n var touchStartTime;\n vi.$overlayEl.on('touchstart', function () {\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now();\n });\n vi.$overlayEl.on('click', function () {\n var timeDiff = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].now() - touchStartTime;\n if (timeDiff > 300) return;\n\n if (videoEl) {\n videoEl.play();\n removeOverlay();\n return;\n }\n\n vi.start();\n removeOverlay();\n });\n app.root.append(vi.$overlayEl);\n } // Create ad\n\n\n vi.ad = new ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].vi.Ad(adParams);\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(vi.ad, {\n onAdReady: function onAdReady() {\n app.on('resize', onResize);\n vi.emit('local::ready');\n\n if (vi.params.autoplay) {\n vi.start();\n }\n },\n onAdStarted: function onAdStarted() {\n vi.emit('local::started');\n },\n onAdClick: function onAdClick(targetUrl) {\n vi.emit('local::click', targetUrl);\n },\n onAdImpression: function onAdImpression() {\n vi.emit('local::impression');\n },\n onAdStopped: function onAdStopped(reason) {\n app.off('resize', onResize);\n removeOverlay();\n vi.emit('local::stopped', reason);\n\n if (reason === 'complete') {\n vi.emit('local::complete');\n vi.emit('local::completed');\n }\n\n if (reason === 'userexit') {\n vi.emit('local::userexit');\n }\n\n vi.destroyed = true;\n },\n onAutoPlayFailed: function onAutoPlayFailed(reason, videoEl) {\n vi.emit('local::autoplayFailed', reason, videoEl);\n\n if (reason && reason.name && reason.name.indexOf('NotAllowedError') !== -1 && vi.params.fallbackOverlay) {\n createOverlay(videoEl);\n }\n },\n onAdError: function onAdError(msg) {\n removeOverlay();\n app.off('resize', onResize);\n vi.emit('local::error', msg);\n vi.destroyed = true;\n }\n });\n vi.init();\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(vi, {\n app: app\n });\n return _this;\n }\n\n _createClass(ViAd, [{\n key: \"start\",\n value: function start() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.startAd();\n }\n }, {\n key: \"pause\",\n value: function pause() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.pauseAd();\n }\n }, {\n key: \"resume\",\n value: function resume() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.resumeAd();\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.stopAd();\n }\n }, {\n key: \"init\",\n value: function init() {\n var vi = this;\n if (vi.destroyed) return;\n if (vi.ad) vi.ad.initAd();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var vi = this;\n vi.destroyed = true;\n vi.emit('local::beforeDestroy');\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(vi);\n }\n }]);\n\n return ViAd;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ViAd);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/vi/vi-class.js?");
  1765. /***/ }),
  1766. /***/ "./node_modules/framework7/components/vi/vi.js":
  1767. /*!*****************************************************!*\
  1768. !*** ./node_modules/framework7/components/vi/vi.js ***!
  1769. \*****************************************************/
  1770. /*! exports provided: default */
  1771. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1772. "use strict";
  1773. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n/* harmony import */ var _vi_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./vi-class */ \"./node_modules/framework7/components/vi/vi-class.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'vi',\n params: {\n vi: {\n enabled: false,\n autoplay: true,\n fallbackOverlay: true,\n fallbackOverlayText: 'Please watch this ad',\n showMute: true,\n startMuted: (_utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].android) && !_utils_device__WEBPACK_IMPORTED_MODULE_2__[\"default\"].cordova,\n appId: null,\n appVer: null,\n language: null,\n width: null,\n height: null,\n placementId: 'pltd4o7ibb9rc653x14',\n placementType: 'interstitial',\n videoSlot: null,\n showProgress: true,\n showBranding: true,\n os: null,\n osVersion: null,\n orientation: null,\n age: null,\n gender: null,\n advertiserId: null,\n latitude: null,\n longitude: null,\n accuracy: null,\n storeId: null,\n ip: null,\n manufacturer: null,\n model: null,\n connectionType: null,\n connectionProvider: null\n }\n },\n create: function create() {\n var app = this;\n app.vi = {\n sdkReady: false,\n createAd: function createAd(adParams) {\n return new _vi_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"](app, adParams);\n },\n loadSdk: function loadSdk() {\n if (app.vi.sdkReady) return;\n var script = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('script');\n\n script.onload = function onload() {\n app.emit('viSdkReady');\n app.vi.sdkReady = true;\n };\n\n script.src = 'https://c.vi-serve.com/viadshtml/vi.min.js';\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('head').append(script);\n }\n };\n },\n on: {\n init: function init() {\n var app = this;\n if (app.params.vi.enabled || app.passedParams.vi && app.passedParams.vi.enabled !== false) app.vi.loadSdk();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/vi/vi.js?");
  1774. /***/ }),
  1775. /***/ "./node_modules/framework7/components/view/view-class.js":
  1776. /*!***************************************************************!*\
  1777. !*** ./node_modules/framework7/components/view/view-class.js ***!
  1778. \***************************************************************/
  1779. /*! exports provided: default */
  1780. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1781. "use strict";
  1782. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _modules_router_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../modules/router/router */ \"./node_modules/framework7/modules/router/router.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\nvar View = /*#__PURE__*/function (_Framework7Class) {\n _inherits(View, _Framework7Class);\n\n var _super = _createSuper(View);\n\n function View(appInstance, el) {\n var _this;\n\n var viewParams = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, View);\n\n _this = _super.call(this, viewParams, [appInstance]);\n var app = appInstance;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n\n var view = _assertThisInitialized(_this);\n\n var defaults = {\n routes: [],\n routesAdd: []\n }; // Default View params\n\n view.params = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(defaults, app.params.view, viewParams); // Routes\n\n if (view.params.routes.length > 0) {\n view.routes = view.params.routes;\n } else {\n view.routes = [].concat(app.routes, view.params.routesAdd);\n } // Selector\n\n\n var selector;\n if (typeof el === 'string') selector = el;else {\n // Supposed to be HTMLElement or Dom7\n selector = ($el.attr('id') ? \"#\".concat($el.attr('id')) : '') + ($el.attr('class') ? \".\".concat($el.attr('class').replace(/ /g, '.').replace('.active', '')) : '');\n } // DynamicNavbar\n\n var $navbarEl;\n\n if (app.theme === 'ios' && view.params.iosDynamicNavbar && view.params.iosSeparateDynamicNavbar) {\n $navbarEl = $el.children('.navbar').eq(0);\n\n if ($navbarEl.length === 0) {\n $navbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"navbar\"></div>');\n }\n } // View Props\n\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(false, view, {\n app: app,\n $el: $el,\n el: $el[0],\n name: view.params.name,\n main: view.params.main || $el.hasClass('view-main'),\n $navbarEl: $navbarEl,\n navbarEl: $navbarEl ? $navbarEl[0] : undefined,\n selector: selector,\n history: [],\n scrollHistory: {}\n }); // Save in DOM\n\n $el[0].f7View = view; // Install Modules\n\n view.useModules(); // Add to app\n\n app.views.push(view);\n\n if (view.main) {\n app.views.main = view;\n }\n\n if (view.name) {\n app.views[view.name] = view;\n } // Index\n\n\n view.index = app.views.indexOf(view); // View ID\n\n var viewId;\n\n if (view.name) {\n viewId = \"view_\".concat(view.name);\n } else if (view.main) {\n viewId = 'view_main';\n } else {\n viewId = \"view_\".concat(view.index);\n }\n\n view.id = viewId; // Init View\n\n if (app.initialized) {\n view.init();\n } else {\n app.on('init', function () {\n view.init();\n });\n }\n\n return _possibleConstructorReturn(_this, view);\n }\n\n _createClass(View, [{\n key: \"destroy\",\n value: function destroy() {\n var view = this;\n var app = view.app;\n view.$el.trigger('view:beforedestroy', view);\n view.emit('local::beforeDestroy viewBeforeDestroy', view);\n app.off('resize', view.checkmasterDetailBreakpoint);\n\n if (view.main) {\n app.views.main = null;\n delete app.views.main;\n } else if (view.name) {\n app.views[view.name] = null;\n delete app.views[view.name];\n }\n\n view.$el[0].f7View = null;\n delete view.$el[0].f7View;\n app.views.splice(app.views.indexOf(view), 1); // Destroy Router\n\n if (view.params.router && view.router) {\n view.router.destroy();\n }\n\n view.emit('local::destroy viewDestroy', view); // Delete props & methods\n\n Object.keys(view).forEach(function (viewProp) {\n view[viewProp] = null;\n delete view[viewProp];\n });\n view = null;\n }\n }, {\n key: \"checkmasterDetailBreakpoint\",\n value: function checkmasterDetailBreakpoint() {\n var view = this;\n var app = view.app;\n var wasMasterDetail = view.$el.hasClass('view-master-detail');\n\n if (app.width >= view.params.masterDetailBreakpoint) {\n view.$el.addClass('view-master-detail');\n\n if (!wasMasterDetail) {\n view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint');\n view.$el.trigger('view:masterDetailBreakpoint', view);\n }\n } else {\n view.$el.removeClass('view-master-detail');\n\n if (wasMasterDetail) {\n view.emit('local::masterDetailBreakpoint viewMasterDetailBreakpoint');\n view.$el.trigger('view:masterDetailBreakpoint', view);\n }\n }\n }\n }, {\n key: \"initMasterDetail\",\n value: function initMasterDetail() {\n var view = this;\n var app = view.app;\n view.checkmasterDetailBreakpoint = view.checkmasterDetailBreakpoint.bind(view);\n view.checkmasterDetailBreakpoint();\n app.on('resize', view.checkmasterDetailBreakpoint);\n }\n }, {\n key: \"init\",\n value: function init() {\n var view = this;\n\n if (view.params.router) {\n if (view.params.masterDetailBreakpoint > 0) {\n view.initMasterDetail();\n }\n\n view.router.init();\n view.$el.trigger('view:init', view);\n view.emit('local::init viewInit', view);\n }\n }\n }]);\n\n return View;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]); // Use Router\n\n\nView.use(_modules_router_router__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (View);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/view/view-class.js?");
  1783. /***/ }),
  1784. /***/ "./node_modules/framework7/components/view/view.js":
  1785. /*!*********************************************************!*\
  1786. !*** ./node_modules/framework7/components/view/view.js ***!
  1787. \*********************************************************/
  1788. /*! exports provided: default */
  1789. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1790. "use strict";
  1791. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _view_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./view-class */ \"./node_modules/framework7/components/view/view-class.js\");\n\n\n\n\nfunction getCurrentView(app) {\n var $popoverView = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.popover.modal-in .view');\n var $popupView = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.popup.modal-in .view');\n var $panelView = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.panel.panel-active .view');\n var $viewsEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.views');\n if ($viewsEl.length === 0) $viewsEl = app.root; // Find active view as tab\n\n var $viewEl = $viewsEl.children('.view'); // Propably in tabs or split view\n\n if ($viewEl.length > 1) {\n if ($viewEl.hasClass('tab')) {\n // Tabs\n $viewEl = $viewsEl.children('.view.tab-active');\n } else {// Split View, leave appView intact\n }\n }\n\n if ($popoverView.length > 0 && $popoverView[0].f7View) return $popoverView[0].f7View;\n if ($popupView.length > 0 && $popupView[0].f7View) return $popupView[0].f7View;\n if ($panelView.length > 0 && $panelView[0].f7View) return $panelView[0].f7View;\n\n if ($viewEl.length > 0) {\n if ($viewEl.length === 1 && $viewEl[0].f7View) return $viewEl[0].f7View;\n\n if ($viewEl.length > 1) {\n return app.views.main;\n }\n }\n\n return undefined;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'view',\n params: {\n view: {\n name: undefined,\n main: false,\n router: true,\n linksView: null,\n stackPages: false,\n xhrCache: true,\n xhrCacheIgnore: [],\n xhrCacheIgnoreGetParameters: false,\n xhrCacheDuration: 1000 * 60 * 10,\n // Ten minutes\n preloadPreviousPage: true,\n allowDuplicateUrls: false,\n reloadPages: false,\n reloadDetail: false,\n masterDetailBreakpoint: 0,\n removeElements: true,\n removeElementsWithTimeout: false,\n removeElementsTimeout: 0,\n restoreScrollTopOnBack: true,\n unloadTabContent: true,\n passRouteQueryToRequest: true,\n passRouteParamsToRequest: false,\n // Swipe Back\n iosSwipeBack: true,\n iosSwipeBackAnimateShadow: true,\n iosSwipeBackAnimateOpacity: true,\n iosSwipeBackActiveArea: 30,\n iosSwipeBackThreshold: 0,\n mdSwipeBack: false,\n mdSwipeBackAnimateShadow: true,\n mdSwipeBackAnimateOpacity: false,\n mdSwipeBackActiveArea: 30,\n mdSwipeBackThreshold: 0,\n auroraSwipeBack: false,\n auroraSwipeBackAnimateShadow: false,\n auroraSwipeBackAnimateOpacity: true,\n auroraSwipeBackActiveArea: 30,\n auroraSwipeBackThreshold: 0,\n // Push State\n pushState: false,\n pushStateRoot: undefined,\n pushStateAnimate: true,\n pushStateAnimateOnLoad: false,\n pushStateSeparator: '#!',\n pushStateOnLoad: true,\n // Animate Pages\n animate: true,\n // iOS Dynamic Navbar\n iosDynamicNavbar: true,\n iosSeparateDynamicNavbar: true,\n // Animate iOS Navbar Back Icon\n iosAnimateNavbarBackIcon: true,\n // Delays\n iosPageLoadDelay: 0,\n mdPageLoadDelay: 0,\n auroraPageLoadDelay: 0,\n // Routes hooks\n routesBeforeEnter: null,\n routesBeforeLeave: null\n }\n },\n static: {\n View: _view_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(app, {\n views: _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend([], {\n create: function create(el, params) {\n return new _view_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"](app, el, params);\n },\n get: function get(viewEl) {\n var $viewEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(viewEl);\n if ($viewEl.length && $viewEl[0].f7View) return $viewEl[0].f7View;\n return undefined;\n }\n })\n });\n Object.defineProperty(app.views, 'current', {\n enumerable: true,\n configurable: true,\n get: function get() {\n return getCurrentView(app);\n }\n }); // Alias\n\n app.view = app.views;\n },\n on: {\n init: function init() {\n var app = this;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.view-init').each(function (index, viewEl) {\n if (viewEl.f7View) return;\n var viewParams = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n });\n },\n modalOpen: function modalOpen(modal) {\n var app = this;\n modal.$el.find('.view-init').each(function (index, viewEl) {\n if (viewEl.f7View) return;\n var viewParams = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(viewEl).dataset();\n app.views.create(viewEl, viewParams);\n });\n },\n modalBeforeDestroy: function modalBeforeDestroy(modal) {\n if (!modal || !modal.$el) return;\n modal.$el.find('.view-init').each(function (index, viewEl) {\n var view = viewEl.f7View;\n if (!view) return;\n view.destroy();\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/view/view.js?");
  1792. /***/ }),
  1793. /***/ "./node_modules/framework7/components/virtual-list/virtual-list-class.js":
  1794. /*!*******************************************************************************!*\
  1795. !*** ./node_modules/framework7/components/virtual-list/virtual-list-class.js ***!
  1796. \*******************************************************************************/
  1797. /*! exports provided: default */
  1798. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1799. "use strict";
  1800. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\nvar VirtualList = /*#__PURE__*/function (_Framework7Class) {\n _inherits(VirtualList, _Framework7Class);\n\n var _super = _createSuper(VirtualList);\n\n function VirtualList(app) {\n var _this;\n\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, VirtualList);\n\n _this = _super.call(this, params, [app]);\n\n var vl = _assertThisInitialized(_this);\n\n var defaultHeight;\n\n if (app.theme === 'md') {\n defaultHeight = 48;\n } else if (app.theme === 'ios') {\n defaultHeight = 44;\n } else if (app.theme === 'aurora') {\n defaultHeight = 38;\n }\n\n var defaults = {\n cols: 1,\n height: defaultHeight,\n cache: true,\n dynamicHeightBufferSize: 1,\n showFilteredItemsOnly: false,\n renderExternal: undefined,\n setListHeight: true,\n searchByItem: undefined,\n searchAll: undefined,\n itemTemplate: undefined,\n ul: null,\n createUl: true,\n scrollableParentEl: undefined,\n renderItem: function renderItem(item) {\n return \"\\n <li>\\n <div class=\\\"item-content\\\">\\n <div class=\\\"item-inner\\\">\\n <div class=\\\"item-title\\\">\".concat(item, \"</div>\\n </div>\\n </div>\\n </li>\\n \").trim();\n },\n on: {}\n }; // Extend defaults with modules params\n\n vl.useModulesParams(defaults);\n vl.params = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(defaults, params);\n\n if (vl.params.height === undefined || !vl.params.height) {\n vl.params.height = defaultHeight;\n }\n\n vl.$el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(params.el);\n vl.el = vl.$el[0];\n if (vl.$el.length === 0) return _possibleConstructorReturn(_this, undefined);\n vl.$el[0].f7VirtualList = vl;\n vl.items = vl.params.items;\n\n if (vl.params.showFilteredItemsOnly) {\n vl.filteredItems = [];\n }\n\n if (vl.params.itemTemplate) {\n if (typeof vl.params.itemTemplate === 'string') vl.renderItem = app.t7.compile(vl.params.itemTemplate);else if (typeof vl.params.itemTemplate === 'function') vl.renderItem = vl.params.itemTemplate;\n } else if (vl.params.renderItem) {\n vl.renderItem = vl.params.renderItem;\n }\n\n vl.$pageContentEl = vl.$el.parents('.page-content');\n vl.pageContentEl = vl.$pageContentEl[0];\n vl.$scrollableParentEl = vl.params.scrollableParentEl ? Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(vl.params.scrollableParentEl).eq(0) : vl.$pageContentEl;\n\n if (!vl.$scrollableParentEl.length && vl.$pageContentEl.length) {\n vl.$scrollableParentEl = vl.$pageContentEl;\n }\n\n vl.scrollableParentEl = vl.$scrollableParentEl[0]; // Bad scroll\n\n if (typeof vl.params.updatableScroll !== 'undefined') {\n vl.updatableScroll = vl.params.updatableScroll;\n } else {\n vl.updatableScroll = true;\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].ios && _utils_device__WEBPACK_IMPORTED_MODULE_4__[\"default\"].osVersion.split('.')[0] < 8) {\n vl.updatableScroll = false;\n }\n } // Append <ul>\n\n\n var ul = vl.params.ul;\n vl.$ul = ul ? Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(vl.params.ul) : vl.$el.children('ul');\n\n if (vl.$ul.length === 0 && vl.params.createUl) {\n vl.$el.append('<ul></ul>');\n vl.$ul = vl.$el.children('ul');\n }\n\n vl.ul = vl.$ul[0];\n var $itemsWrapEl;\n if (!vl.ul && !vl.params.createUl) $itemsWrapEl = vl.$el;else $itemsWrapEl = vl.$ul;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(vl, {\n $itemsWrapEl: $itemsWrapEl,\n itemsWrapEl: $itemsWrapEl[0],\n // DOM cached items\n domCache: {},\n displayDomCache: {},\n // Temporary DOM Element\n tempDomElement: ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('ul'),\n // Last repain position\n lastRepaintY: null,\n // Fragment\n fragment: ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createDocumentFragment(),\n // Props\n pageHeight: undefined,\n rowsPerScreen: undefined,\n rowsBefore: undefined,\n rowsAfter: undefined,\n rowsToRender: undefined,\n maxBufferHeight: 0,\n listHeight: undefined,\n dynamicHeight: typeof vl.params.height === 'function'\n }); // Install Modules\n\n vl.useModules(); // Attach events\n\n var handleScrollBound = vl.handleScroll.bind(vl);\n var handleResizeBound = vl.handleResize.bind(vl);\n var $pageEl;\n var $tabEl;\n var $panelEl;\n var $popupEl;\n\n vl.attachEvents = function attachEvents() {\n $pageEl = vl.$el.parents('.page').eq(0);\n $tabEl = vl.$el.parents('.tab').eq(0);\n $panelEl = vl.$el.parents('.panel').eq(0);\n $popupEl = vl.$el.parents('.popup').eq(0);\n vl.$scrollableParentEl.on('scroll', handleScrollBound);\n if ($pageEl) $pageEl.on('page:reinit', handleResizeBound);\n if ($tabEl) $tabEl.on('tab:show', handleResizeBound);\n if ($panelEl) $panelEl.on('panel:open', handleResizeBound);\n if ($popupEl) $popupEl.on('popup:open', handleResizeBound);\n app.on('resize', handleResizeBound);\n };\n\n vl.detachEvents = function attachEvents() {\n vl.$scrollableParentEl.off('scroll', handleScrollBound);\n if ($pageEl) $pageEl.off('page:reinit', handleResizeBound);\n if ($tabEl) $tabEl.off('tab:show', handleResizeBound);\n if ($panelEl) $panelEl.off('panel:open', handleResizeBound);\n if ($popupEl) $popupEl.off('popup:open', handleResizeBound);\n app.off('resize', handleResizeBound);\n }; // Init\n\n\n vl.init();\n return _possibleConstructorReturn(_this, vl);\n }\n\n _createClass(VirtualList, [{\n key: \"setListSize\",\n value: function setListSize() {\n var vl = this;\n var items = vl.filteredItems || vl.items;\n vl.pageHeight = vl.$scrollableParentEl[0].offsetHeight;\n\n if (vl.dynamicHeight) {\n vl.listHeight = 0;\n vl.heights = [];\n\n for (var i = 0; i < items.length; i += 1) {\n var itemHeight = vl.params.height(items[i]);\n vl.listHeight += itemHeight;\n vl.heights.push(itemHeight);\n }\n } else {\n vl.listHeight = Math.ceil(items.length / vl.params.cols) * vl.params.height;\n vl.rowsPerScreen = Math.ceil(vl.pageHeight / vl.params.height);\n vl.rowsBefore = vl.params.rowsBefore || vl.rowsPerScreen * 2;\n vl.rowsAfter = vl.params.rowsAfter || vl.rowsPerScreen;\n vl.rowsToRender = vl.rowsPerScreen + vl.rowsBefore + vl.rowsAfter;\n vl.maxBufferHeight = vl.rowsBefore / 2 * vl.params.height;\n }\n\n if (vl.updatableScroll || vl.params.setListHeight) {\n vl.$itemsWrapEl.css({\n height: \"\".concat(vl.listHeight, \"px\")\n });\n }\n }\n }, {\n key: \"render\",\n value: function render(force, forceScrollTop) {\n var vl = this;\n if (force) vl.lastRepaintY = null;\n var scrollTop = -(vl.$el[0].getBoundingClientRect().top - vl.$scrollableParentEl[0].getBoundingClientRect().top);\n if (typeof forceScrollTop !== 'undefined') scrollTop = forceScrollTop;\n\n if (vl.lastRepaintY === null || Math.abs(scrollTop - vl.lastRepaintY) > vl.maxBufferHeight || !vl.updatableScroll && vl.$scrollableParentEl[0].scrollTop + vl.pageHeight >= vl.$scrollableParentEl[0].scrollHeight) {\n vl.lastRepaintY = scrollTop;\n } else {\n return;\n }\n\n var items = vl.filteredItems || vl.items;\n var fromIndex;\n var toIndex;\n var heightBeforeFirstItem = 0;\n var heightBeforeLastItem = 0;\n\n if (vl.dynamicHeight) {\n var itemTop = 0;\n var itemHeight;\n vl.maxBufferHeight = vl.pageHeight;\n\n for (var j = 0; j < vl.heights.length; j += 1) {\n itemHeight = vl.heights[j];\n\n if (typeof fromIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop - vl.pageHeight * 2 * vl.params.dynamicHeightBufferSize) fromIndex = j;else heightBeforeFirstItem += itemHeight;\n }\n\n if (typeof toIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop + vl.pageHeight * 2 * vl.params.dynamicHeightBufferSize || j === vl.heights.length - 1) toIndex = j + 1;\n heightBeforeLastItem += itemHeight;\n }\n\n itemTop += itemHeight;\n }\n\n toIndex = Math.min(toIndex, items.length);\n } else {\n fromIndex = (parseInt(scrollTop / vl.params.height, 10) - vl.rowsBefore) * vl.params.cols;\n\n if (fromIndex < 0) {\n fromIndex = 0;\n }\n\n toIndex = Math.min(fromIndex + vl.rowsToRender * vl.params.cols, items.length);\n }\n\n var topPosition;\n var renderExternalItems = [];\n vl.reachEnd = false;\n var i;\n\n for (i = fromIndex; i < toIndex; i += 1) {\n var itemEl = void 0; // Define real item index\n\n var index = vl.items.indexOf(items[i]);\n if (i === fromIndex) vl.currentFromIndex = index;\n if (i === toIndex - 1) vl.currentToIndex = index;\n\n if (vl.filteredItems) {\n if (vl.items[index] === vl.filteredItems[vl.filteredItems.length - 1]) vl.reachEnd = true;\n } else if (index === vl.items.length - 1) vl.reachEnd = true; // Find items\n\n\n if (vl.params.renderExternal) {\n renderExternalItems.push(items[i]);\n } else if (vl.domCache[index]) {\n itemEl = vl.domCache[index];\n itemEl.f7VirtualListIndex = index;\n } else {\n if (vl.renderItem) {\n vl.tempDomElement.innerHTML = vl.renderItem(items[i], index).trim();\n } else {\n vl.tempDomElement.innerHTML = items[i].toString().trim();\n }\n\n itemEl = vl.tempDomElement.childNodes[0];\n if (vl.params.cache) vl.domCache[index] = itemEl;\n itemEl.f7VirtualListIndex = index;\n } // Set item top position\n\n\n if (i === fromIndex) {\n if (vl.dynamicHeight) {\n topPosition = heightBeforeFirstItem;\n } else {\n topPosition = i * vl.params.height / vl.params.cols;\n }\n }\n\n if (!vl.params.renderExternal) {\n itemEl.style.top = \"\".concat(topPosition, \"px\"); // Before item insert\n\n vl.emit('local::itemBeforeInsert vlItemBeforeInsert', vl, itemEl, items[i]); // Append item to fragment\n\n vl.fragment.appendChild(itemEl);\n }\n } // Update list height with not updatable scroll\n\n\n if (!vl.updatableScroll) {\n if (vl.dynamicHeight) {\n vl.itemsWrapEl.style.height = \"\".concat(heightBeforeLastItem, \"px\");\n } else {\n vl.itemsWrapEl.style.height = \"\".concat(i * vl.params.height / vl.params.cols, \"px\");\n }\n } // Update list html\n\n\n if (vl.params.renderExternal) {\n if (items && items.length === 0) {\n vl.reachEnd = true;\n }\n } else {\n vl.emit('local::beforeClear vlBeforeClear', vl, vl.fragment);\n vl.itemsWrapEl.innerHTML = '';\n vl.emit('local::itemsBeforeInsert vlItemsBeforeInsert', vl, vl.fragment);\n\n if (items && items.length === 0) {\n vl.reachEnd = true;\n if (vl.params.emptyTemplate) vl.itemsWrapEl.innerHTML = vl.params.emptyTemplate;\n } else {\n vl.itemsWrapEl.appendChild(vl.fragment);\n }\n\n vl.emit('local::itemsAfterInsert vlItemsAfterInsert', vl, vl.fragment);\n }\n\n if (typeof forceScrollTop !== 'undefined' && force) {\n vl.$scrollableParentEl.scrollTop(forceScrollTop, 0);\n }\n\n if (vl.params.renderExternal) {\n vl.params.renderExternal(vl, {\n fromIndex: fromIndex,\n toIndex: toIndex,\n listHeight: vl.listHeight,\n topPosition: topPosition,\n items: renderExternalItems\n });\n }\n } // Filter\n\n }, {\n key: \"filterItems\",\n value: function filterItems(indexes) {\n var resetScrollTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var vl = this;\n vl.filteredItems = [];\n\n for (var i = 0; i < indexes.length; i += 1) {\n vl.filteredItems.push(vl.items[indexes[i]]);\n }\n\n if (resetScrollTop) {\n vl.$scrollableParentEl[0].scrollTop = 0;\n }\n\n vl.update();\n }\n }, {\n key: \"resetFilter\",\n value: function resetFilter() {\n var vl = this;\n\n if (vl.params.showFilteredItemsOnly) {\n vl.filteredItems = [];\n } else {\n vl.filteredItems = null;\n delete vl.filteredItems;\n }\n\n vl.update();\n }\n }, {\n key: \"scrollToItem\",\n value: function scrollToItem(index) {\n var vl = this;\n if (index > vl.items.length) return false;\n var itemTop = 0;\n\n if (vl.dynamicHeight) {\n for (var i = 0; i < index; i += 1) {\n itemTop += vl.heights[i];\n }\n } else {\n itemTop = index * vl.params.height;\n }\n\n var listTop = vl.$el[0].offsetTop;\n vl.render(true, listTop + itemTop - parseInt(vl.$scrollableParentEl.css('padding-top'), 10));\n return true;\n }\n }, {\n key: \"handleScroll\",\n value: function handleScroll() {\n var vl = this;\n vl.render();\n } // Handle resize event\n\n }, {\n key: \"isVisible\",\n value: function isVisible() {\n var vl = this;\n return !!(vl.el.offsetWidth || vl.el.offsetHeight || vl.el.getClientRects().length);\n }\n }, {\n key: \"handleResize\",\n value: function handleResize() {\n var vl = this;\n\n if (vl.isVisible()) {\n vl.setListSize();\n vl.render(true);\n }\n } // Append\n\n }, {\n key: \"appendItems\",\n value: function appendItems(items) {\n var vl = this;\n\n for (var i = 0; i < items.length; i += 1) {\n vl.items.push(items[i]);\n }\n\n vl.update();\n }\n }, {\n key: \"appendItem\",\n value: function appendItem(item) {\n var vl = this;\n vl.appendItems([item]);\n } // Replace\n\n }, {\n key: \"replaceAllItems\",\n value: function replaceAllItems(items) {\n var vl = this;\n vl.items = items;\n delete vl.filteredItems;\n vl.domCache = {};\n vl.update();\n }\n }, {\n key: \"replaceItem\",\n value: function replaceItem(index, item) {\n var vl = this;\n vl.items[index] = item;\n if (vl.params.cache) delete vl.domCache[index];\n vl.update();\n } // Prepend\n\n }, {\n key: \"prependItems\",\n value: function prependItems(items) {\n var vl = this;\n\n for (var i = items.length - 1; i >= 0; i -= 1) {\n vl.items.unshift(items[i]);\n }\n\n if (vl.params.cache) {\n var newCache = {};\n Object.keys(vl.domCache).forEach(function (cached) {\n newCache[parseInt(cached, 10) + items.length] = vl.domCache[cached];\n });\n vl.domCache = newCache;\n }\n\n vl.update();\n }\n }, {\n key: \"prependItem\",\n value: function prependItem(item) {\n var vl = this;\n vl.prependItems([item]);\n } // Move\n\n }, {\n key: \"moveItem\",\n value: function moveItem(from, to) {\n var vl = this;\n var fromIndex = from;\n var toIndex = to;\n if (fromIndex === toIndex) return; // remove item from array\n\n var item = vl.items.splice(fromIndex, 1)[0];\n\n if (toIndex >= vl.items.length) {\n // Add item to the end\n vl.items.push(item);\n toIndex = vl.items.length - 1;\n } else {\n // Add item to new index\n vl.items.splice(toIndex, 0, item);\n } // Update cache\n\n\n if (vl.params.cache) {\n var newCache = {};\n Object.keys(vl.domCache).forEach(function (cached) {\n var cachedIndex = parseInt(cached, 10);\n var leftIndex = fromIndex < toIndex ? fromIndex : toIndex;\n var rightIndex = fromIndex < toIndex ? toIndex : fromIndex;\n var indexShift = fromIndex < toIndex ? -1 : 1;\n if (cachedIndex < leftIndex || cachedIndex > rightIndex) newCache[cachedIndex] = vl.domCache[cachedIndex];\n if (cachedIndex === leftIndex) newCache[rightIndex] = vl.domCache[cachedIndex];\n if (cachedIndex > leftIndex && cachedIndex <= rightIndex) newCache[cachedIndex + indexShift] = vl.domCache[cachedIndex];\n });\n vl.domCache = newCache;\n }\n\n vl.update();\n } // Insert before\n\n }, {\n key: \"insertItemBefore\",\n value: function insertItemBefore(index, item) {\n var vl = this;\n\n if (index === 0) {\n vl.prependItem(item);\n return;\n }\n\n if (index >= vl.items.length) {\n vl.appendItem(item);\n return;\n }\n\n vl.items.splice(index, 0, item); // Update cache\n\n if (vl.params.cache) {\n var newCache = {};\n Object.keys(vl.domCache).forEach(function (cached) {\n var cachedIndex = parseInt(cached, 10);\n\n if (cachedIndex >= index) {\n newCache[cachedIndex + 1] = vl.domCache[cachedIndex];\n }\n });\n vl.domCache = newCache;\n }\n\n vl.update();\n } // Delete\n\n }, {\n key: \"deleteItems\",\n value: function deleteItems(indexes) {\n var vl = this;\n var prevIndex;\n var indexShift = 0;\n\n var _loop = function _loop(i) {\n var index = indexes[i];\n\n if (typeof prevIndex !== 'undefined') {\n if (index > prevIndex) {\n indexShift = -i;\n }\n }\n\n index += indexShift;\n prevIndex = indexes[i]; // Delete item\n\n var deletedItem = vl.items.splice(index, 1)[0]; // Delete from filtered\n\n if (vl.filteredItems && vl.filteredItems.indexOf(deletedItem) >= 0) {\n vl.filteredItems.splice(vl.filteredItems.indexOf(deletedItem), 1);\n } // Update cache\n\n\n if (vl.params.cache) {\n var newCache = {};\n Object.keys(vl.domCache).forEach(function (cached) {\n var cachedIndex = parseInt(cached, 10);\n\n if (cachedIndex === index) {\n delete vl.domCache[index];\n } else if (parseInt(cached, 10) > index) {\n newCache[cachedIndex - 1] = vl.domCache[cached];\n } else {\n newCache[cachedIndex] = vl.domCache[cached];\n }\n });\n vl.domCache = newCache;\n }\n };\n\n for (var i = 0; i < indexes.length; i += 1) {\n _loop(i);\n }\n\n vl.update();\n }\n }, {\n key: \"deleteAllItems\",\n value: function deleteAllItems() {\n var vl = this;\n vl.items = [];\n delete vl.filteredItems;\n if (vl.params.cache) vl.domCache = {};\n vl.update();\n }\n }, {\n key: \"deleteItem\",\n value: function deleteItem(index) {\n var vl = this;\n vl.deleteItems([index]);\n } // Clear cache\n\n }, {\n key: \"clearCache\",\n value: function clearCache() {\n var vl = this;\n vl.domCache = {};\n } // Update Virtual List\n\n }, {\n key: \"update\",\n value: function update(deleteCache) {\n var vl = this;\n\n if (deleteCache && vl.params.cache) {\n vl.domCache = {};\n }\n\n vl.setListSize();\n vl.render(true);\n }\n }, {\n key: \"init\",\n value: function init() {\n var vl = this;\n vl.attachEvents();\n vl.setListSize();\n vl.render();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var vl = this;\n vl.detachEvents();\n vl.$el[0].f7VirtualList = null;\n delete vl.$el[0].f7VirtualList;\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deleteProps(vl);\n vl = null;\n }\n }]);\n\n return VirtualList;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VirtualList);\n\n//# sourceURL=webpack:///./node_modules/framework7/components/virtual-list/virtual-list-class.js?");
  1801. /***/ }),
  1802. /***/ "./node_modules/framework7/components/virtual-list/virtual-list.js":
  1803. /*!*************************************************************************!*\
  1804. !*** ./node_modules/framework7/components/virtual-list/virtual-list.js ***!
  1805. \*************************************************************************/
  1806. /*! exports provided: default */
  1807. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1808. "use strict";
  1809. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _virtual_list_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./virtual-list-class */ \"./node_modules/framework7/components/virtual-list/virtual-list-class.js\");\n/* harmony import */ var _utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'virtualList',\n static: {\n VirtualList: _virtual_list_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n create: function create() {\n var app = this;\n app.virtualList = Object(_utils_constructor_methods__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n defaultSelector: '.virtual-list',\n constructor: _virtual_list_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n app: app,\n domProp: 'f7VirtualList'\n });\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/components/virtual-list/virtual-list.js?");
  1810. /***/ }),
  1811. /***/ "./node_modules/framework7/css/framework7.bundle.css":
  1812. /*!***********************************************************!*\
  1813. !*** ./node_modules/framework7/css/framework7.bundle.css ***!
  1814. \***********************************************************/
  1815. /*! no static exports found */
  1816. /***/ (function(module, exports, __webpack_require__) {
  1817. eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/framework7/css/framework7.bundle.css?");
  1818. /***/ }),
  1819. /***/ "./node_modules/framework7/framework7.esm.bundle.js":
  1820. /*!**********************************************************!*\
  1821. !*** ./node_modules/framework7/framework7.esm.bundle.js ***!
  1822. \**********************************************************/
  1823. /*! exports provided: Template7, Dom7, Request, Utils, Device, Support, default */
  1824. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1825. "use strict";
  1826. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! template7 */ \"./node_modules/framework7/node_modules/template7/dist/template7.esm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Template7\", function() { return template7__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Dom7\", function() { return dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _components_app_app_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/app/app-class */ \"./node_modules/framework7/components/app/app-class.js\");\n/* harmony import */ var _utils_request__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/request */ \"./node_modules/framework7/utils/request.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Request\", function() { return _utils_request__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Utils\", function() { return _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Support\", function() { return _utils_support__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/device */ \"./node_modules/framework7/utils/device.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Device\", function() { return _utils_device__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _modules_device_device__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/device/device */ \"./node_modules/framework7/modules/device/device.js\");\n/* harmony import */ var _modules_support_support__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/support/support */ \"./node_modules/framework7/modules/support/support.js\");\n/* harmony import */ var _modules_utils_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/utils/utils */ \"./node_modules/framework7/modules/utils/utils.js\");\n/* harmony import */ var _modules_resize_resize__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/resize/resize */ \"./node_modules/framework7/modules/resize/resize.js\");\n/* harmony import */ var _modules_request_request__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/request/request */ \"./node_modules/framework7/modules/request/request.js\");\n/* harmony import */ var _modules_touch_touch__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/touch/touch */ \"./node_modules/framework7/modules/touch/touch.js\");\n/* harmony import */ var _modules_clicks_clicks__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/clicks/clicks */ \"./node_modules/framework7/modules/clicks/clicks.js\");\n/* harmony import */ var _modules_router_router__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/router/router */ \"./node_modules/framework7/modules/router/router.js\");\n/* harmony import */ var _modules_router_template_loader__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/router/template-loader */ \"./node_modules/framework7/modules/router/template-loader.js\");\n/* harmony import */ var _modules_router_component_loader__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./modules/router/component-loader */ \"./node_modules/framework7/modules/router/component-loader.js\");\n/* harmony import */ var _modules_history_history__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./modules/history/history */ \"./node_modules/framework7/modules/history/history.js\");\n/* harmony import */ var _modules_storage_storage__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./modules/storage/storage */ \"./node_modules/framework7/modules/storage/storage.js\");\n/* harmony import */ var _modules_component_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./modules/component/component */ \"./node_modules/framework7/modules/component/component.js\");\n/* harmony import */ var _modules_service_worker_service_worker__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./modules/service-worker/service-worker */ \"./node_modules/framework7/modules/service-worker/service-worker.js\");\n/* harmony import */ var _components_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./components/statusbar/statusbar */ \"./node_modules/framework7/components/statusbar/statusbar.js\");\n/* harmony import */ var _components_view_view__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./components/view/view */ \"./node_modules/framework7/components/view/view.js\");\n/* harmony import */ var _components_navbar_navbar__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./components/navbar/navbar */ \"./node_modules/framework7/components/navbar/navbar.js\");\n/* harmony import */ var _components_toolbar_toolbar__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./components/toolbar/toolbar */ \"./node_modules/framework7/components/toolbar/toolbar.js\");\n/* harmony import */ var _components_subnavbar_subnavbar__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./components/subnavbar/subnavbar */ \"./node_modules/framework7/components/subnavbar/subnavbar.js\");\n/* harmony import */ var _components_touch_ripple_touch_ripple__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./components/touch-ripple/touch-ripple */ \"./node_modules/framework7/components/touch-ripple/touch-ripple.js\");\n/* harmony import */ var _components_modal_modal__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./components/modal/modal */ \"./node_modules/framework7/components/modal/modal.js\");\n/* harmony import */ var _modules_router_router_class__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./modules/router/router-class */ \"./node_modules/framework7/modules/router/router-class.js\");\n/* harmony import */ var _components_appbar_appbar__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./components/appbar/appbar */ \"./node_modules/framework7/components/appbar/appbar.js\");\n/* harmony import */ var _components_dialog_dialog__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./components/dialog/dialog */ \"./node_modules/framework7/components/dialog/dialog.js\");\n/* harmony import */ var _components_popup_popup__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./components/popup/popup */ \"./node_modules/framework7/components/popup/popup.js\");\n/* harmony import */ var _components_login_screen_login_screen__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./components/login-screen/login-screen */ \"./node_modules/framework7/components/login-screen/login-screen.js\");\n/* harmony import */ var _components_popover_popover__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./components/popover/popover */ \"./node_modules/framework7/components/popover/popover.js\");\n/* harmony import */ var _components_actions_actions__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./components/actions/actions */ \"./node_modules/framework7/components/actions/actions.js\");\n/* harmony import */ var _components_sheet_sheet__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./components/sheet/sheet */ \"./node_modules/framework7/components/sheet/sheet.js\");\n/* harmony import */ var _components_toast_toast__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./components/toast/toast */ \"./node_modules/framework7/components/toast/toast.js\");\n/* harmony import */ var _components_preloader_preloader__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./components/preloader/preloader */ \"./node_modules/framework7/components/preloader/preloader.js\");\n/* harmony import */ var _components_progressbar_progressbar__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./components/progressbar/progressbar */ \"./node_modules/framework7/components/progressbar/progressbar.js\");\n/* harmony import */ var _components_sortable_sortable__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./components/sortable/sortable */ \"./node_modules/framework7/components/sortable/sortable.js\");\n/* harmony import */ var _components_swipeout_swipeout__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./components/swipeout/swipeout */ \"./node_modules/framework7/components/swipeout/swipeout.js\");\n/* harmony import */ var _components_accordion_accordion__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./components/accordion/accordion */ \"./node_modules/framework7/components/accordion/accordion.js\");\n/* harmony import */ var _components_contacts_list_contacts_list__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./components/contacts-list/contacts-list */ \"./node_modules/framework7/components/contacts-list/contacts-list.js\");\n/* harmony import */ var _components_virtual_list_virtual_list__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./components/virtual-list/virtual-list */ \"./node_modules/framework7/components/virtual-list/virtual-list.js\");\n/* harmony import */ var _components_list_index_list_index__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./components/list-index/list-index */ \"./node_modules/framework7/components/list-index/list-index.js\");\n/* harmony import */ var _components_timeline_timeline__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./components/timeline/timeline */ \"./node_modules/framework7/components/timeline/timeline.js\");\n/* harmony import */ var _components_tabs_tabs__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./components/tabs/tabs */ \"./node_modules/framework7/components/tabs/tabs.js\");\n/* harmony import */ var _components_panel_panel__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./components/panel/panel */ \"./node_modules/framework7/components/panel/panel.js\");\n/* harmony import */ var _components_card_card__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./components/card/card */ \"./node_modules/framework7/components/card/card.js\");\n/* harmony import */ var _components_chip_chip__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./components/chip/chip */ \"./node_modules/framework7/components/chip/chip.js\");\n/* harmony import */ var _components_form_form__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./components/form/form */ \"./node_modules/framework7/components/form/form.js\");\n/* harmony import */ var _components_input_input__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./components/input/input */ \"./node_modules/framework7/components/input/input.js\");\n/* harmony import */ var _components_checkbox_checkbox__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./components/checkbox/checkbox */ \"./node_modules/framework7/components/checkbox/checkbox.js\");\n/* harmony import */ var _components_radio_radio__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./components/radio/radio */ \"./node_modules/framework7/components/radio/radio.js\");\n/* harmony import */ var _components_toggle_toggle__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./components/toggle/toggle */ \"./node_modules/framework7/components/toggle/toggle.js\");\n/* harmony import */ var _components_range_range__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./components/range/range */ \"./node_modules/framework7/components/range/range.js\");\n/* harmony import */ var _components_stepper_stepper__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./components/stepper/stepper */ \"./node_modules/framework7/components/stepper/stepper.js\");\n/* harmony import */ var _components_smart_select_smart_select__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./components/smart-select/smart-select */ \"./node_modules/framework7/components/smart-select/smart-select.js\");\n/* harmony import */ var _components_grid_grid__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./components/grid/grid */ \"./node_modules/framework7/components/grid/grid.js\");\n/* harmony import */ var _components_calendar_calendar__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./components/calendar/calendar */ \"./node_modules/framework7/components/calendar/calendar.js\");\n/* harmony import */ var _components_picker_picker__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./components/picker/picker */ \"./node_modules/framework7/components/picker/picker.js\");\n/* harmony import */ var _components_infinite_scroll_infinite_scroll__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./components/infinite-scroll/infinite-scroll */ \"./node_modules/framework7/components/infinite-scroll/infinite-scroll.js\");\n/* harmony import */ var _components_pull_to_refresh_pull_to_refresh__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./components/pull-to-refresh/pull-to-refresh */ \"./node_modules/framework7/components/pull-to-refresh/pull-to-refresh.js\");\n/* harmony import */ var _components_lazy_lazy__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./components/lazy/lazy */ \"./node_modules/framework7/components/lazy/lazy.js\");\n/* harmony import */ var _components_data_table_data_table__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./components/data-table/data-table */ \"./node_modules/framework7/components/data-table/data-table.js\");\n/* harmony import */ var _components_fab_fab__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./components/fab/fab */ \"./node_modules/framework7/components/fab/fab.js\");\n/* harmony import */ var _components_searchbar_searchbar__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./components/searchbar/searchbar */ \"./node_modules/framework7/components/searchbar/searchbar.js\");\n/* harmony import */ var _components_messages_messages__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./components/messages/messages */ \"./node_modules/framework7/components/messages/messages.js\");\n/* harmony import */ var _components_messagebar_messagebar__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./components/messagebar/messagebar */ \"./node_modules/framework7/components/messagebar/messagebar.js\");\n/* harmony import */ var _components_swiper_swiper__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./components/swiper/swiper */ \"./node_modules/framework7/components/swiper/swiper.js\");\n/* harmony import */ var _components_photo_browser_photo_browser__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./components/photo-browser/photo-browser */ \"./node_modules/framework7/components/photo-browser/photo-browser.js\");\n/* harmony import */ var _components_notification_notification__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./components/notification/notification */ \"./node_modules/framework7/components/notification/notification.js\");\n/* harmony import */ var _components_autocomplete_autocomplete__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./components/autocomplete/autocomplete */ \"./node_modules/framework7/components/autocomplete/autocomplete.js\");\n/* harmony import */ var _components_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./components/tooltip/tooltip */ \"./node_modules/framework7/components/tooltip/tooltip.js\");\n/* harmony import */ var _components_gauge_gauge__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./components/gauge/gauge */ \"./node_modules/framework7/components/gauge/gauge.js\");\n/* harmony import */ var _components_skeleton_skeleton__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./components/skeleton/skeleton */ \"./node_modules/framework7/components/skeleton/skeleton.js\");\n/* harmony import */ var _components_menu_menu__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./components/menu/menu */ \"./node_modules/framework7/components/menu/menu.js\");\n/* harmony import */ var _components_color_picker_color_picker__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./components/color-picker/color-picker */ \"./node_modules/framework7/components/color-picker/color-picker.js\");\n/* harmony import */ var _components_treeview_treeview__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./components/treeview/treeview */ \"./node_modules/framework7/components/treeview/treeview.js\");\n/* harmony import */ var _components_vi_vi__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./components/vi/vi */ \"./node_modules/framework7/components/vi/vi.js\");\n/* harmony import */ var _components_elevation_elevation__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./components/elevation/elevation */ \"./node_modules/framework7/components/elevation/elevation.js\");\n/* harmony import */ var _components_typography_typography__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./components/typography/typography */ \"./node_modules/framework7/components/typography/typography.js\");\n/**\n * Framework7 4.5.2\n * Full featured mobile HTML framework for building iOS & Android apps\n * http://framework7.io/\n *\n * Copyright 2014-2019 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: September 27, 2019\n */\n\n // F7 Class\n\n // Import Helpers\n\n\n\n\n // Core Modules\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // Core Components\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nif (false) {} // Install Core Modules & Components\n\n\n_modules_router_router_class__WEBPACK_IMPORTED_MODULE_28__[\"default\"].use([_modules_router_template_loader__WEBPACK_IMPORTED_MODULE_15__[\"default\"], _modules_router_component_loader__WEBPACK_IMPORTED_MODULE_16__[\"default\"]]);\n_components_app_app_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"].use([_modules_device_device__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _modules_support_support__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _modules_utils_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _modules_resize_resize__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _modules_request_request__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _modules_touch_touch__WEBPACK_IMPORTED_MODULE_12__[\"default\"], _modules_clicks_clicks__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _modules_router_router__WEBPACK_IMPORTED_MODULE_14__[\"default\"], _modules_history_history__WEBPACK_IMPORTED_MODULE_17__[\"default\"], _modules_storage_storage__WEBPACK_IMPORTED_MODULE_18__[\"default\"], _modules_component_component__WEBPACK_IMPORTED_MODULE_19__[\"default\"], _modules_service_worker_service_worker__WEBPACK_IMPORTED_MODULE_20__[\"default\"], _components_statusbar_statusbar__WEBPACK_IMPORTED_MODULE_21__[\"default\"], _components_view_view__WEBPACK_IMPORTED_MODULE_22__[\"default\"], _components_navbar_navbar__WEBPACK_IMPORTED_MODULE_23__[\"default\"], _components_toolbar_toolbar__WEBPACK_IMPORTED_MODULE_24__[\"default\"], _components_subnavbar_subnavbar__WEBPACK_IMPORTED_MODULE_25__[\"default\"], _components_touch_ripple_touch_ripple__WEBPACK_IMPORTED_MODULE_26__[\"default\"], _components_modal_modal__WEBPACK_IMPORTED_MODULE_27__[\"default\"], _components_appbar_appbar__WEBPACK_IMPORTED_MODULE_29__[\"default\"], _components_dialog_dialog__WEBPACK_IMPORTED_MODULE_30__[\"default\"], _components_popup_popup__WEBPACK_IMPORTED_MODULE_31__[\"default\"], _components_login_screen_login_screen__WEBPACK_IMPORTED_MODULE_32__[\"default\"], _components_popover_popover__WEBPACK_IMPORTED_MODULE_33__[\"default\"], _components_actions_actions__WEBPACK_IMPORTED_MODULE_34__[\"default\"], _components_sheet_sheet__WEBPACK_IMPORTED_MODULE_35__[\"default\"], _components_toast_toast__WEBPACK_IMPORTED_MODULE_36__[\"default\"], _components_preloader_preloader__WEBPACK_IMPORTED_MODULE_37__[\"default\"], _components_progressbar_progressbar__WEBPACK_IMPORTED_MODULE_38__[\"default\"], _components_sortable_sortable__WEBPACK_IMPORTED_MODULE_39__[\"default\"], _components_swipeout_swipeout__WEBPACK_IMPORTED_MODULE_40__[\"default\"], _components_accordion_accordion__WEBPACK_IMPORTED_MODULE_41__[\"default\"], _components_contacts_list_contacts_list__WEBPACK_IMPORTED_MODULE_42__[\"default\"], _components_virtual_list_virtual_list__WEBPACK_IMPORTED_MODULE_43__[\"default\"], _components_list_index_list_index__WEBPACK_IMPORTED_MODULE_44__[\"default\"], _components_timeline_timeline__WEBPACK_IMPORTED_MODULE_45__[\"default\"], _components_tabs_tabs__WEBPACK_IMPORTED_MODULE_46__[\"default\"], _components_panel_panel__WEBPACK_IMPORTED_MODULE_47__[\"default\"], _components_card_card__WEBPACK_IMPORTED_MODULE_48__[\"default\"], _components_chip_chip__WEBPACK_IMPORTED_MODULE_49__[\"default\"], _components_form_form__WEBPACK_IMPORTED_MODULE_50__[\"default\"], _components_input_input__WEBPACK_IMPORTED_MODULE_51__[\"default\"], _components_checkbox_checkbox__WEBPACK_IMPORTED_MODULE_52__[\"default\"], _components_radio_radio__WEBPACK_IMPORTED_MODULE_53__[\"default\"], _components_toggle_toggle__WEBPACK_IMPORTED_MODULE_54__[\"default\"], _components_range_range__WEBPACK_IMPORTED_MODULE_55__[\"default\"], _components_stepper_stepper__WEBPACK_IMPORTED_MODULE_56__[\"default\"], _components_smart_select_smart_select__WEBPACK_IMPORTED_MODULE_57__[\"default\"], _components_grid_grid__WEBPACK_IMPORTED_MODULE_58__[\"default\"], _components_calendar_calendar__WEBPACK_IMPORTED_MODULE_59__[\"default\"], _components_picker_picker__WEBPACK_IMPORTED_MODULE_60__[\"default\"], _components_infinite_scroll_infinite_scroll__WEBPACK_IMPORTED_MODULE_61__[\"default\"], _components_pull_to_refresh_pull_to_refresh__WEBPACK_IMPORTED_MODULE_62__[\"default\"], _components_lazy_lazy__WEBPACK_IMPORTED_MODULE_63__[\"default\"], _components_data_table_data_table__WEBPACK_IMPORTED_MODULE_64__[\"default\"], _components_fab_fab__WEBPACK_IMPORTED_MODULE_65__[\"default\"], _components_searchbar_searchbar__WEBPACK_IMPORTED_MODULE_66__[\"default\"], _components_messages_messages__WEBPACK_IMPORTED_MODULE_67__[\"default\"], _components_messagebar_messagebar__WEBPACK_IMPORTED_MODULE_68__[\"default\"], _components_swiper_swiper__WEBPACK_IMPORTED_MODULE_69__[\"default\"], _components_photo_browser_photo_browser__WEBPACK_IMPORTED_MODULE_70__[\"default\"], _components_notification_notification__WEBPACK_IMPORTED_MODULE_71__[\"default\"], _components_autocomplete_autocomplete__WEBPACK_IMPORTED_MODULE_72__[\"default\"], _components_tooltip_tooltip__WEBPACK_IMPORTED_MODULE_73__[\"default\"], _components_gauge_gauge__WEBPACK_IMPORTED_MODULE_74__[\"default\"], _components_skeleton_skeleton__WEBPACK_IMPORTED_MODULE_75__[\"default\"], _components_menu_menu__WEBPACK_IMPORTED_MODULE_76__[\"default\"], _components_color_picker_color_picker__WEBPACK_IMPORTED_MODULE_77__[\"default\"], _components_treeview_treeview__WEBPACK_IMPORTED_MODULE_78__[\"default\"], _components_vi_vi__WEBPACK_IMPORTED_MODULE_79__[\"default\"], _components_elevation_elevation__WEBPACK_IMPORTED_MODULE_80__[\"default\"], _components_typography_typography__WEBPACK_IMPORTED_MODULE_81__[\"default\"]]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_components_app_app_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/framework7/framework7.esm.bundle.js?");
  1827. /***/ }),
  1828. /***/ "./node_modules/framework7/modules/clicks/clicks.js":
  1829. /*!**********************************************************!*\
  1830. !*** ./node_modules/framework7/modules/clicks/clicks.js ***!
  1831. \**********************************************************/
  1832. /*! exports provided: default */
  1833. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1834. "use strict";
  1835. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _components_view_view_class__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../components/view/view-class */ \"./node_modules/framework7/components/view/view-class.js\");\n\n // import Device from '../../utils/device';\n// import Support from '../../utils/support';\n\n\n\nfunction initClicks(app) {\n function handleClicks(e) {\n var $clickedEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n var $clickedLinkEl = $clickedEl.closest('a');\n var isLink = $clickedLinkEl.length > 0;\n var url = isLink && $clickedLinkEl.attr('href'); // const isTabLink = isLink && $clickedLinkEl.hasClass('tab-link') && ($clickedLinkEl.attr('data-tab') || (url && url.indexOf('#') === 0));\n // Check if link is external\n\n if (isLink) {\n // eslint-disable-next-line\n if ($clickedLinkEl.is(app.params.clicks.externalLinks) || url && url.indexOf('javascript:') >= 0) {\n var target = $clickedLinkEl.attr('target');\n\n if (url && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].cordova && ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].cordova.InAppBrowser && (target === '_system' || target === '_blank')) {\n e.preventDefault();\n ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"window\"].cordova.InAppBrowser.open(url, target);\n }\n\n return;\n }\n } // Modules Clicks\n\n\n Object.keys(app.modules).forEach(function (moduleName) {\n var moduleClicks = app.modules[moduleName].clicks;\n if (!moduleClicks) return;\n if (e.preventF7Router) return;\n Object.keys(moduleClicks).forEach(function (clickSelector) {\n var matchingClickedElement = $clickedEl.closest(clickSelector).eq(0);\n\n if (matchingClickedElement.length > 0) {\n moduleClicks[clickSelector].call(app, matchingClickedElement, matchingClickedElement.dataset(), e);\n }\n });\n }); // Load Page\n\n var clickedLinkData = {};\n\n if (isLink) {\n e.preventDefault();\n clickedLinkData = $clickedLinkEl.dataset();\n } // Prevent Router\n\n\n if (e.preventF7Router) return;\n if ($clickedLinkEl.hasClass('prevent-router') || $clickedLinkEl.hasClass('router-prevent')) return;\n var validUrl = url && url.length > 0 && url[0] !== '#';\n\n if (validUrl || $clickedLinkEl.hasClass('back')) {\n var view;\n\n if (clickedLinkData.view) {\n view = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(clickedLinkData.view)[0].f7View;\n } else {\n view = $clickedEl.parents('.view')[0] && $clickedEl.parents('.view')[0].f7View;\n\n if (!$clickedLinkEl.hasClass('back') && view && view.params.linksView) {\n if (typeof view.params.linksView === 'string') view = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(view.params.linksView)[0].f7View;else if (view.params.linksView instanceof _components_view_view_class__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) view = view.params.linksView;\n }\n }\n\n if (!view) {\n if (app.views.main) view = app.views.main;\n }\n\n if (!view || !view.router) return;\n\n if (clickedLinkData.context && typeof clickedLinkData.context === 'string') {\n try {\n clickedLinkData.context = JSON.parse(clickedLinkData.context);\n } catch (err) {// something wrong there\n }\n }\n\n if ($clickedLinkEl[0].f7RouteProps) {\n clickedLinkData.props = $clickedLinkEl[0].f7RouteProps;\n }\n\n if ($clickedLinkEl.hasClass('back')) view.router.back(url, clickedLinkData);else view.router.navigate(url, clickedLinkData);\n }\n }\n\n app.on('click', handleClicks); // TODO: check if need this in iOS\n // Prevent scrolling on overlays\n // function preventScrolling(e) {\n // e.preventDefault();\n // }\n // if (Support.touch && !Device.android) {\n // const activeListener = Support.passiveListener ? { passive: false, capture: false } : false;\n // $(document).on((app.params.touch.fastClicks ? 'touchstart' : 'touchmove'), '.panel-backdrop, .dialog-backdrop, .preloader-backdrop, .popup-backdrop, .searchbar-backdrop', preventScrolling, activeListener);\n // }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'clicks',\n params: {\n clicks: {\n // External Links\n externalLinks: '.external'\n }\n },\n on: {\n init: function init() {\n var app = this;\n initClicks(app);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/clicks/clicks.js?");
  1836. /***/ }),
  1837. /***/ "./node_modules/framework7/modules/component/component-class.js":
  1838. /*!**********************************************************************!*\
  1839. !*** ./node_modules/framework7/modules/component/component-class.js ***!
  1840. \**********************************************************************/
  1841. /*! exports provided: default */
  1842. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1843. "use strict";
  1844. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! template7 */ \"./node_modules/framework7/node_modules/template7/dist/template7.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _vdom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./vdom */ \"./node_modules/framework7/modules/component/vdom.js\");\n/* harmony import */ var _patch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./patch */ \"./node_modules/framework7/modules/component/patch.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\n\n\n\n\nvar Framework7Component = /*#__PURE__*/function () {\n function Framework7Component(app, options) {\n var extendContext = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, Framework7Component);\n\n var id = _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].id();\n var self = _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].merge(this, extendContext, {\n $: dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n $$: dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n $dom7: dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n $app: app,\n $f7: app,\n $options: _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend({\n id: id\n }, options),\n $id: options.id || id\n });\n var $options = self.$options; // Root data and methods\n\n Object.defineProperty(self, '$root', {\n enumerable: true,\n configurable: true,\n get: function get() {\n var root = _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].merge({}, app.data, app.methods);\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"] && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].Proxy) {\n root = new ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].Proxy(root, {\n set: function set(target, name, val) {\n app.data[name] = val;\n },\n deleteProperty: function deleteProperty(target, name) {\n delete app.data[name];\n delete app.methods[name];\n },\n has: function has(target, name) {\n return name in app.data || name in app.methods;\n }\n });\n }\n\n return root;\n },\n set: function set() {}\n }); // Apply context\n\n 'beforeCreate created beforeMount mounted beforeDestroy destroyed updated'.split(' ').forEach(function (cycleKey) {\n if ($options[cycleKey]) $options[cycleKey] = $options[cycleKey].bind(self);\n });\n\n if ($options.data) {\n $options.data = $options.data.bind(self); // Data\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].extend(self, $options.data());\n }\n\n if ($options.render) $options.render = $options.render.bind(self);\n\n if ($options.methods) {\n Object.keys($options.methods).forEach(function (methodName) {\n self[methodName] = $options.methods[methodName].bind(self);\n });\n } // Bind Events\n\n\n if ($options.on) {\n Object.keys($options.on).forEach(function (eventName) {\n $options.on[eventName] = $options.on[eventName].bind(self);\n });\n }\n\n if ($options.once) {\n Object.keys($options.once).forEach(function (eventName) {\n $options.once[eventName] = $options.once[eventName].bind(self);\n });\n } // Before create hook\n\n\n if ($options.beforeCreate) $options.beforeCreate(); // Render\n\n var html = self.$render(); // Make Dom\n\n if (html && typeof html === 'string') {\n html = html.trim();\n self.$vnode = Object(_vdom__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(html, self, app, true);\n self.el = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement(self.$vnode.sel || 'div');\n Object(_patch__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(self.el, self.$vnode);\n } else if (html) {\n self.el = html;\n }\n\n self.$el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(self.el); // Set styles scope ID\n\n if ($options.style) {\n self.$styleEl = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('style');\n self.$styleEl.innerHTML = $options.style;\n\n if ($options.styleScoped) {\n self.el.setAttribute(\"data-f7-\".concat($options.id), '');\n }\n }\n\n self.$attachEvents(); // Created callback\n\n if ($options.created) $options.created(); // Store component instance\n\n self.el.f7Component = self;\n return self;\n }\n\n _createClass(Framework7Component, [{\n key: \"$attachEvents\",\n value: function $attachEvents() {\n var self = this;\n var $options = self.$options,\n $el = self.$el;\n\n if ($options.on) {\n Object.keys($options.on).forEach(function (eventName) {\n $el.on(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].eventNameToColonCase(eventName), $options.on[eventName]);\n });\n }\n\n if ($options.once) {\n Object.keys($options.once).forEach(function (eventName) {\n $el.once(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].eventNameToColonCase(eventName), $options.once[eventName]);\n });\n }\n }\n }, {\n key: \"$detachEvents\",\n value: function $detachEvents() {\n var self = this;\n var $options = self.$options,\n $el = self.$el;\n\n if ($options.on) {\n Object.keys($options.on).forEach(function (eventName) {\n $el.off(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].eventNameToColonCase(eventName), $options.on[eventName]);\n });\n }\n\n if ($options.once) {\n Object.keys($options.once).forEach(function (eventName) {\n $el.off(_utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].eventNameToColonCase(eventName), $options.once[eventName]);\n });\n }\n }\n }, {\n key: \"$render\",\n value: function $render() {\n var self = this;\n var $options = self.$options;\n var html = '';\n\n if ($options.render) {\n html = $options.render();\n } else if ($options.template) {\n if (typeof $options.template === 'string') {\n try {\n html = template7__WEBPACK_IMPORTED_MODULE_2__[\"default\"].compile($options.template)(self);\n } catch (err) {\n throw err;\n }\n } else {\n // Supposed to be function\n html = $options.template(self);\n }\n }\n\n return html;\n }\n }, {\n key: \"$forceUpdate\",\n value: function $forceUpdate() {\n var self = this;\n var html = self.$render(); // Make Dom\n\n if (html && typeof html === 'string') {\n html = html.trim();\n var newVNode = Object(_vdom__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(html, self, self.$app);\n self.$vnode = Object(_patch__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(self.$vnode, newVNode);\n }\n }\n }, {\n key: \"$setState\",\n value: function $setState(mergeState) {\n var self = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].merge(self, mergeState);\n self.$forceUpdate();\n }\n }, {\n key: \"$mount\",\n value: function $mount(mountMethod) {\n var self = this;\n if (self.$options.beforeMount) self.$options.beforeMount();\n if (self.$styleEl) Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('head').append(self.$styleEl);\n if (mountMethod) mountMethod(self.el);\n if (self.$options.mounted) self.$options.mounted();\n }\n }, {\n key: \"$destroy\",\n value: function $destroy() {\n var self = this;\n if (self.$options.beforeDestroy) self.$options.beforeDestroy();\n if (self.$styleEl) Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(self.$styleEl).remove();\n self.$detachEvents();\n if (self.$options.destroyed) self.$options.destroyed(); // Delete component instance\n\n if (self.el && self.el.f7Component) {\n self.el.f7Component = null;\n delete self.el.f7Component;\n } // Patch with empty node\n\n\n if (self.$vnode) {\n self.$vnode = Object(_patch__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(self.$vnode, {\n sel: self.$vnode.sel,\n data: {}\n });\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].deleteProps(self);\n }\n }]);\n\n return Framework7Component;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Framework7Component);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/component-class.js?");
  1845. /***/ }),
  1846. /***/ "./node_modules/framework7/modules/component/component.js":
  1847. /*!****************************************************************!*\
  1848. !*** ./node_modules/framework7/modules/component/component.js ***!
  1849. \****************************************************************/
  1850. /*! exports provided: default */
  1851. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1852. "use strict";
  1853. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _component_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component-class */ \"./node_modules/framework7/modules/component/component-class.js\");\n/* harmony import */ var _parse_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parse-component */ \"./node_modules/framework7/modules/component/parse-component.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'component',\n create: function create() {\n var app = this;\n app.component = {\n parse: function parse(componentString) {\n return Object(_parse_component__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(componentString);\n },\n create: function create(options, extendContext) {\n return new _component_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"](app, options, extendContext);\n }\n };\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/component.js?");
  1854. /***/ }),
  1855. /***/ "./node_modules/framework7/modules/component/eventslisteners.js":
  1856. /*!**********************************************************************!*\
  1857. !*** ./node_modules/framework7/modules/component/eventslisteners.js ***!
  1858. \**********************************************************************/
  1859. /*! exports provided: default */
  1860. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1861. "use strict";
  1862. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n\n\nfunction invokeHandler(handler, event, args) {\n if (typeof handler === 'function') {\n // call function handler\n handler.apply(void 0, [event].concat(_toConsumableArray(args)));\n }\n}\n\nfunction handleEvent(event, args, vnode) {\n var name = event.type;\n var on = vnode.data.on; // call event handler(s) if exists\n\n if (on && on[name]) {\n invokeHandler(on[name], event, args, vnode);\n }\n}\n\nfunction createListener() {\n return function handler(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n handleEvent(event, args, handler.vnode);\n };\n}\n\nfunction updateEvents(oldVnode, vnode) {\n var oldOn = oldVnode.data.on;\n var oldListener = oldVnode.listener;\n var oldElm = oldVnode.elm;\n var on = vnode && vnode.data.on;\n var elm = vnode && vnode.elm; // optimization for reused immutable handlers\n\n if (oldOn === on) {\n return;\n } // remove existing listeners which no longer used\n\n\n if (oldOn && oldListener) {\n // if element changed or deleted we remove all existing listeners unconditionally\n if (!on) {\n Object.keys(oldOn).forEach(function (name) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(oldElm).off(name, oldListener);\n });\n } else {\n Object.keys(oldOn).forEach(function (name) {\n if (!on[name]) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(oldElm).off(name, oldListener);\n }\n });\n }\n } // add new listeners which has not already attached\n\n\n if (on) {\n // reuse existing listener or create new\n var listener = oldVnode.listener || createListener();\n vnode.listener = listener; // update vnode for listener\n\n listener.vnode = vnode; // if element changed or added we add all needed listeners unconditionally\n\n if (!oldOn) {\n Object.keys(on).forEach(function (name) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(elm).on(name, listener);\n });\n } else {\n Object.keys(on).forEach(function (name) {\n if (!oldOn[name]) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(elm).on(name, listener);\n }\n });\n }\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n create: updateEvents,\n update: updateEvents,\n destroy: updateEvents\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/eventslisteners.js?");
  1863. /***/ }),
  1864. /***/ "./node_modules/framework7/modules/component/parse-component.js":
  1865. /*!**********************************************************************!*\
  1866. !*** ./node_modules/framework7/modules/component/parse-component.js ***!
  1867. \**********************************************************************/
  1868. /*! exports provided: default */
  1869. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1870. "use strict";
  1871. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! template7 */ \"./node_modules/framework7/node_modules/template7/dist/template7.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\n\n\nfunction parseComponent(componentString) {\n var id = _utils_utils__WEBPACK_IMPORTED_MODULE_3__[\"default\"].id();\n var callbackCreateName = \"f7_component_create_callback_\".concat(id);\n var callbackRenderName = \"f7_component_render_callback_\".concat(id); // Template\n\n var template;\n var hasTemplate = componentString.match(/<template([ ]?)([a-z0-9-]*)>/);\n var templateType = hasTemplate[2] || 't7';\n\n if (hasTemplate) {\n template = componentString.split(/<template[ ]?[a-z0-9-]*>/).filter(function (item, index) {\n return index > 0;\n }).join('<template>').split('</template>').filter(function (item, index, arr) {\n return index < arr.length - 1;\n }).join('</template>').replace(/{{#raw}}([ \\n]*)<template/g, '{{#raw}}<template').replace(/\\/template>([ \\n]*){{\\/raw}}/g, '/template>{{/raw}}').replace(/([ \\n])<template/g, '$1{{#raw}}<template').replace(/\\/template>([ \\n])/g, '/template>{{/raw}}$1');\n } // Parse Styles\n\n\n var style = null;\n var styleScoped = false;\n\n if (componentString.indexOf('<style>') >= 0) {\n style = componentString.split('<style>')[1].split('</style>')[0];\n } else if (componentString.indexOf('<style scoped>') >= 0) {\n styleScoped = true;\n style = componentString.split('<style scoped>')[1].split('</style>')[0];\n style = style.replace(/{{this}}/g, \"[data-f7-\".concat(id, \"]\")).replace(/[\\n]?([^{^}]*){/ig, function (string, rules) {\n // eslint-disable-next-line\n rules = rules.split(',').map(function (rule) {\n if (rule.indexOf(\"[data-f7-\".concat(id, \"]\")) >= 0) return rule;\n return \"[data-f7-\".concat(id, \"] \").concat(rule.trim());\n }).join(', ');\n return \"\\n\".concat(rules, \" {\");\n });\n } // Parse Script\n\n\n var scriptContent;\n var scriptEl;\n\n if (componentString.indexOf('<script>') >= 0) {\n var scripts = componentString.split('<script>');\n scriptContent = scripts[scripts.length - 1].split('</script>')[0].trim();\n } else {\n scriptContent = 'return {}';\n }\n\n if (!scriptContent || !scriptContent.trim()) scriptContent = 'return {}';\n scriptContent = \"window.\".concat(callbackCreateName, \" = function () {\").concat(scriptContent, \"}\"); // Insert Script El\n\n scriptEl = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('script');\n scriptEl.innerHTML = scriptContent;\n Object(dom7__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('head').append(scriptEl);\n var component = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"][callbackCreateName](); // Remove Script El\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(scriptEl).remove();\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"][callbackCreateName] = null;\n delete ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"][callbackCreateName]; // Assign Template\n\n if (!component.template && !component.render) {\n component.template = template;\n component.templateType = templateType;\n }\n\n if (component.template) {\n if (component.templateType === 't7') {\n component.template = template7__WEBPACK_IMPORTED_MODULE_1__[\"default\"].compile(component.template);\n }\n\n if (component.templateType === 'es') {\n var renderContent = \"window.\".concat(callbackRenderName, \" = function () {\\n return function render() {\\n return `\").concat(component.template, \"`;\\n }\\n }\");\n scriptEl = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('script');\n scriptEl.innerHTML = renderContent;\n Object(dom7__WEBPACK_IMPORTED_MODULE_2__[\"default\"])('head').append(scriptEl);\n component.render = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"][callbackRenderName](); // Remove Script El\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(scriptEl).remove();\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"][callbackRenderName] = null;\n delete ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"][callbackRenderName];\n }\n } // Assign Style\n\n\n if (style) {\n component.style = style;\n component.styleScoped = styleScoped;\n } // Component ID\n\n\n component.id = id;\n return component;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (parseComponent);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/parse-component.js?");
  1872. /***/ }),
  1873. /***/ "./node_modules/framework7/modules/component/patch.js":
  1874. /*!************************************************************!*\
  1875. !*** ./node_modules/framework7/modules/component/patch.js ***!
  1876. \************************************************************/
  1877. /*! exports provided: default */
  1878. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1879. "use strict";
  1880. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _snabbdom_snabbdom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./snabbdom/snabbdom */ \"./node_modules/framework7/modules/component/snabbdom/snabbdom.js\");\n/* harmony import */ var _snabbdom_modules_attributes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snabbdom/modules/attributes */ \"./node_modules/framework7/modules/component/snabbdom/modules/attributes.js\");\n/* harmony import */ var _snabbdom_modules_props__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./snabbdom/modules/props */ \"./node_modules/framework7/modules/component/snabbdom/modules/props.js\");\n/* harmony import */ var _snabbdom_modules_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./snabbdom/modules/style */ \"./node_modules/framework7/modules/component/snabbdom/modules/style.js\");\n/* harmony import */ var _eventslisteners__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./eventslisteners */ \"./node_modules/framework7/modules/component/eventslisteners.js\");\n/* eslint import/no-named-as-default: off */\n\n\n\n\n\nvar patch = Object(_snabbdom_snabbdom__WEBPACK_IMPORTED_MODULE_0__[\"init\"])([_snabbdom_modules_attributes__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _snabbdom_modules_props__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _snabbdom_modules_style__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _eventslisteners__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (patch);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/patch.js?");
  1881. /***/ }),
  1882. /***/ "./node_modules/framework7/modules/component/snabbdom/h.js":
  1883. /*!*****************************************************************!*\
  1884. !*** ./node_modules/framework7/modules/component/snabbdom/h.js ***!
  1885. \*****************************************************************/
  1886. /*! exports provided: h, default */
  1887. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1888. "use strict";
  1889. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return h; });\n/* harmony import */ var _vnode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./vnode */ \"./node_modules/framework7/modules/component/snabbdom/vnode.js\");\n/* harmony import */ var _is__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./is */ \"./node_modules/framework7/modules/component/snabbdom/is.js\");\n\n\n\nfunction addNS(data, children, sel) {\n data.ns = 'http://www.w3.org/2000/svg';\n\n if (sel !== 'foreignObject' && children !== undefined) {\n for (var i = 0; i < children.length; ++i) {\n var childData = children[i].data;\n\n if (childData !== undefined) {\n addNS(childData, children[i].children, children[i].sel);\n }\n }\n }\n}\n\nfunction h(sel, b, c) {\n var data = {},\n children,\n text,\n i;\n\n if (c !== undefined) {\n data = b;\n\n if (_is__WEBPACK_IMPORTED_MODULE_1__[\"array\"](c)) {\n children = c;\n } else if (_is__WEBPACK_IMPORTED_MODULE_1__[\"primitive\"](c)) {\n text = c;\n } else if (c && c.sel) {\n children = [c];\n }\n } else if (b !== undefined) {\n if (_is__WEBPACK_IMPORTED_MODULE_1__[\"array\"](b)) {\n children = b;\n } else if (_is__WEBPACK_IMPORTED_MODULE_1__[\"primitive\"](b)) {\n text = b;\n } else if (b && b.sel) {\n children = [b];\n } else {\n data = b;\n }\n }\n\n if (_is__WEBPACK_IMPORTED_MODULE_1__[\"array\"](children)) {\n for (i = 0; i < children.length; ++i) {\n if (_is__WEBPACK_IMPORTED_MODULE_1__[\"primitive\"](children[i])) children[i] = Object(_vnode__WEBPACK_IMPORTED_MODULE_0__[\"vnode\"])(undefined, undefined, undefined, children[i], undefined);\n }\n }\n\n if (sel[0] === 's' && sel[1] === 'v' && sel[2] === 'g' && (sel.length === 3 || sel[3] === '.' || sel[3] === '#')) {\n addNS(data, children, sel);\n }\n\n return Object(_vnode__WEBPACK_IMPORTED_MODULE_0__[\"vnode\"])(sel, data, children, text, undefined);\n}\n;\n/* harmony default export */ __webpack_exports__[\"default\"] = (h);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/snabbdom/h.js?");
  1890. /***/ }),
  1891. /***/ "./node_modules/framework7/modules/component/snabbdom/htmldomapi.js":
  1892. /*!**************************************************************************!*\
  1893. !*** ./node_modules/framework7/modules/component/snabbdom/htmldomapi.js ***!
  1894. \**************************************************************************/
  1895. /*! exports provided: htmlDomApi, default */
  1896. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1897. "use strict";
  1898. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlDomApi\", function() { return htmlDomApi; });\nfunction createElement(tagName) {\n return document.createElement(tagName);\n}\n\nfunction createElementNS(namespaceURI, qualifiedName) {\n return document.createElementNS(namespaceURI, qualifiedName);\n}\n\nfunction createTextNode(text) {\n return document.createTextNode(text);\n}\n\nfunction createComment(text) {\n return document.createComment(text);\n}\n\nfunction insertBefore(parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild(node, child) {\n if (!node) return;\n node.removeChild(child);\n}\n\nfunction appendChild(node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode(node) {\n return node.parentNode;\n}\n\nfunction nextSibling(node) {\n return node.nextSibling;\n}\n\nfunction tagName(elm) {\n return elm.tagName;\n}\n\nfunction setTextContent(node, text) {\n node.textContent = text;\n}\n\nfunction getTextContent(node) {\n return node.textContent;\n}\n\nfunction isElement(node) {\n return node.nodeType === 1;\n}\n\nfunction isText(node) {\n return node.nodeType === 3;\n}\n\nfunction isComment(node) {\n return node.nodeType === 8;\n}\n\nvar htmlDomApi = {\n createElement: createElement,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n getTextContent: getTextContent,\n isElement: isElement,\n isText: isText,\n isComment: isComment\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (htmlDomApi);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/snabbdom/htmldomapi.js?");
  1899. /***/ }),
  1900. /***/ "./node_modules/framework7/modules/component/snabbdom/is.js":
  1901. /*!******************************************************************!*\
  1902. !*** ./node_modules/framework7/modules/component/snabbdom/is.js ***!
  1903. \******************************************************************/
  1904. /*! exports provided: array, primitive */
  1905. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1906. "use strict";
  1907. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"array\", function() { return array; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"primitive\", function() { return primitive; });\nvar array = Array.isArray;\nfunction primitive(s) {\n return typeof s === 'string' || typeof s === 'number';\n}\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/snabbdom/is.js?");
  1908. /***/ }),
  1909. /***/ "./node_modules/framework7/modules/component/snabbdom/modules/attributes.js":
  1910. /*!**********************************************************************************!*\
  1911. !*** ./node_modules/framework7/modules/component/snabbdom/modules/attributes.js ***!
  1912. \**********************************************************************************/
  1913. /*! exports provided: attributesModule, default */
  1914. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1915. "use strict";
  1916. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attributesModule\", function() { return attributesModule; });\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\nvar xmlNS = 'http://www.w3.org/XML/1998/namespace';\nvar colonChar = 58;\nvar xChar = 120;\n\nfunction updateAttrs(oldVnode, vnode) {\n var key,\n elm = vnode.elm,\n oldAttrs = oldVnode.data.attrs,\n attrs = vnode.data.attrs;\n if (!oldAttrs && !attrs) return;\n if (oldAttrs === attrs) return;\n oldAttrs = oldAttrs || {};\n attrs = attrs || {}; // update modified attributes, add new attributes\n\n for (key in attrs) {\n var cur = attrs[key];\n var old = oldAttrs[key];\n\n if (old !== cur) {\n if (cur === true) {\n elm.setAttribute(key, \"\");\n } else if (cur === false) {\n elm.removeAttribute(key);\n } else {\n if (key.charCodeAt(0) !== xChar) {\n elm.setAttribute(key, cur);\n } else if (key.charCodeAt(3) === colonChar) {\n // Assume xml namespace\n elm.setAttributeNS(xmlNS, key, cur);\n } else if (key.charCodeAt(5) === colonChar) {\n // Assume xlink namespace\n elm.setAttributeNS(xlinkNS, key, cur);\n } else {\n elm.setAttribute(key, cur);\n }\n }\n }\n } // remove removed attributes\n // use `in` operator since the previous `for` iteration uses it (.i.e. add even attributes with undefined value)\n // the other option is to remove all attributes with value == undefined\n\n\n for (key in oldAttrs) {\n if (!(key in attrs)) {\n elm.removeAttribute(key);\n }\n }\n}\n\nvar attributesModule = {\n create: updateAttrs,\n update: updateAttrs\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (attributesModule);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/snabbdom/modules/attributes.js?");
  1917. /***/ }),
  1918. /***/ "./node_modules/framework7/modules/component/snabbdom/modules/props.js":
  1919. /*!*****************************************************************************!*\
  1920. !*** ./node_modules/framework7/modules/component/snabbdom/modules/props.js ***!
  1921. \*****************************************************************************/
  1922. /*! exports provided: propsModule, default */
  1923. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1924. "use strict";
  1925. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"propsModule\", function() { return propsModule; });\nfunction updateProps(oldVnode, vnode) {\n var key,\n cur,\n old,\n elm = vnode.elm,\n oldProps = oldVnode.data.props,\n props = vnode.data.props;\n if (!oldProps && !props) return;\n if (oldProps === props) return;\n oldProps = oldProps || {};\n props = props || {};\n\n for (key in oldProps) {\n if (!props[key]) {\n delete elm[key];\n }\n }\n\n for (key in props) {\n cur = props[key];\n old = oldProps[key];\n\n if (old !== cur && (key !== 'value' || elm[key] !== cur)) {\n elm[key] = cur;\n }\n }\n}\n\nvar propsModule = {\n create: updateProps,\n update: updateProps\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (propsModule);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/snabbdom/modules/props.js?");
  1926. /***/ }),
  1927. /***/ "./node_modules/framework7/modules/component/snabbdom/modules/style.js":
  1928. /*!*****************************************************************************!*\
  1929. !*** ./node_modules/framework7/modules/component/snabbdom/modules/style.js ***!
  1930. \*****************************************************************************/
  1931. /*! exports provided: styleModule, default */
  1932. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1933. "use strict";
  1934. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"styleModule\", function() { return styleModule; });\nvar raf = typeof window !== 'undefined' && window.requestAnimationFrame || setTimeout;\n\nvar nextFrame = function nextFrame(fn) {\n raf(function () {\n raf(fn);\n });\n};\n\nfunction setNextFrame(obj, prop, val) {\n nextFrame(function () {\n obj[prop] = val;\n });\n}\n\nfunction updateStyle(oldVnode, vnode) {\n var cur,\n name,\n elm = vnode.elm,\n oldStyle = oldVnode.data.style,\n style = vnode.data.style;\n if (!oldStyle && !style) return;\n if (oldStyle === style) return;\n oldStyle = oldStyle || {};\n style = style || {};\n var oldHasDel = ('delayed' in oldStyle);\n\n for (name in oldStyle) {\n if (!style[name]) {\n if (name[0] === '-' && name[1] === '-') {\n elm.style.removeProperty(name);\n } else {\n elm.style[name] = '';\n }\n }\n }\n\n for (name in style) {\n cur = style[name];\n\n if (name === 'delayed' && style.delayed) {\n for (var name2 in style.delayed) {\n cur = style.delayed[name2];\n\n if (!oldHasDel || cur !== oldStyle.delayed[name2]) {\n setNextFrame(elm.style, name2, cur);\n }\n }\n } else if (name !== 'remove' && cur !== oldStyle[name]) {\n if (name[0] === '-' && name[1] === '-') {\n elm.style.setProperty(name, cur);\n } else {\n elm.style[name] = cur;\n }\n }\n }\n}\n\nfunction applyDestroyStyle(vnode) {\n var style,\n name,\n elm = vnode.elm,\n s = vnode.data.style;\n if (!s || !(style = s.destroy)) return;\n\n for (name in style) {\n elm.style[name] = style[name];\n }\n}\n\nfunction applyRemoveStyle(vnode, rm) {\n var s = vnode.data.style;\n\n if (!s || !s.remove) {\n rm();\n return;\n }\n\n var name,\n elm = vnode.elm,\n i = 0,\n compStyle,\n style = s.remove,\n amount = 0,\n applied = [];\n\n for (name in style) {\n applied.push(name);\n elm.style[name] = style[name];\n }\n\n compStyle = getComputedStyle(elm);\n var props = compStyle['transition-property'].split(', ');\n\n for (; i < props.length; ++i) {\n if (applied.indexOf(props[i]) !== -1) amount++;\n }\n\n elm.addEventListener('transitionend', function (ev) {\n if (ev.target === elm) --amount;\n if (amount === 0) rm();\n });\n}\n\nvar styleModule = {\n create: updateStyle,\n update: updateStyle,\n destroy: applyDestroyStyle,\n remove: applyRemoveStyle\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (styleModule);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/snabbdom/modules/style.js?");
  1935. /***/ }),
  1936. /***/ "./node_modules/framework7/modules/component/snabbdom/snabbdom.js":
  1937. /*!************************************************************************!*\
  1938. !*** ./node_modules/framework7/modules/component/snabbdom/snabbdom.js ***!
  1939. \************************************************************************/
  1940. /*! exports provided: h, thunk, init */
  1941. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1942. "use strict";
  1943. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony import */ var _vnode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./vnode */ \"./node_modules/framework7/modules/component/snabbdom/vnode.js\");\n/* harmony import */ var _is__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./is */ \"./node_modules/framework7/modules/component/snabbdom/is.js\");\n/* harmony import */ var _htmldomapi__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./htmldomapi */ \"./node_modules/framework7/modules/component/snabbdom/htmldomapi.js\");\n/* harmony import */ var _h__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./h */ \"./node_modules/framework7/modules/component/snabbdom/h.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return _h__WEBPACK_IMPORTED_MODULE_3__[\"h\"]; });\n\n/* harmony import */ var _thunk__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./thunk */ \"./node_modules/framework7/modules/component/snabbdom/thunk.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thunk\", function() { return _thunk__WEBPACK_IMPORTED_MODULE_4__[\"thunk\"]; });\n\n\n\n\n\nfunction isUndef(s) {\n return s === undefined;\n}\n\nfunction isDef(s) {\n return s !== undefined;\n}\n\nvar emptyNode = Object(_vnode__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('', {}, [], undefined, undefined);\n\nfunction sameVnode(vnode1, vnode2) {\n return vnode1.key === vnode2.key && vnode1.sel === vnode2.sel;\n}\n\nfunction isVnode(vnode) {\n return vnode.sel !== undefined;\n}\n\nfunction createKeyToOldIdx(children, beginIdx, endIdx) {\n var i,\n map = {},\n key,\n ch;\n\n for (i = beginIdx; i <= endIdx; ++i) {\n ch = children[i];\n\n if (ch != null) {\n key = ch.key;\n if (key !== undefined) map[key] = i;\n }\n }\n\n return map;\n}\n\nvar hooks = ['create', 'update', 'remove', 'destroy', 'pre', 'post'];\n\n\nfunction init(modules, domApi) {\n var i,\n j,\n cbs = {};\n var api = domApi !== undefined ? domApi : _htmldomapi__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n\n for (j = 0; j < modules.length; ++j) {\n var hook = modules[j][hooks[i]];\n\n if (hook !== undefined) {\n cbs[hooks[i]].push(hook);\n }\n }\n }\n\n function emptyNodeAt(elm) {\n var id = elm.id ? '#' + elm.id : '';\n var c = elm.className ? '.' + elm.className.split(' ').join('.') : '';\n return Object(_vnode__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(api.tagName(elm).toLowerCase() + id + c, {}, [], undefined, elm);\n }\n\n function createRmCb(childElm, listeners) {\n return function rmCb() {\n if (--listeners === 0) {\n var parent_1 = api.parentNode(childElm);\n api.removeChild(parent_1, childElm);\n }\n };\n }\n\n function createElm(vnode, insertedVnodeQueue) {\n var i,\n data = vnode.data;\n\n if (data !== undefined) {\n if (isDef(i = data.hook) && isDef(i = i.init)) {\n i(vnode);\n data = vnode.data;\n }\n }\n\n var children = vnode.children,\n sel = vnode.sel;\n\n if (sel === '!') {\n if (isUndef(vnode.text)) {\n vnode.text = '';\n }\n\n vnode.elm = api.createComment(vnode.text);\n } else if (sel !== undefined) {\n // Parse selector\n var hashIdx = sel.indexOf('#');\n var dotIdx = sel.indexOf('.', hashIdx);\n var hash = hashIdx > 0 ? hashIdx : sel.length;\n var dot = dotIdx > 0 ? dotIdx : sel.length;\n var tag = hashIdx !== -1 || dotIdx !== -1 ? sel.slice(0, Math.min(hash, dot)) : sel;\n var elm = vnode.elm = isDef(data) && isDef(i = data.ns) ? api.createElementNS(i, tag) : api.createElement(tag);\n if (hash < dot) elm.setAttribute('id', sel.slice(hash + 1, dot));\n if (dotIdx > 0) elm.setAttribute('class', sel.slice(dot + 1).replace(/\\./g, ' '));\n\n for (i = 0; i < cbs.create.length; ++i) {\n cbs.create[i](emptyNode, vnode);\n }\n\n if (_is__WEBPACK_IMPORTED_MODULE_1__[\"array\"](children)) {\n for (i = 0; i < children.length; ++i) {\n var ch = children[i];\n\n if (ch != null) {\n api.appendChild(elm, createElm(ch, insertedVnodeQueue));\n }\n }\n } else if (_is__WEBPACK_IMPORTED_MODULE_1__[\"primitive\"](vnode.text)) {\n api.appendChild(elm, api.createTextNode(vnode.text));\n }\n\n i = vnode.data.hook; // Reuse variable\n\n if (isDef(i)) {\n if (i.create) i.create(emptyNode, vnode);\n if (i.insert) insertedVnodeQueue.push(vnode);\n }\n } else {\n vnode.elm = api.createTextNode(vnode.text);\n }\n\n return vnode.elm;\n }\n\n function addVnodes(parentElm, before, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n\n if (ch != null) {\n api.insertBefore(parentElm, createElm(ch, insertedVnodeQueue), before);\n }\n }\n }\n\n function invokeDestroyHook(vnode) {\n var i,\n j,\n data = vnode.data;\n\n if (data !== undefined) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) i(vnode);\n\n for (i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](vnode);\n }\n\n if (vnode.children !== undefined) {\n for (j = 0; j < vnode.children.length; ++j) {\n i = vnode.children[j];\n\n if (i != null && typeof i !== \"string\") {\n invokeDestroyHook(i);\n }\n }\n }\n }\n }\n\n function removeVnodes(parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var i_1 = void 0,\n listeners = void 0,\n rm = void 0,\n ch = vnodes[startIdx];\n\n if (ch != null) {\n if (isDef(ch.sel)) {\n invokeDestroyHook(ch);\n listeners = cbs.remove.length + 1;\n rm = createRmCb(ch.elm, listeners);\n\n for (i_1 = 0; i_1 < cbs.remove.length; ++i_1) {\n cbs.remove[i_1](ch, rm);\n }\n\n if (isDef(i_1 = ch.data) && isDef(i_1 = i_1.hook) && isDef(i_1 = i_1.remove)) {\n i_1(ch, rm);\n } else {\n rm();\n }\n } else {\n api.removeChild(parentElm, ch.elm);\n }\n }\n }\n }\n\n function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue) {\n var oldStartIdx = 0,\n newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx;\n var idxInOld;\n var elmToMove;\n var before;\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode might have been moved left\n } else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n } else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) {\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n api.insertBefore(parentElm, oldStartVnode.elm, api.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) {\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n api.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (oldKeyToIdx === undefined) {\n oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);\n }\n\n idxInOld = oldKeyToIdx[newStartVnode.key];\n\n if (isUndef(idxInOld)) {\n api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);\n newStartVnode = newCh[++newStartIdx];\n } else {\n elmToMove = oldCh[idxInOld];\n\n if (elmToMove.sel !== newStartVnode.sel) {\n api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);\n } else {\n patchVnode(elmToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n api.insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm);\n }\n\n newStartVnode = newCh[++newStartIdx];\n }\n }\n }\n\n if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) {\n if (oldStartIdx > oldEndIdx) {\n before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n }\n\n function patchVnode(oldVnode, vnode, insertedVnodeQueue) {\n var i, hook;\n\n if (isDef(i = vnode.data) && isDef(hook = i.hook) && isDef(i = hook.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (oldVnode === vnode) return;\n\n if (vnode.data !== undefined) {\n for (i = 0; i < cbs.update.length; ++i) {\n cbs.update[i](oldVnode, vnode);\n }\n\n i = vnode.data.hook;\n if (isDef(i) && isDef(i = i.update)) i(oldVnode, vnode);\n }\n\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) updateChildren(elm, oldCh, ch, insertedVnodeQueue);\n } else if (isDef(ch)) {\n if (isDef(oldVnode.text)) api.setTextContent(elm, '');\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n api.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n api.setTextContent(elm, vnode.text);\n }\n\n if (isDef(hook) && isDef(i = hook.postpatch)) {\n i(oldVnode, vnode);\n }\n }\n\n return function patch(oldVnode, vnode) {\n var i, elm, parent;\n var insertedVnodeQueue = [];\n\n for (i = 0; i < cbs.pre.length; ++i) {\n cbs.pre[i]();\n }\n\n if (!isVnode(oldVnode)) {\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n if (sameVnode(oldVnode, vnode)) {\n patchVnode(oldVnode, vnode, insertedVnodeQueue);\n } else {\n elm = oldVnode.elm;\n parent = api.parentNode(elm);\n createElm(vnode, insertedVnodeQueue);\n\n if (parent !== null) {\n api.insertBefore(parent, vnode.elm, api.nextSibling(elm));\n removeVnodes(parent, [oldVnode], 0, 0);\n }\n }\n\n for (i = 0; i < insertedVnodeQueue.length; ++i) {\n insertedVnodeQueue[i].data.hook.insert(insertedVnodeQueue[i]);\n }\n\n for (i = 0; i < cbs.post.length; ++i) {\n cbs.post[i]();\n }\n\n return vnode;\n };\n}\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/snabbdom/snabbdom.js?");
  1944. /***/ }),
  1945. /***/ "./node_modules/framework7/modules/component/snabbdom/thunk.js":
  1946. /*!*********************************************************************!*\
  1947. !*** ./node_modules/framework7/modules/component/snabbdom/thunk.js ***!
  1948. \*********************************************************************/
  1949. /*! exports provided: thunk, default */
  1950. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1951. "use strict";
  1952. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"thunk\", function() { return thunk; });\n/* harmony import */ var _h__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./h */ \"./node_modules/framework7/modules/component/snabbdom/h.js\");\n\n\nfunction copyToThunk(vnode, thunk) {\n thunk.elm = vnode.elm;\n vnode.data.fn = thunk.data.fn;\n vnode.data.args = thunk.data.args;\n thunk.data = vnode.data;\n thunk.children = vnode.children;\n thunk.text = vnode.text;\n thunk.elm = vnode.elm;\n}\n\nfunction init(thunk) {\n var cur = thunk.data;\n var vnode = cur.fn.apply(undefined, cur.args);\n copyToThunk(vnode, thunk);\n}\n\nfunction prepatch(oldVnode, thunk) {\n var i,\n old = oldVnode.data,\n cur = thunk.data;\n var oldArgs = old.args,\n args = cur.args;\n\n if (old.fn !== cur.fn || oldArgs.length !== args.length) {\n copyToThunk(cur.fn.apply(undefined, args), thunk);\n return;\n }\n\n for (i = 0; i < args.length; ++i) {\n if (oldArgs[i] !== args[i]) {\n copyToThunk(cur.fn.apply(undefined, args), thunk);\n return;\n }\n }\n\n copyToThunk(oldVnode, thunk);\n}\n\nvar thunk = function thunk(sel, key, fn, args) {\n if (args === undefined) {\n args = fn;\n fn = key;\n key = undefined;\n }\n\n return Object(_h__WEBPACK_IMPORTED_MODULE_0__[\"h\"])(sel, {\n key: key,\n hook: {\n init: init,\n prepatch: prepatch\n },\n fn: fn,\n args: args\n });\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (thunk);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/snabbdom/thunk.js?");
  1953. /***/ }),
  1954. /***/ "./node_modules/framework7/modules/component/snabbdom/vnode.js":
  1955. /*!*********************************************************************!*\
  1956. !*** ./node_modules/framework7/modules/component/snabbdom/vnode.js ***!
  1957. \*********************************************************************/
  1958. /*! exports provided: vnode, default */
  1959. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1960. "use strict";
  1961. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"vnode\", function() { return vnode; });\nfunction vnode(sel, data, children, text, elm) {\n var key = data === undefined ? undefined : data.key;\n return {\n sel: sel,\n data: data,\n children: children,\n text: text,\n elm: elm,\n key: key\n };\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (vnode);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/snabbdom/vnode.js?");
  1962. /***/ }),
  1963. /***/ "./node_modules/framework7/modules/component/vdom.js":
  1964. /*!***********************************************************!*\
  1965. !*** ./node_modules/framework7/modules/component/vdom.js ***!
  1966. \***********************************************************/
  1967. /*! exports provided: default */
  1968. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1969. "use strict";
  1970. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _snabbdom_h__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snabbdom/h */ \"./node_modules/framework7/modules/component/snabbdom/h.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/* eslint no-use-before-define: \"off\" */\n\n/* eslint import/no-named-as-default: \"off\" */\n\n\nvar selfClosing = 'area base br col command embed hr img input keygen link menuitem meta param source track wbr'.split(' ');\nvar propsAttrs = 'hidden checked disabled readonly selected autocomplete autofocus autoplay required multiple value indeterminate'.split(' ');\nvar booleanProps = 'hidden checked disabled readonly selected autocomplete autofocus autoplay required multiple readOnly indeterminate'.split(' ');\nvar tempDom = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('div');\n\nfunction getHooks(data, app, initial, isRoot) {\n var hooks = {};\n if (!data || !data.attrs || !data.attrs.class) return hooks;\n var classNames = data.attrs.class;\n var insert = [];\n var destroy = [];\n var update = [];\n var postpatch = [];\n classNames.split(' ').forEach(function (className) {\n if (!initial) {\n insert.push.apply(insert, _toConsumableArray(app.getVnodeHooks('insert', className)));\n }\n\n destroy.push.apply(destroy, _toConsumableArray(app.getVnodeHooks('destroy', className)));\n update.push.apply(update, _toConsumableArray(app.getVnodeHooks('update', className)));\n postpatch.push.apply(postpatch, _toConsumableArray(app.getVnodeHooks('postpatch', className)));\n });\n\n if (isRoot && !initial) {\n postpatch.push(function (oldVnode, vnode) {\n var vn = vnode || oldVnode;\n if (!vn) return;\n\n if (vn.data && vn.data.context && vn.data.context.$options.updated) {\n vn.data.context.$options.updated();\n }\n });\n }\n\n if (insert.length === 0 && destroy.length === 0 && update.length === 0 && postpatch.length === 0) {\n return hooks;\n }\n\n if (insert.length) {\n hooks.insert = function (vnode) {\n insert.forEach(function (f) {\n return f(vnode);\n });\n };\n }\n\n if (destroy.length) {\n hooks.destroy = function (vnode) {\n destroy.forEach(function (f) {\n return f(vnode);\n });\n };\n }\n\n if (update.length) {\n hooks.update = function (oldVnode, vnode) {\n update.forEach(function (f) {\n return f(oldVnode, vnode);\n });\n };\n }\n\n if (postpatch.length) {\n hooks.postpatch = function (oldVnode, vnode) {\n postpatch.forEach(function (f) {\n return f(oldVnode, vnode);\n });\n };\n }\n\n return hooks;\n}\n\nfunction getEventHandler(handlerString, context) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n stop = _ref.stop,\n prevent = _ref.prevent,\n once = _ref.once;\n\n var fired = false;\n var methodName;\n var method;\n var customArgs = [];\n var needMethodBind = true;\n\n if (handlerString.indexOf('(') < 0) {\n methodName = handlerString;\n } else {\n methodName = handlerString.split('(')[0];\n }\n\n if (methodName.indexOf('.') >= 0) {\n methodName.split('.').forEach(function (path, pathIndex) {\n if (pathIndex === 0 && path === 'this') return;\n\n if (pathIndex === 0 && path === 'window') {\n // eslint-disable-next-line\n method = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"];\n needMethodBind = false;\n return;\n }\n\n if (!method) method = context;\n if (method[path]) method = method[path];else {\n throw new Error(\"Framework7: Component doesn't have method \\\"\".concat(methodName.split('.').slice(0, pathIndex + 1).join('.'), \"\\\"\"));\n }\n });\n } else {\n if (!context[methodName]) {\n throw new Error(\"Framework7: Component doesn't have method \\\"\".concat(methodName, \"\\\"\"));\n }\n\n method = context[methodName];\n }\n\n if (needMethodBind) {\n method = method.bind(context);\n }\n\n function handler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var e = args[0];\n if (once && fired) return;\n if (stop) e.stopPropagation();\n if (prevent) e.preventDefault();\n fired = true;\n\n if (handlerString.indexOf('(') < 0) {\n customArgs = args;\n } else {\n var handlerArguments = handlerString.split('(')[1].split(')')[0].replace(/'[^']*'|\"[^\"]*\"/g, function (a) {\n return a.replace(/,/g, '<_comma_>');\n }).split(',').map(function (a) {\n return a.replace(/<_comma_>/g, ',');\n });\n handlerArguments.forEach(function (argument) {\n var arg = argument.trim(); // eslint-disable-next-line\n\n if (!isNaN(arg)) arg = parseFloat(arg);else if (arg === 'true') arg = true;else if (arg === 'false') arg = false;else if (arg === 'null') arg = null;else if (arg === 'undefined') arg = undefined;else if (arg[0] === '\"') arg = arg.replace(/\"/g, '');else if (arg[0] === '\\'') arg = arg.replace(/'/g, '');else if (arg.indexOf('.') > 0) {\n var deepArg;\n arg.split('.').forEach(function (path) {\n if (!deepArg) deepArg = context;\n deepArg = deepArg[path];\n });\n arg = deepArg;\n } else {\n arg = context[arg];\n }\n customArgs.push(arg);\n });\n }\n\n method.apply(void 0, _toConsumableArray(customArgs));\n }\n\n return handler;\n}\n\nfunction getData(el, context, app, initial, isRoot) {\n var data = {\n context: context\n };\n var attributes = el.attributes;\n Array.prototype.forEach.call(attributes, function (attr) {\n var attrName = attr.name;\n var attrValue = attr.value;\n\n if (propsAttrs.indexOf(attrName) >= 0) {\n // Props\n if (!data.props) data.props = {};\n\n if (attrName === 'readonly') {\n attrName = 'readOnly';\n }\n\n if (booleanProps.indexOf(attrName) >= 0) {\n // eslint-disable-next-line\n data.props[attrName] = attrValue === false ? false : true;\n } else {\n data.props[attrName] = attrValue;\n }\n } else if (attrName === 'key') {\n // Key\n data.key = attrValue;\n } else if (attrName.indexOf('@') === 0) {\n // Events\n if (!data.on) data.on = {};\n var eventName = attrName.substr(1);\n var stop = false;\n var prevent = false;\n var once = false;\n\n if (eventName.indexOf('.') >= 0) {\n eventName.split('.').forEach(function (eventNamePart, eventNameIndex) {\n if (eventNameIndex === 0) eventName = eventNamePart;else {\n if (eventNamePart === 'stop') stop = true;\n if (eventNamePart === 'prevent') prevent = true;\n if (eventNamePart === 'once') once = true;\n }\n });\n }\n\n data.on[eventName] = getEventHandler(attrValue, context, {\n stop: stop,\n prevent: prevent,\n once: once\n });\n } else if (attrName === 'style') {\n // Style\n if (attrValue.indexOf('{') >= 0 && attrValue.indexOf('}') >= 0) {\n try {\n data.style = JSON.parse(attrValue);\n } catch (e) {\n if (!data.attrs) data.attrs = {};\n data.attrs.style = attrValue;\n }\n } else {\n if (!data.attrs) data.attrs = {};\n data.attrs.style = attrValue;\n }\n } else {\n // Rest of attribures\n if (!data.attrs) data.attrs = {};\n data.attrs[attrName] = attrValue; // ID -> Key\n\n if (attrName === 'id' && !data.key && !isRoot) {\n data.key = attrValue;\n }\n }\n });\n var hooks = getHooks(data, app, initial, isRoot);\n\n hooks.prepatch = function (oldVnode, vnode) {\n if (!oldVnode || !vnode) return;\n\n if (oldVnode && oldVnode.data && oldVnode.data.props) {\n Object.keys(oldVnode.data.props).forEach(function (key) {\n if (booleanProps.indexOf(key) < 0) return;\n if (!vnode.data) vnode.data = {};\n if (!vnode.data.props) vnode.data.props = {};\n\n if (oldVnode.data.props[key] === true && !(key in vnode.data.props)) {\n vnode.data.props[key] = false;\n }\n });\n }\n };\n\n if (hooks) {\n data.hook = hooks;\n }\n\n return data;\n}\n\nfunction getChildren(el, context, app, initial) {\n var children = [];\n var nodes = el.childNodes;\n\n for (var i = 0; i < nodes.length; i += 1) {\n var childNode = nodes[i];\n var child = elementToVNode(childNode, context, app, initial);\n\n if (child) {\n children.push(child);\n }\n }\n\n return children;\n}\n\nfunction elementToVNode(el, context, app, initial, isRoot) {\n if (el.nodeType === 1) {\n // element (statement adds inline SVG compatibility)\n var tagName = el instanceof ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].SVGElement ? el.nodeName : el.nodeName.toLowerCase();\n return Object(_snabbdom_h__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(tagName, getData(el, context, app, initial, isRoot), selfClosing.indexOf(tagName) >= 0 ? [] : getChildren(el, context, app, initial));\n }\n\n if (el.nodeType === 3) {\n // text\n return el.textContent;\n }\n\n return null;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var context = arguments.length > 1 ? arguments[1] : undefined;\n var app = arguments.length > 2 ? arguments[2] : undefined;\n var initial = arguments.length > 3 ? arguments[3] : undefined;\n // Save to temp dom\n tempDom.innerHTML = html.trim(); // Parse DOM\n\n var rootEl;\n\n for (var i = 0; i < tempDom.childNodes.length; i += 1) {\n if (!rootEl && tempDom.childNodes[i].nodeType === 1) {\n rootEl = tempDom.childNodes[i];\n }\n }\n\n var result = elementToVNode(rootEl, context, app, initial, true); // Clean\n\n tempDom.innerHTML = '';\n return result;\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/component/vdom.js?");
  1971. /***/ }),
  1972. /***/ "./node_modules/framework7/modules/device/device.js":
  1973. /*!**********************************************************!*\
  1974. !*** ./node_modules/framework7/modules/device/device.js ***!
  1975. \**********************************************************/
  1976. /*! exports provided: default */
  1977. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1978. "use strict";
  1979. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'device',\n proto: {\n device: _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n static: {\n device: _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n on: {\n init: function init() {\n var classNames = [];\n var html = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].querySelector('html');\n var metaStatusbar = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].querySelector('meta[name=\"apple-mobile-web-app-status-bar-style\"]');\n if (!html) return;\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].standalone && _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ios && metaStatusbar && metaStatusbar.content === 'black-translucent') {\n classNames.push('device-full-viewport');\n } // Pixel Ratio\n\n\n classNames.push(\"device-pixel-ratio-\".concat(Math.floor(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].pixelRatio)));\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].pixelRatio >= 2) {\n classNames.push('device-retina');\n } // OS classes\n\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].os && !_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].desktop) {\n classNames.push(\"device-\".concat(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].os), \"device-\".concat(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].os, \"-\").concat(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].osVersion.split('.')[0]), \"device-\".concat(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].os, \"-\").concat(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].osVersion.replace(/\\./g, '-')));\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].os === 'ios') {\n var major = parseInt(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].osVersion.split('.')[0], 10);\n\n for (var i = major - 1; i >= 6; i -= 1) {\n classNames.push(\"device-ios-gt-\".concat(i));\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].iphoneX) {\n classNames.push('device-iphone-x');\n }\n }\n } else if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].desktop) {\n classNames.push('device-desktop');\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].os) {\n classNames.push(\"device-\".concat(_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].os));\n }\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].cordova || _utils_device__WEBPACK_IMPORTED_MODULE_1__[\"default\"].phonegap) {\n classNames.push('device-cordova');\n } // Add html classes\n\n\n classNames.forEach(function (className) {\n html.classList.add(className);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/device/device.js?");
  1980. /***/ }),
  1981. /***/ "./node_modules/framework7/modules/history/history.js":
  1982. /*!************************************************************!*\
  1983. !*** ./node_modules/framework7/modules/history/history.js ***!
  1984. \************************************************************/
  1985. /*! exports provided: default */
  1986. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1987. "use strict";
  1988. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_history__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/history */ \"./node_modules/framework7/utils/history.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'history',\n static: {\n history: _utils_history__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n on: {\n init: function init() {\n _utils_history__WEBPACK_IMPORTED_MODULE_0__[\"default\"].init(this);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/history/history.js?");
  1989. /***/ }),
  1990. /***/ "./node_modules/framework7/modules/request/request.js":
  1991. /*!************************************************************!*\
  1992. !*** ./node_modules/framework7/modules/request/request.js ***!
  1993. \************************************************************/
  1994. /*! exports provided: default */
  1995. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1996. "use strict";
  1997. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_request__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/request */ \"./node_modules/framework7/utils/request.js\");\n/* eslint no-param-reassign: \"off\" */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'request',\n proto: {\n request: _utils_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n static: {\n request: _utils_request__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/request/request.js?");
  1998. /***/ }),
  1999. /***/ "./node_modules/framework7/modules/resize/resize.js":
  2000. /*!**********************************************************!*\
  2001. !*** ./node_modules/framework7/modules/resize/resize.js ***!
  2002. \**********************************************************/
  2003. /*! exports provided: default */
  2004. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2005. "use strict";
  2006. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'resize',\n instance: {\n getSize: function getSize() {\n var app = this;\n if (!app.root[0]) return {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n var offset = app.root.offset();\n var _ref = [app.root[0].offsetWidth, app.root[0].offsetHeight, offset.left, offset.top],\n width = _ref[0],\n height = _ref[1],\n left = _ref[2],\n top = _ref[3];\n app.width = width;\n app.height = height;\n app.left = left;\n app.top = top;\n return {\n width: width,\n height: height,\n left: left,\n top: top\n };\n }\n },\n on: {\n init: function init() {\n var app = this; // Get Size\n\n app.getSize(); // Emit resize\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].addEventListener('resize', function () {\n app.emit('resize');\n }, false); // Emit orientationchange\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].addEventListener('orientationchange', function () {\n app.emit('orientationchange');\n });\n },\n orientationchange: function orientationchange() {\n var app = this; // Fix iPad weird body scroll\n\n if (app.device.ipad) {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].body.scrollLeft = 0;\n setTimeout(function () {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].body.scrollLeft = 0;\n }, 0);\n }\n },\n resize: function resize() {\n var app = this;\n app.getSize();\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/resize/resize.js?");
  2007. /***/ }),
  2008. /***/ "./node_modules/framework7/modules/router/app-router-check.js":
  2009. /*!********************************************************************!*\
  2010. !*** ./node_modules/framework7/modules/router/app-router-check.js ***!
  2011. \********************************************************************/
  2012. /*! exports provided: default */
  2013. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2014. "use strict";
  2015. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (router, method) {\n if (!router.view) {\n throw new Error(\"Framework7: it is not allowed to use router methods on global app router. Use router methods only on related View, e.g. app.views.main.router.\".concat(method, \"(...)\"));\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/app-router-check.js?");
  2016. /***/ }),
  2017. /***/ "./node_modules/framework7/modules/router/back.js":
  2018. /*!********************************************************!*\
  2019. !*** ./node_modules/framework7/modules/router/back.js ***!
  2020. \********************************************************/
  2021. /*! exports provided: backward, loadBack, back */
  2022. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2023. "use strict";
  2024. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backward\", function() { return backward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadBack\", function() { return loadBack; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"back\", function() { return back; });\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n/* harmony import */ var _utils_history__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/history */ \"./node_modules/framework7/utils/history.js\");\n/* harmony import */ var _redirect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./redirect */ \"./node_modules/framework7/modules/router/redirect.js\");\n/* harmony import */ var _process_route_queue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./process-route-queue */ \"./node_modules/framework7/modules/router/process-route-queue.js\");\n/* harmony import */ var _app_router_check__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./app-router-check */ \"./node_modules/framework7/modules/router/app-router-check.js\");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\n\n\n\n\n\nfunction backward(el, backwardOptions) {\n var router = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var app = router.app;\n var view = router.view;\n var options = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({\n animate: router.params.animate,\n pushState: true,\n replaceState: false\n }, backwardOptions);\n var masterDetailEnabled = router.params.masterDetailBreakpoint > 0;\n var isMaster = masterDetailEnabled && options.route && options.route.route && options.route.route.master === true;\n var masterPageEl;\n var dynamicNavbar = router.dynamicNavbar;\n var separateNavbar = router.separateNavbar;\n var $newPage = $el;\n var $oldPage = router.$el.children('.page-current');\n var currentIsMaster = masterDetailEnabled && $oldPage.hasClass('page-master');\n\n if ($newPage.length) {\n // Remove theme elements\n router.removeThemeElements($newPage);\n }\n\n var $navbarEl;\n var $newNavbarInner;\n var $oldNavbarInner;\n\n if (dynamicNavbar) {\n $newNavbarInner = $newPage.children('.navbar').children('.navbar-inner');\n\n if (separateNavbar) {\n $navbarEl = router.$navbarEl;\n\n if ($newNavbarInner.length > 0) {\n $newPage.children('.navbar').remove();\n }\n\n if ($newNavbarInner.length === 0 && $newPage[0] && $newPage[0].f7Page) {\n // Try from pageData\n $newNavbarInner = $newPage[0].f7Page.$navbarEl;\n }\n\n $oldNavbarInner = $navbarEl.find('.navbar-current');\n } else {\n $oldNavbarInner = $oldPage.children('.navbar').children('.navbar-inner');\n }\n }\n\n router.allowPageChange = false;\n\n if ($newPage.length === 0 || $oldPage.length === 0) {\n router.allowPageChange = true;\n return router;\n } // Remove theme elements\n\n\n router.removeThemeElements($newPage); // Save Keep Alive Cache\n\n if (options.route && options.route.route && options.route.route.keepAlive && !options.route.route.keepAliveData) {\n options.route.route.keepAliveData = {\n pageEl: $el[0]\n };\n } // Pages In View\n\n\n var isDetail;\n\n if (masterDetailEnabled) {\n var $pagesInView = router.$el.children('.page:not(.stacked)').filter(function (index, pageInView) {\n return pageInView !== $newPage[0];\n }); // Find Detail' master page\n\n for (var i = 0; i < $pagesInView.length; i += 1) {\n if (!masterPageEl && $pagesInView[i].classList.contains('page-master')) {\n masterPageEl = $pagesInView[i];\n continue; // eslint-disable-line\n }\n }\n\n isDetail = !isMaster && masterPageEl && router.history.indexOf(options.route.url) > router.history.indexOf(masterPageEl.f7Page.route.url);\n\n if (!isDetail && !isMaster && masterPageEl && masterPageEl.f7Page && options.route.route.masterRoute) {\n isDetail = options.route.route.masterRoute.path === masterPageEl.f7Page.route.route.path;\n }\n } // New Page\n\n\n $newPage.addClass(\"page-previous\".concat(isMaster ? ' page-master' : '').concat(isDetail ? ' page-master-detail' : '')).removeClass('stacked').removeAttr('aria-hidden').trigger('page:unstack').trigger('page:position', {\n position: 'previous'\n });\n router.emit('pageUnstack', $newPage[0]);\n router.emit('pagePosition', $newPage[0], 'previous');\n\n if (isMaster || isDetail) {\n $newPage.trigger('page:role', {\n role: isMaster ? 'master' : 'detail'\n });\n }\n\n if (dynamicNavbar && $newNavbarInner.length > 0) {\n $newNavbarInner.addClass(\"navbar-previous\".concat(isMaster ? ' navbar-master' : '').concat(isDetail ? ' navbar-master-detail' : '')).removeClass('stacked').removeAttr('aria-hidden');\n } // Remove previous page in case of \"forced\"\n\n\n var backIndex;\n\n if (options.force) {\n if ($oldPage.prev('.page-previous:not(.stacked)').length > 0 || $oldPage.prev('.page-previous').length === 0) {\n if (router.history.indexOf(options.route.url) >= 0) {\n backIndex = router.history.length - router.history.indexOf(options.route.url) - 1;\n router.history = router.history.slice(0, router.history.indexOf(options.route.url) + 2);\n view.history = router.history;\n } else if (router.history[[router.history.length - 2]]) {\n router.history[router.history.length - 2] = options.route.url;\n } else {\n router.history.unshift(router.url);\n }\n\n if (backIndex && router.params.stackPages) {\n $oldPage.prevAll('.page-previous').each(function (index, pageToRemove) {\n var $pageToRemove = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageToRemove);\n var $navbarToRemove;\n\n if (separateNavbar) {\n // $navbarToRemove = $oldNavbarInner.prevAll('.navbar-previous').eq(index);\n $navbarToRemove = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($pageToRemove));\n }\n\n if ($pageToRemove[0] !== $newPage[0] && $pageToRemove.index() > $newPage.index()) {\n if (router.initialPages.indexOf($pageToRemove[0]) >= 0) {\n $pageToRemove.addClass('stacked');\n $pageToRemove.trigger('page:stack');\n router.emit('pageStack', $pageToRemove[0]);\n\n if (separateNavbar) {\n $navbarToRemove.addClass('stacked');\n }\n } else {\n router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined, options);\n router.removePage($pageToRemove);\n\n if (separateNavbar && $navbarToRemove.length > 0) {\n router.removeNavbar($navbarToRemove);\n }\n }\n }\n });\n } else {\n var $pageToRemove = $oldPage.prev('.page-previous:not(.stacked)');\n var $navbarToRemove;\n\n if (separateNavbar) {\n // $navbarToRemove = $oldNavbarInner.prev('.navbar-inner:not(.stacked)');\n $navbarToRemove = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($pageToRemove));\n }\n\n if (router.params.stackPages && router.initialPages.indexOf($pageToRemove[0]) >= 0) {\n $pageToRemove.addClass('stacked');\n $pageToRemove.trigger('page:stack');\n router.emit('pageStack', $pageToRemove[0]);\n $navbarToRemove.addClass('stacked');\n } else if ($pageToRemove.length > 0) {\n router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined, options);\n router.removePage($pageToRemove);\n\n if (separateNavbar && $navbarToRemove.length) {\n router.removeNavbar($navbarToRemove);\n }\n }\n }\n }\n } // Insert new page\n\n\n var newPageInDom = $newPage.parents(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).length > 0;\n var f7Component = $newPage[0].f7Component;\n\n function insertPage() {\n if ($newPage.next($oldPage).length === 0) {\n if (!newPageInDom && f7Component) {\n f7Component.$mount(function (componentEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(componentEl).insertBefore($oldPage);\n });\n } else {\n $newPage.insertBefore($oldPage);\n }\n }\n\n if (separateNavbar && $newNavbarInner.length) {\n if ($newNavbarInner.children('.title-large').length) {\n $newNavbarInner.addClass('navbar-inner-large');\n }\n\n $newNavbarInner.insertBefore($oldNavbarInner);\n\n if ($oldNavbarInner.length > 0) {\n $newNavbarInner.insertBefore($oldNavbarInner);\n } else {\n if (!router.$navbarEl.parents(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).length) {\n router.$el.prepend(router.$navbarEl);\n }\n\n $navbarEl.append($newNavbarInner);\n }\n }\n\n if (!newPageInDom) {\n router.pageCallback('mounted', $newPage, $newNavbarInner, 'previous', 'current', options, $oldPage);\n } else if (options.route && options.route.route && options.route.route.keepAlive && !$newPage[0].f7PageMounted) {\n $newPage[0].f7PageMounted = true;\n router.pageCallback('mounted', $newPage, $newNavbarInner, 'previous', 'current', options, $oldPage);\n }\n }\n\n if (options.preload) {\n // Insert Page\n insertPage(); // Tab route\n\n if (options.route.route.tab) {\n router.tabLoad(options.route.route.tab, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, options, {\n history: false,\n pushState: false,\n preload: true\n }));\n }\n\n if (isMaster) {\n $newPage.removeClass('page-master-stacked').trigger('page:masterunstack');\n router.emit('pageMasterUnstack', $newPage[0]);\n\n if (separateNavbar) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($newPage)).removeClass('navbar-master-stacked');\n }\n } // Page init and before init events\n\n\n router.pageCallback('init', $newPage, $newNavbarInner, 'previous', 'current', options, $oldPage);\n var $previousPages = $newPage.prevAll('.page-previous:not(.stacked):not(.page-master)');\n\n if ($previousPages.length > 0) {\n $previousPages.each(function (index, pageToRemove) {\n var $pageToRemove = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageToRemove);\n var $navbarToRemove;\n\n if (separateNavbar) {\n // $navbarToRemove = $newNavbarInner.prevAll('.navbar-previous:not(.stacked)').eq(index);\n $navbarToRemove = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($pageToRemove));\n }\n\n if (router.params.stackPages && router.initialPages.indexOf(pageToRemove) >= 0) {\n $pageToRemove.addClass('stacked');\n $pageToRemove.trigger('page:stack');\n router.emit('pageStack', $pageToRemove[0]);\n\n if (separateNavbar) {\n $navbarToRemove.addClass('stacked');\n }\n } else {\n router.pageCallback('beforeRemove', $pageToRemove, $navbarToRemove, 'previous', undefined);\n router.removePage($pageToRemove);\n\n if (separateNavbar && $navbarToRemove.length) {\n router.removeNavbar($navbarToRemove);\n }\n }\n });\n }\n\n router.allowPageChange = true;\n return router;\n } // History State\n\n\n if (!(_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ie || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].edge || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].firefox && !_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios)) {\n if (router.params.pushState && options.pushState) {\n if (options.replaceState) {\n var pushStateRoot = router.params.pushStateRoot || '';\n _utils_history__WEBPACK_IMPORTED_MODULE_4__[\"default\"].replace(view.id, {\n url: options.route.url\n }, pushStateRoot + router.params.pushStateSeparator + options.route.url);\n } else if (backIndex) {\n _utils_history__WEBPACK_IMPORTED_MODULE_4__[\"default\"].go(-backIndex);\n } else {\n _utils_history__WEBPACK_IMPORTED_MODULE_4__[\"default\"].back();\n }\n }\n } // Update History\n\n\n if (options.replaceState) {\n router.history[router.history.length - 1] = options.route.url;\n } else {\n if (router.history.length === 1) {\n router.history.unshift(router.url);\n }\n\n router.history.pop();\n }\n\n router.saveHistory(); // Current Page & Navbar\n\n router.currentPageEl = $newPage[0];\n\n if (dynamicNavbar && $newNavbarInner.length) {\n router.currentNavbarEl = $newNavbarInner[0];\n } else {\n delete router.currentNavbarEl;\n } // Current Route\n\n\n router.currentRoute = options.route; // History State\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ie || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].edge || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].firefox && !_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios) {\n if (router.params.pushState && options.pushState) {\n if (options.replaceState) {\n var _pushStateRoot = router.params.pushStateRoot || '';\n\n _utils_history__WEBPACK_IMPORTED_MODULE_4__[\"default\"].replace(view.id, {\n url: options.route.url\n }, _pushStateRoot + router.params.pushStateSeparator + options.route.url);\n } else if (backIndex) {\n _utils_history__WEBPACK_IMPORTED_MODULE_4__[\"default\"].go(-backIndex);\n } else {\n _utils_history__WEBPACK_IMPORTED_MODULE_4__[\"default\"].back();\n }\n }\n } // Insert Page\n\n\n insertPage(); // Load Tab\n\n if (options.route.route.tab) {\n router.tabLoad(options.route.route.tab, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, options, {\n history: false,\n pushState: false\n }));\n } // Page init and before init events\n\n\n router.pageCallback('init', $newPage, $newNavbarInner, 'previous', 'current', options, $oldPage); // Before animation callback\n\n router.pageCallback('beforeOut', $oldPage, $oldNavbarInner, 'current', 'next', options);\n router.pageCallback('beforeIn', $newPage, $newNavbarInner, 'previous', 'current', options); // Animation\n\n function afterAnimation() {\n // Set classes\n var pageClasses = 'page-previous page-current page-next';\n var navbarClasses = 'navbar-previous navbar-current navbar-next';\n $newPage.removeClass(pageClasses).addClass('page-current').removeAttr('aria-hidden').trigger('page:position', {\n position: 'current'\n });\n router.emit('pagePosition', $newPage[0], 'current');\n $oldPage.removeClass(pageClasses).addClass('page-next').attr('aria-hidden', 'true').trigger('page:position', {\n position: 'next'\n });\n router.emit('pagePosition', $oldPage[0], 'next');\n\n if (dynamicNavbar) {\n $newNavbarInner.removeClass(navbarClasses).addClass('navbar-current').removeAttr('aria-hidden');\n $oldNavbarInner.removeClass(navbarClasses).addClass('navbar-next').attr('aria-hidden', 'true');\n } // After animation event\n\n\n router.pageCallback('afterOut', $oldPage, $oldNavbarInner, 'current', 'next', options);\n router.pageCallback('afterIn', $newPage, $newNavbarInner, 'previous', 'current', options); // Remove Old Page\n\n if (router.params.stackPages && router.initialPages.indexOf($oldPage[0]) >= 0) {\n $oldPage.addClass('stacked');\n $oldPage.trigger('page:stack');\n router.emit('pageStack', $oldPage[0]);\n\n if (separateNavbar) {\n $oldNavbarInner.addClass('stacked');\n }\n } else {\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarInner, 'next', undefined, options);\n router.removePage($oldPage);\n\n if (separateNavbar && $oldNavbarInner.length) {\n router.removeNavbar($oldNavbarInner);\n }\n }\n\n router.allowPageChange = true;\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router); // Preload previous page\n\n var preloadPreviousPage = router.params.preloadPreviousPage || router.params[\"\".concat(app.theme, \"SwipeBack\")];\n\n if (preloadPreviousPage && router.history[router.history.length - 2] && !isMaster) {\n router.back(router.history[router.history.length - 2], {\n preload: true\n });\n }\n\n if (router.params.pushState) {\n _utils_history__WEBPACK_IMPORTED_MODULE_4__[\"default\"].clearRouterQueue();\n }\n }\n\n function setPositionClasses() {\n var pageClasses = 'page-previous page-current page-next';\n var navbarClasses = 'navbar-previous navbar-current navbar-next';\n $oldPage.removeClass(pageClasses).addClass('page-current').trigger('page:position', {\n position: 'current'\n });\n router.emit('pagePosition', $oldPage[0], 'current');\n $newPage.removeClass(pageClasses).addClass('page-previous').removeAttr('aria-hidden').trigger('page:position', {\n position: 'previous'\n });\n router.emit('pagePosition', $newPage[0], 'previous');\n\n if (dynamicNavbar) {\n $oldNavbarInner.removeClass(navbarClasses).addClass('navbar-current');\n $newNavbarInner.removeClass(navbarClasses).addClass('navbar-previous').removeAttr('aria-hidden');\n }\n }\n\n if (options.animate && !(currentIsMaster && app.width >= router.params.masterDetailBreakpoint)) {\n setPositionClasses();\n router.animate($oldPage, $newPage, $oldNavbarInner, $newNavbarInner, 'backward', function () {\n afterAnimation();\n });\n } else {\n afterAnimation();\n }\n\n return router;\n}\n\nfunction loadBack(backParams, backOptions, ignorePageChange) {\n var router = this;\n if (!router.allowPageChange && !ignorePageChange) return router;\n var params = backParams;\n var options = backOptions;\n var url = params.url,\n content = params.content,\n el = params.el,\n pageName = params.pageName,\n template = params.template,\n templateUrl = params.templateUrl,\n component = params.component,\n componentUrl = params.componentUrl;\n\n if (options.route.url && router.url === options.route.url && !(options.reloadCurrent || options.reloadPrevious) && !router.params.allowDuplicateUrls) {\n return false;\n }\n\n if (!options.route && url) {\n options.route = router.parseRouteUrl(url);\n } // Component Callbacks\n\n\n function resolve(pageEl, newOptions) {\n return router.backward(pageEl, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options, newOptions));\n }\n\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (url || templateUrl || componentUrl) {\n router.allowPageChange = false;\n } // Proceed\n\n\n if (content) {\n router.backward(router.getPageEl(content), options);\n } else if (template || templateUrl) {\n // Parse template and send page element\n try {\n router.pageTemplateLoader(template, templateUrl, options, resolve, reject);\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (el) {\n // Load page from specified HTMLElement or by page name in pages container\n router.backward(router.getPageEl(el), options);\n } else if (pageName) {\n // Load page by page name in pages container\n router.backward(router.$el.children(\".page[data-name=\\\"\".concat(pageName, \"\\\"]\")).eq(0), options);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.pageComponentLoader(router.el, component, componentUrl, options, resolve, reject);\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhr) {\n router.xhr.abort();\n router.xhr = false;\n }\n\n router.xhrRequest(url, options).then(function (pageContent) {\n router.backward(router.getPageEl(pageContent), options);\n }).catch(function () {\n router.allowPageChange = true;\n });\n }\n\n return router;\n}\n\nfunction back() {\n var router = this;\n if (router.swipeBackActive) return router;\n var navigateUrl;\n var navigateOptions;\n var route;\n\n if (_typeof(arguments.length <= 0 ? undefined : arguments[0]) === 'object') {\n navigateOptions = (arguments.length <= 0 ? undefined : arguments[0]) || {};\n } else {\n navigateUrl = arguments.length <= 0 ? undefined : arguments[0];\n navigateOptions = (arguments.length <= 1 ? undefined : arguments[1]) || {};\n }\n\n var _navigateOptions = navigateOptions,\n name = _navigateOptions.name,\n params = _navigateOptions.params,\n query = _navigateOptions.query;\n\n if (name) {\n // find route by name\n route = router.findRouteByKey('name', name);\n\n if (!route) {\n throw new Error(\"Framework7: route with name \\\"\".concat(name, \"\\\" not found\"));\n }\n\n navigateUrl = router.constructRouteUrl(route, {\n params: params,\n query: query\n });\n\n if (navigateUrl) {\n return router.back(navigateUrl, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, navigateOptions, {\n name: null,\n params: null,\n query: null\n }));\n }\n\n throw new Error(\"Framework7: can't construct URL for route with name \\\"\".concat(name, \"\\\"\"));\n }\n\n var app = router.app;\n Object(_app_router_check__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(router, 'back');\n var currentRouteIsModal = router.currentRoute.modal;\n var modalType;\n\n if (!currentRouteIsModal) {\n 'popup popover sheet loginScreen actions customModal panel'.split(' ').forEach(function (modalLoadProp) {\n if (router.currentRoute.route[modalLoadProp]) {\n currentRouteIsModal = true;\n modalType = modalLoadProp;\n }\n });\n }\n\n if (currentRouteIsModal) {\n var modalToClose = router.currentRoute.modal || router.currentRoute.route.modalInstance || app[modalType].get();\n var previousUrl = router.history[router.history.length - 2];\n var previousRoute; // check if previous route is modal too\n\n if (modalToClose && modalToClose.$el) {\n var prevOpenedModals = modalToClose.$el.prevAll('.modal-in');\n\n if (prevOpenedModals.length && prevOpenedModals[0].f7Modal) {\n previousRoute = prevOpenedModals[0].f7Modal.route;\n }\n }\n\n if (!previousRoute) {\n previousRoute = router.findMatchingRoute(previousUrl);\n }\n\n if (!previousRoute && previousUrl) {\n previousRoute = {\n url: previousUrl,\n path: previousUrl.split('?')[0],\n query: _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].parseUrlQuery(previousUrl),\n route: {\n path: previousUrl.split('?')[0],\n url: previousUrl\n }\n };\n }\n\n if (!navigateUrl || navigateUrl.replace(/[# ]/g, '').trim().length === 0) {\n if (!previousRoute || !modalToClose) {\n return router;\n }\n }\n\n var forceOtherUrl = navigateOptions.force && previousRoute && navigateUrl;\n\n if (previousRoute && modalToClose) {\n var isBrokenPushState = _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ie || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].edge || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].firefox && !_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios;\n var needHistoryBack = router.params.pushState && navigateOptions.pushState !== false;\n\n if (needHistoryBack && !isBrokenPushState) {\n _utils_history__WEBPACK_IMPORTED_MODULE_4__[\"default\"].back();\n }\n\n router.currentRoute = previousRoute;\n router.history.pop();\n router.saveHistory();\n\n if (needHistoryBack && isBrokenPushState) {\n _utils_history__WEBPACK_IMPORTED_MODULE_4__[\"default\"].back();\n }\n\n router.modalRemove(modalToClose);\n\n if (forceOtherUrl) {\n router.navigate(navigateUrl, {\n reloadCurrent: true\n });\n }\n } else if (modalToClose) {\n router.modalRemove(modalToClose);\n\n if (navigateUrl) {\n router.navigate(navigateUrl, {\n reloadCurrent: true\n });\n }\n }\n\n return router;\n }\n\n var $previousPage = router.$el.children('.page-current').prevAll('.page-previous:not(.page-master)').eq(0);\n var skipMaster;\n\n if (router.params.masterDetailBreakpoint > 0) {\n var $previousMaster = router.$el.children('.page-current').prevAll('.page-master').eq(0);\n\n if ($previousMaster.length) {\n var expectedPreviousPageUrl = router.history[router.history.length - 2];\n var expectedPreviousPageRoute = router.findMatchingRoute(expectedPreviousPageUrl);\n\n if (expectedPreviousPageRoute && expectedPreviousPageRoute.route === $previousMaster[0].f7Page.route.route) {\n $previousPage = $previousMaster;\n\n if (!navigateOptions.preload) {\n skipMaster = app.width >= router.params.masterDetailBreakpoint;\n }\n }\n }\n }\n\n if (!navigateOptions.force && $previousPage.length && !skipMaster) {\n if (router.params.pushState && $previousPage[0].f7Page && router.history[router.history.length - 2] !== $previousPage[0].f7Page.route.url) {\n router.back(router.history[router.history.length - 2], _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(navigateOptions, {\n force: true\n }));\n return router;\n }\n\n var previousPageRoute = $previousPage[0].f7Page.route;\n _process_route_queue__WEBPACK_IMPORTED_MODULE_6__[\"default\"].call(router, previousPageRoute, router.currentRoute, function () {\n router.loadBack({\n el: $previousPage\n }, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(navigateOptions, {\n route: previousPageRoute\n }));\n }, function () {});\n return router;\n } // Navigate URL\n\n\n if (navigateUrl === '#') {\n navigateUrl = undefined;\n }\n\n if (navigateUrl && navigateUrl[0] !== '/' && navigateUrl.indexOf('#') !== 0) {\n navigateUrl = ((router.path || '/') + navigateUrl).replace('//', '/');\n }\n\n if (!navigateUrl && router.history.length > 1) {\n navigateUrl = router.history[router.history.length - 2];\n }\n\n if (skipMaster && !navigateOptions.force && router.history[router.history.length - 3]) {\n return router.back(router.history[router.history.length - 3], _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, navigateOptions || {}, {\n force: true,\n animate: false\n }));\n }\n\n if (skipMaster && !navigateOptions.force) {\n return router;\n } // Find route to load\n\n\n route = router.findMatchingRoute(navigateUrl);\n\n if (!route) {\n if (navigateUrl) {\n route = {\n url: navigateUrl,\n path: navigateUrl.split('?')[0],\n query: _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].parseUrlQuery(navigateUrl),\n route: {\n path: navigateUrl.split('?')[0],\n url: navigateUrl\n }\n };\n }\n }\n\n if (!route) {\n return router;\n }\n\n if (route.route.redirect) {\n return _redirect__WEBPACK_IMPORTED_MODULE_5__[\"default\"].call(router, 'back', route, navigateOptions);\n }\n\n var options = {};\n\n if (route.route.options) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options, route.route.options, navigateOptions);\n } else {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options, navigateOptions);\n }\n\n options.route = route;\n\n if (options && options.context) {\n route.context = options.context;\n options.route.context = options.context;\n }\n\n var backForceLoaded;\n\n if (options.force && router.params.stackPages) {\n router.$el.children('.page-previous.stacked').each(function (index, pageEl) {\n if (pageEl.f7Page && pageEl.f7Page.route && pageEl.f7Page.route.url === route.url) {\n backForceLoaded = true;\n router.loadBack({\n el: pageEl\n }, options);\n }\n });\n\n if (backForceLoaded) {\n return router;\n }\n }\n\n function resolve() {\n var routerLoaded = false;\n\n if (route.route.keepAlive && route.route.keepAliveData) {\n router.loadBack({\n el: route.route.keepAliveData.pageEl\n }, options);\n routerLoaded = true;\n }\n\n 'url content component pageName el componentUrl template templateUrl'.split(' ').forEach(function (pageLoadProp) {\n if (route.route[pageLoadProp] && !routerLoaded) {\n routerLoaded = true;\n router.loadBack(_defineProperty({}, pageLoadProp, route.route[pageLoadProp]), options);\n }\n });\n if (routerLoaded) return; // Async\n\n function asyncResolve(resolveParams, resolveOptions) {\n router.allowPageChange = false;\n\n if (resolveOptions && resolveOptions.context) {\n if (!route.context) route.context = resolveOptions.context;else route.context = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, route.context, resolveOptions.context);\n options.route.context = route.context;\n }\n\n router.loadBack(resolveParams, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options, resolveOptions), true);\n }\n\n function asyncReject() {\n router.allowPageChange = true;\n }\n\n if (route.route.async) {\n router.allowPageChange = false;\n route.route.async.call(router, route, router.currentRoute, asyncResolve, asyncReject);\n }\n }\n\n function reject() {\n router.allowPageChange = true;\n }\n\n if (options.preload) {\n resolve();\n } else {\n _process_route_queue__WEBPACK_IMPORTED_MODULE_6__[\"default\"].call(router, route, router.currentRoute, function () {\n if (route.route.modules) {\n app.loadModules(Array.isArray(route.route.modules) ? route.route.modules : [route.route.modules]).then(function () {\n resolve();\n }).catch(function () {\n reject();\n });\n } else {\n resolve();\n }\n }, function () {\n reject();\n });\n } // Return Router\n\n\n return router;\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/back.js?");
  2025. /***/ }),
  2026. /***/ "./node_modules/framework7/modules/router/clear-previous-history.js":
  2027. /*!**************************************************************************!*\
  2028. !*** ./node_modules/framework7/modules/router/clear-previous-history.js ***!
  2029. \**************************************************************************/
  2030. /*! exports provided: clearPreviousHistory, clearPreviousPages */
  2031. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2032. "use strict";
  2033. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearPreviousHistory\", function() { return clearPreviousHistory; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearPreviousPages\", function() { return clearPreviousPages; });\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _app_router_check__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./app-router-check */ \"./node_modules/framework7/modules/router/app-router-check.js\");\n\n\n\nfunction clearPreviousPages() {\n var router = this;\n Object(_app_router_check__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(router, 'clearPreviousPages');\n var app = router.app;\n var separateNavbar = router.separateNavbar;\n var $pagesToRemove = router.$el.children('.page').filter(function (index, pageInView) {\n if (router.currentRoute && (router.currentRoute.modal || router.currentRoute.panel)) return true;\n return pageInView !== router.currentPageEl;\n });\n $pagesToRemove.each(function (index, pageEl) {\n var $oldPageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl);\n var $oldNavbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($oldPageEl));\n\n if (router.params.stackPages && router.initialPages.indexOf($oldPageEl[0]) >= 0) {\n $oldPageEl.addClass('stacked');\n\n if (separateNavbar) {\n $oldNavbarInnerEl.addClass('stacked');\n }\n } else {\n // Page remove event\n router.pageCallback('beforeRemove', $oldPageEl, $oldNavbarInnerEl, 'previous', undefined, {});\n router.removePage($oldPageEl);\n\n if (separateNavbar && $oldNavbarInnerEl.length) {\n router.removeNavbar($oldNavbarInnerEl);\n }\n }\n });\n}\n\nfunction clearPreviousHistory() {\n var router = this;\n Object(_app_router_check__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(router, 'clearPreviousHistory');\n var url = router.history[router.history.length - 1];\n router.clearPreviousPages();\n router.history = [url];\n router.view.history = [url];\n router.saveHistory();\n}\n\n // eslint-disable-line\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/clear-previous-history.js?");
  2034. /***/ }),
  2035. /***/ "./node_modules/framework7/modules/router/component-loader.js":
  2036. /*!********************************************************************!*\
  2037. !*** ./node_modules/framework7/modules/router/component-loader.js ***!
  2038. \********************************************************************/
  2039. /*! exports provided: default */
  2040. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2041. "use strict";
  2042. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'routerComponentLoader',\n proto: {\n componentLoader: function componentLoader(component, componentUrl) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var resolve = arguments.length > 3 ? arguments[3] : undefined;\n var reject = arguments.length > 4 ? arguments[4] : undefined;\n var router = this;\n var app = router.app;\n var url = typeof component === 'string' ? component : componentUrl;\n var compiledUrl = router.replaceRequestUrlParams(url, options);\n\n function compile(componentOptions) {\n var context = options.context || {};\n if (typeof context === 'function') context = context.call(router);else if (typeof context === 'string') {\n try {\n context = JSON.parse(context);\n } catch (err) {\n reject();\n throw err;\n }\n }\n var extendContext = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].merge({}, context, {\n $route: options.route,\n $f7route: options.route,\n $router: router,\n $f7router: router,\n $theme: {\n ios: app.theme === 'ios',\n md: app.theme === 'md',\n aurora: app.theme === 'aurora'\n }\n });\n var createdComponent = app.component.create(componentOptions, extendContext);\n resolve(createdComponent.el);\n }\n\n var cachedComponent;\n\n if (compiledUrl) {\n router.cache.components.forEach(function (cached) {\n if (cached.url === compiledUrl) cachedComponent = cached.component;\n });\n }\n\n if (compiledUrl && cachedComponent) {\n compile(cachedComponent);\n } else if (compiledUrl && !cachedComponent) {\n // Load via XHR\n if (router.xhr) {\n router.xhr.abort();\n router.xhr = false;\n }\n\n router.xhrRequest(url, options).then(function (loadedComponent) {\n var parsedComponent = app.component.parse(loadedComponent);\n router.cache.components.push({\n url: compiledUrl,\n component: parsedComponent\n });\n compile(parsedComponent);\n }).catch(function (err) {\n reject();\n throw err;\n });\n } else {\n compile(component);\n }\n },\n modalComponentLoader: function modalComponentLoader(rootEl, component, componentUrl, options, resolve, reject) {\n var router = this;\n router.componentLoader(component, componentUrl, options, function (el) {\n resolve(el);\n }, reject);\n },\n tabComponentLoader: function tabComponentLoader(tabEl, component, componentUrl, options, resolve, reject) {\n var router = this;\n router.componentLoader(component, componentUrl, options, function (el) {\n resolve(el);\n }, reject);\n },\n pageComponentLoader: function pageComponentLoader(routerEl, component, componentUrl, options, resolve, reject) {\n var router = this;\n router.componentLoader(component, componentUrl, options, function (el) {\n var newOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n resolve(el, newOptions);\n }, reject);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/component-loader.js?");
  2043. /***/ }),
  2044. /***/ "./node_modules/framework7/modules/router/modal.js":
  2045. /*!*********************************************************!*\
  2046. !*** ./node_modules/framework7/modules/router/modal.js ***!
  2047. \*********************************************************/
  2048. /*! exports provided: modalLoad, modalRemove */
  2049. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2050. "use strict";
  2051. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modalLoad\", function() { return modalLoad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modalRemove\", function() { return modalRemove; });\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_history__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/history */ \"./node_modules/framework7/utils/history.js\");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\nfunction modalLoad(modalType, route) {\n var loadOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var router = this;\n var app = router.app;\n var isPanel = modalType === 'panel';\n var modalOrPanel = isPanel ? 'panel' : 'modal';\n var options = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({\n animate: router.params.animate,\n pushState: true,\n history: true,\n on: {}\n }, loadOptions);\n var modalParams = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({}, route.route[modalType]);\n var modalRoute = route.route;\n\n function onModalLoaded() {\n // Create Modal\n var modal = app[modalType].create(modalParams);\n modalRoute.modalInstance = modal;\n var hasEl = modal.el;\n\n function closeOnSwipeBack() {\n modal.close();\n }\n\n modal.on(\"\".concat(modalOrPanel, \"Open\"), function () {\n if (!hasEl) {\n // Remove theme elements\n router.removeThemeElements(modal.el); // Emit events\n\n modal.$el.trigger(\"\".concat(modalType.toLowerCase(), \":init \").concat(modalType.toLowerCase(), \":mounted\"), route, modal);\n router.emit(\"\".concat(!isPanel ? 'modalInit' : '', \" \").concat(modalType, \"Init \").concat(modalType, \"Mounted\"), modal.el, route, modal);\n }\n\n router.once('swipeBackMove', closeOnSwipeBack);\n });\n modal.on(\"\".concat(modalOrPanel, \"Close\"), function () {\n router.off('swipeBackMove', closeOnSwipeBack);\n\n if (!modal.closeByRouter) {\n router.back();\n }\n });\n modal.on(\"\".concat(modalOrPanel, \"Closed\"), function () {\n modal.$el.trigger(\"\".concat(modalType.toLowerCase(), \":beforeremove\"), route, modal);\n modal.emit(\"\".concat(!isPanel ? 'modalBeforeRemove ' : '').concat(modalType, \"BeforeRemove\"), modal.el, route, modal);\n var modalComponent = modal.el.f7Component;\n\n if (modalComponent) {\n modalComponent.$destroy();\n }\n\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].nextTick(function () {\n if (modalComponent || modalParams.component) {\n router.removeModal(modal.el);\n }\n\n modal.destroy();\n delete modal.route;\n delete modalRoute.modalInstance;\n });\n });\n\n if (options.route) {\n // Update Browser History\n if (router.params.pushState && options.pushState) {\n _utils_history__WEBPACK_IMPORTED_MODULE_1__[\"default\"].push(router.view.id, {\n url: options.route.url,\n modal: modalType\n }, (router.params.pushStateRoot || '') + router.params.pushStateSeparator + options.route.url);\n } // Set Route\n\n\n if (options.route !== router.currentRoute) {\n modal.route = _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(options.route, {\n modal: modal\n });\n router.currentRoute = modal.route;\n } // Update Router History\n\n\n if (options.history) {\n router.history.push(options.route.url);\n router.saveHistory();\n }\n }\n\n if (hasEl) {\n // Remove theme elements\n router.removeThemeElements(modal.el); // Emit events\n\n modal.$el.trigger(\"\".concat(modalType.toLowerCase(), \":init \").concat(modalType.toLowerCase(), \":mounted\"), route, modal);\n router.emit(\"\".concat(modalOrPanel, \"Init \").concat(modalType, \"Init \").concat(modalType, \"Mounted\"), modal.el, route, modal);\n } // Open\n\n\n modal.open();\n } // Load Modal Content\n\n\n function loadModal(loadModalParams, loadModalOptions) {\n // Load Modal Props\n var url = loadModalParams.url,\n content = loadModalParams.content,\n template = loadModalParams.template,\n templateUrl = loadModalParams.templateUrl,\n component = loadModalParams.component,\n componentUrl = loadModalParams.componentUrl; // Component/Template Callbacks\n\n function resolve(contentEl) {\n if (contentEl) {\n if (typeof contentEl === 'string') {\n modalParams.content = contentEl;\n } else if (contentEl.f7Component) {\n contentEl.f7Component.$mount(function (componentEl) {\n modalParams.el = componentEl;\n app.root.append(componentEl);\n });\n } else {\n modalParams.el = contentEl;\n }\n\n onModalLoaded();\n }\n }\n\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (content) {\n resolve(content);\n } else if (template || templateUrl) {\n try {\n router.modalTemplateLoader(template, templateUrl, loadModalOptions, resolve, reject);\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.modalComponentLoader(app.root[0], component, componentUrl, loadModalOptions, resolve, reject);\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhr) {\n router.xhr.abort();\n router.xhr = false;\n }\n\n router.xhrRequest(url, loadModalOptions).then(function (modalContent) {\n modalParams.content = modalContent;\n onModalLoaded();\n }).catch(function () {\n router.allowPageChange = true;\n });\n } else {\n onModalLoaded();\n }\n }\n\n var foundLoadProp;\n 'url content component el componentUrl template templateUrl'.split(' ').forEach(function (modalLoadProp) {\n if (modalParams[modalLoadProp] && !foundLoadProp) {\n foundLoadProp = true;\n loadModal(_defineProperty({}, modalLoadProp, modalParams[modalLoadProp]), options);\n }\n });\n\n if (!foundLoadProp && modalType === 'actions') {\n onModalLoaded();\n } // Async\n\n\n function asyncResolve(resolveParams, resolveOptions) {\n loadModal(resolveParams, _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(options, resolveOptions));\n }\n\n function asyncReject() {\n router.allowPageChange = true;\n }\n\n if (modalParams.async) {\n modalParams.async.call(router, options.route, router.currentRoute, asyncResolve, asyncReject);\n }\n\n return router;\n}\n\nfunction modalRemove(modal) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(modal, {\n closeByRouter: true\n });\n modal.close();\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/modal.js?");
  2052. /***/ }),
  2053. /***/ "./node_modules/framework7/modules/router/navigate.js":
  2054. /*!************************************************************!*\
  2055. !*** ./node_modules/framework7/modules/router/navigate.js ***!
  2056. \************************************************************/
  2057. /*! exports provided: refreshPage, forward, load, navigate */
  2058. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2059. "use strict";
  2060. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"refreshPage\", function() { return refreshPage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"load\", function() { return load; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"navigate\", function() { return navigate; });\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_history__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/history */ \"./node_modules/framework7/utils/history.js\");\n/* harmony import */ var _redirect__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./redirect */ \"./node_modules/framework7/modules/router/redirect.js\");\n/* harmony import */ var _process_route_queue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./process-route-queue */ \"./node_modules/framework7/modules/router/process-route-queue.js\");\n/* harmony import */ var _app_router_check__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./app-router-check */ \"./node_modules/framework7/modules/router/app-router-check.js\");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\nfunction refreshPage() {\n var router = this;\n Object(_app_router_check__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(router, 'refreshPage');\n return router.navigate(router.currentRoute.url, {\n ignoreCache: true,\n reloadCurrent: true\n });\n}\n\nfunction forward(el) {\n var forwardOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var router = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var app = router.app;\n var view = router.view;\n var options = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(false, {\n animate: router.params.animate,\n pushState: true,\n replaceState: false,\n history: true,\n reloadCurrent: router.params.reloadPages,\n reloadPrevious: false,\n reloadAll: false,\n clearPreviousHistory: false,\n reloadDetail: router.params.reloadDetail,\n on: {}\n }, forwardOptions);\n var masterDetailEnabled = router.params.masterDetailBreakpoint > 0;\n var isMaster = masterDetailEnabled && options.route && options.route.route && options.route.route.master === true;\n var masterPageEl;\n var otherDetailPageEl;\n var currentRouteIsModal = router.currentRoute.modal;\n var modalType;\n\n if (!currentRouteIsModal) {\n 'popup popover sheet loginScreen actions customModal panel'.split(' ').forEach(function (modalLoadProp) {\n if (router.currentRoute && router.currentRoute.route && router.currentRoute.route[modalLoadProp]) {\n currentRouteIsModal = true;\n modalType = modalLoadProp;\n }\n });\n }\n\n if (currentRouteIsModal) {\n var modalToClose = router.currentRoute.modal || router.currentRoute.route.modalInstance || app[modalType].get();\n var previousUrl = router.history[router.history.length - 2];\n var previousRoute = router.findMatchingRoute(previousUrl);\n\n if (!previousRoute && previousUrl) {\n previousRoute = {\n url: previousUrl,\n path: previousUrl.split('?')[0],\n query: _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].parseUrlQuery(previousUrl),\n route: {\n path: previousUrl.split('?')[0],\n url: previousUrl\n }\n };\n }\n\n router.modalRemove(modalToClose);\n }\n\n var dynamicNavbar = router.dynamicNavbar;\n var separateNavbar = router.separateNavbar;\n var $viewEl = router.$el;\n var $newPage = $el;\n var reload = options.reloadPrevious || options.reloadCurrent || options.reloadAll;\n var $oldPage;\n var $navbarEl;\n var $newNavbarInner;\n var $oldNavbarInner;\n router.allowPageChange = false;\n\n if ($newPage.length === 0) {\n router.allowPageChange = true;\n return router;\n }\n\n if ($newPage.length) {\n // Remove theme elements\n router.removeThemeElements($newPage);\n }\n\n if (dynamicNavbar) {\n $newNavbarInner = $newPage.children('.navbar').children('.navbar-inner');\n\n if (separateNavbar) {\n $navbarEl = router.$navbarEl;\n\n if ($newNavbarInner.length > 0) {\n $newPage.children('.navbar').remove();\n }\n\n if ($newNavbarInner.length === 0 && $newPage[0] && $newPage[0].f7Page) {\n // Try from pageData\n $newNavbarInner = $newPage[0].f7Page.$navbarEl;\n }\n }\n } // Save Keep Alive Cache\n\n\n if (options.route && options.route.route && options.route.route.keepAlive && !options.route.route.keepAliveData) {\n options.route.route.keepAliveData = {\n pageEl: $el[0]\n };\n } // Pages In View\n\n\n var $pagesInView = $viewEl.children('.page:not(.stacked)').filter(function (index, pageInView) {\n return pageInView !== $newPage[0];\n }); // Navbars In View\n\n var $navbarsInView;\n\n if (separateNavbar) {\n $navbarsInView = $navbarEl.children('.navbar-inner:not(.stacked)').filter(function (index, navbarInView) {\n return navbarInView !== $newNavbarInner[0];\n });\n } // Exit when reload previous and only 1 page in view so nothing ro reload\n\n\n if (options.reloadPrevious && $pagesInView.length < 2) {\n router.allowPageChange = true;\n return router;\n } // Find Detail' master page\n\n\n var isDetail;\n var reloadDetail;\n\n if (masterDetailEnabled && !options.reloadAll) {\n for (var i = 0; i < $pagesInView.length; i += 1) {\n if (!masterPageEl && $pagesInView[i].classList.contains('page-master')) {\n masterPageEl = $pagesInView[i];\n continue; // eslint-disable-line\n }\n }\n\n isDetail = !isMaster && masterPageEl;\n\n if (isDetail) {\n // Find Other Detail\n if (masterPageEl) {\n for (var _i = 0; _i < $pagesInView.length; _i += 1) {\n if ($pagesInView[_i].classList.contains('page-master-detail')) {\n otherDetailPageEl = $pagesInView[_i];\n continue; // eslint-disable-line\n }\n }\n }\n }\n\n reloadDetail = isDetail && options.reloadDetail && app.width >= router.params.masterDetailBreakpoint && masterPageEl;\n } // New Page\n\n\n var newPagePosition = 'next';\n\n if (options.reloadCurrent || options.reloadAll || reloadDetail) {\n newPagePosition = 'current';\n } else if (options.reloadPrevious) {\n newPagePosition = 'previous';\n }\n\n $newPage.removeClass('page-previous page-current page-next').addClass(\"page-\".concat(newPagePosition).concat(isMaster ? ' page-master' : '').concat(isDetail ? ' page-master-detail' : '')).removeClass('stacked').trigger('page:unstack').trigger('page:position', {\n position: newPagePosition\n });\n router.emit('pageUnstack', $newPage[0]);\n router.emit('pagePosition', $newPage[0], newPagePosition);\n\n if (isMaster || isDetail) {\n $newPage.trigger('page:role', {\n role: isMaster ? 'master' : 'detail'\n });\n }\n\n if (dynamicNavbar && $newNavbarInner.length) {\n $newNavbarInner.removeClass('navbar-previous navbar-current navbar-next').addClass(\"navbar-\".concat(newPagePosition).concat(isMaster ? ' navbar-master' : '').concat(isDetail ? ' navbar-master-detail' : '')).removeClass('stacked');\n } // Find Old Page\n\n\n if (options.reloadCurrent || reloadDetail) {\n $oldPage = $pagesInView.eq($pagesInView.length - 1);\n\n if (separateNavbar) {\n // $oldNavbarInner = $navbarsInView.eq($pagesInView.length - 1);\n $oldNavbarInner = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($oldPage));\n }\n } else if (options.reloadPrevious) {\n $oldPage = $pagesInView.eq($pagesInView.length - 2);\n\n if (separateNavbar) {\n // $oldNavbarInner = $navbarsInView.eq($pagesInView.length - 2);\n $oldNavbarInner = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($oldPage));\n }\n } else if (options.reloadAll) {\n $oldPage = $pagesInView.filter(function (index, pageEl) {\n return pageEl !== $newPage[0];\n });\n\n if (separateNavbar) {\n $oldNavbarInner = $navbarsInView.filter(function (index, navbarEl) {\n return navbarEl !== $newNavbarInner[0];\n });\n }\n } else {\n if ($pagesInView.length > 1) {\n var _i2 = 0;\n\n for (_i2 = 0; _i2 < $pagesInView.length - 1; _i2 += 1) {\n if (masterPageEl && $pagesInView[_i2] === masterPageEl) {\n $pagesInView.eq(_i2).addClass('page-master-stacked');\n $pagesInView.eq(_i2).trigger('page:masterstack');\n router.emit('pageMasterStack', $pagesInView[_i2]);\n\n if (separateNavbar) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage(masterPageEl)).addClass('navbar-master-stacked');\n }\n\n continue; // eslint-disable-line\n }\n\n var oldNavbarInnerEl = app.navbar.getElByPage($pagesInView.eq(_i2));\n\n if (router.params.stackPages) {\n $pagesInView.eq(_i2).addClass('stacked');\n $pagesInView.eq(_i2).trigger('page:stack');\n router.emit('pageStack', $pagesInView[_i2]);\n\n if (separateNavbar) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(oldNavbarInnerEl).addClass('stacked');\n }\n } else {\n // Page remove event\n router.pageCallback('beforeRemove', $pagesInView[_i2], $navbarsInView && $navbarsInView[_i2], 'previous', undefined, options);\n router.removePage($pagesInView[_i2]);\n\n if (separateNavbar && oldNavbarInnerEl) {\n router.removeNavbar(oldNavbarInnerEl);\n }\n }\n }\n }\n\n $oldPage = $viewEl.children('.page:not(.stacked)').filter(function (index, page) {\n return page !== $newPage[0];\n });\n\n if (separateNavbar) {\n $oldNavbarInner = $navbarEl.children('.navbar-inner:not(.stacked)').filter(function (index, navbarInner) {\n return navbarInner !== $newNavbarInner[0];\n });\n }\n }\n\n if (dynamicNavbar && !separateNavbar) {\n $oldNavbarInner = $oldPage.children('.navbar').children('.navbar-inner');\n }\n\n if (isDetail && !options.reloadAll) {\n if ($oldPage.length > 1 || reloadDetail) {\n $oldPage = $oldPage.filter(function (pageIndex, pageEl) {\n return !pageEl.classList.contains('page-master');\n });\n }\n\n if ($oldNavbarInner && ($oldNavbarInner.length > 1 || reloadDetail)) {\n $oldNavbarInner = $oldNavbarInner.filter(function (navbarIndex, navbarEl) {\n return !navbarEl.classList.contains('navbar-master');\n });\n }\n } // Push State\n\n\n if (router.params.pushState && (options.pushState || options.replaceState) && !options.reloadPrevious) {\n var pushStateRoot = router.params.pushStateRoot || '';\n _utils_history__WEBPACK_IMPORTED_MODULE_3__[\"default\"][options.reloadCurrent || reloadDetail && otherDetailPageEl || options.reloadAll || options.replaceState ? 'replace' : 'push'](view.id, {\n url: options.route.url\n }, pushStateRoot + router.params.pushStateSeparator + options.route.url);\n }\n\n if (!options.reloadPrevious) {\n // Current Page & Navbar\n router.currentPageEl = $newPage[0];\n\n if (dynamicNavbar && $newNavbarInner.length) {\n router.currentNavbarEl = $newNavbarInner[0];\n } else {\n delete router.currentNavbarEl;\n } // Current Route\n\n\n router.currentRoute = options.route;\n } // Update router history\n\n\n var url = options.route.url;\n\n if (options.history) {\n if (((options.reloadCurrent || reloadDetail && otherDetailPageEl) && router.history.length) > 0 || options.replaceState) {\n router.history[router.history.length - (options.reloadPrevious ? 2 : 1)] = url;\n } else if (options.reloadPrevious) {\n router.history[router.history.length - 2] = url;\n } else if (options.reloadAll) {\n router.history = [url];\n } else {\n router.history.push(url);\n }\n }\n\n router.saveHistory(); // Insert new page and navbar\n\n var newPageInDom = $newPage.parents(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).length > 0;\n var f7Component = $newPage[0].f7Component;\n\n if (options.reloadPrevious) {\n if (f7Component && !newPageInDom) {\n f7Component.$mount(function (componentEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(componentEl).insertBefore($oldPage);\n });\n } else {\n $newPage.insertBefore($oldPage);\n }\n\n if (separateNavbar && $newNavbarInner.length) {\n if ($newNavbarInner.children('.title-large').length) {\n $newNavbarInner.addClass('navbar-inner-large');\n }\n\n if ($oldNavbarInner.length) {\n $newNavbarInner.insertBefore($oldNavbarInner);\n } else {\n if (!router.$navbarEl.parents(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).length) {\n router.$el.prepend(router.$navbarEl);\n }\n\n $navbarEl.append($newNavbarInner);\n }\n }\n } else {\n if ($oldPage.next('.page')[0] !== $newPage[0]) {\n if (f7Component && !newPageInDom) {\n f7Component.$mount(function (componentEl) {\n $viewEl.append(componentEl);\n });\n } else {\n $viewEl.append($newPage[0]);\n }\n }\n\n if (separateNavbar && $newNavbarInner.length) {\n if ($newNavbarInner.children('.title-large').length) {\n $newNavbarInner.addClass('navbar-inner-large');\n }\n\n if (!router.$navbarEl.parents(ssr_window__WEBPACK_IMPORTED_MODULE_1__[\"document\"]).length) {\n router.$el.prepend(router.$navbarEl);\n }\n\n $navbarEl.append($newNavbarInner[0]);\n }\n }\n\n if (!newPageInDom) {\n router.pageCallback('mounted', $newPage, $newNavbarInner, newPagePosition, reload ? newPagePosition : 'current', options, $oldPage);\n } else if (options.route && options.route.route && options.route.route.keepAlive && !$newPage[0].f7PageMounted) {\n $newPage[0].f7PageMounted = true;\n router.pageCallback('mounted', $newPage, $newNavbarInner, newPagePosition, reload ? newPagePosition : 'current', options, $oldPage);\n } // Remove old page\n\n\n if ((options.reloadCurrent || reloadDetail) && $oldPage.length > 0) {\n if (router.params.stackPages && router.initialPages.indexOf($oldPage[0]) >= 0) {\n $oldPage.addClass('stacked');\n $oldPage.trigger('page:stack');\n router.emit('pageStack', $oldPage[0]);\n\n if (separateNavbar) {\n $oldNavbarInner.addClass('stacked');\n }\n } else {\n // Page remove event\n router.pageCallback('beforeOut', $oldPage, $oldNavbarInner, 'current', undefined, options);\n router.pageCallback('afterOut', $oldPage, $oldNavbarInner, 'current', undefined, options);\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarInner, 'current', undefined, options);\n router.removePage($oldPage);\n\n if (separateNavbar && $oldNavbarInner && $oldNavbarInner.length) {\n router.removeNavbar($oldNavbarInner);\n }\n }\n } else if (options.reloadAll) {\n $oldPage.each(function (index, pageEl) {\n var $oldPageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(pageEl);\n var $oldNavbarInnerEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(app.navbar.getElByPage($oldPageEl));\n\n if (router.params.stackPages && router.initialPages.indexOf($oldPageEl[0]) >= 0) {\n $oldPageEl.addClass('stacked');\n $oldPageEl.trigger('page:stack');\n router.emit('pageStack', $oldPageEl[0]);\n\n if (separateNavbar) {\n $oldNavbarInnerEl.addClass('stacked');\n }\n } else {\n // Page remove event\n if ($oldPageEl.hasClass('page-current')) {\n router.pageCallback('beforeOut', $oldPage, $oldNavbarInner, 'current', undefined, options);\n router.pageCallback('afterOut', $oldPage, $oldNavbarInner, 'current', undefined, options);\n }\n\n router.pageCallback('beforeRemove', $oldPageEl, $oldNavbarInner && $oldNavbarInner.eq(index), 'previous', undefined, options);\n router.removePage($oldPageEl);\n\n if (separateNavbar && $oldNavbarInnerEl.length) {\n router.removeNavbar($oldNavbarInnerEl);\n }\n }\n });\n } else if (options.reloadPrevious) {\n if (router.params.stackPages && router.initialPages.indexOf($oldPage[0]) >= 0) {\n $oldPage.addClass('stacked');\n $oldPage.trigger('page:stack');\n router.emit('pageStack', $oldPage[0]);\n\n if (separateNavbar) {\n $oldNavbarInner.addClass('stacked');\n }\n } else {\n // Page remove event\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarInner, 'previous', undefined, options);\n router.removePage($oldPage);\n\n if (separateNavbar && $oldNavbarInner && $oldNavbarInner.length) {\n router.removeNavbar($oldNavbarInner);\n }\n }\n } // Load Tab\n\n\n if (options.route.route.tab) {\n router.tabLoad(options.route.route.tab, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, options, {\n history: false,\n pushState: false\n }));\n } // Page init and before init events\n\n\n router.pageCallback('init', $newPage, $newNavbarInner, newPagePosition, reload ? newPagePosition : 'current', options, $oldPage);\n\n if (options.reloadCurrent || options.reloadAll || reloadDetail) {\n router.allowPageChange = true;\n router.pageCallback('beforeIn', $newPage, $newNavbarInner, newPagePosition, 'current', options);\n $newPage.removeAttr('aria-hidden');\n\n if (dynamicNavbar && $newNavbarInner) {\n $newNavbarInner.removeAttr('aria-hidden');\n }\n\n router.pageCallback('afterIn', $newPage, $newNavbarInner, newPagePosition, 'current', options);\n if (options.reloadCurrent && options.clearPreviousHistory) router.clearPreviousHistory();\n\n if (reloadDetail) {\n masterPageEl.classList.add('page-previous');\n masterPageEl.classList.remove('page-current');\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(masterPageEl).trigger('page:position', {\n position: 'previous'\n });\n router.emit('pagePosition', masterPageEl, 'previous');\n\n if (masterPageEl.f7Page && masterPageEl.f7Page.navbarEl) {\n masterPageEl.f7Page.navbarEl.classList.add('navbar-previous');\n masterPageEl.f7Page.navbarEl.classList.remove('navbar-current');\n }\n }\n\n return router;\n }\n\n if (options.reloadPrevious) {\n router.allowPageChange = true;\n return router;\n } // Before animation event\n\n\n router.pageCallback('beforeOut', $oldPage, $oldNavbarInner, 'current', 'previous', options);\n router.pageCallback('beforeIn', $newPage, $newNavbarInner, 'next', 'current', options); // Animation\n\n function afterAnimation() {\n var pageClasses = 'page-previous page-current page-next';\n var navbarClasses = 'navbar-previous navbar-current navbar-next';\n $newPage.removeClass(pageClasses).addClass('page-current').removeAttr('aria-hidden').trigger('page:position', {\n position: 'current'\n });\n router.emit('pagePosition', $newPage[0], 'current');\n $oldPage.removeClass(pageClasses).addClass('page-previous').trigger('page:position', {\n position: 'previous'\n });\n router.emit('pagePosition', $oldPage[0], 'previous');\n\n if (!$oldPage.hasClass('page-master')) {\n $oldPage.attr('aria-hidden', 'true');\n }\n\n if (dynamicNavbar) {\n $newNavbarInner.removeClass(navbarClasses).addClass('navbar-current').removeAttr('aria-hidden');\n $oldNavbarInner.removeClass(navbarClasses).addClass('navbar-previous');\n\n if (!$oldNavbarInner.hasClass('navbar-master')) {\n $oldNavbarInner.attr('aria-hidden', 'true');\n }\n } // After animation event\n\n\n router.allowPageChange = true;\n router.pageCallback('afterOut', $oldPage, $oldNavbarInner, 'current', 'previous', options);\n router.pageCallback('afterIn', $newPage, $newNavbarInner, 'next', 'current', options);\n var keepOldPage = (router.params.preloadPreviousPage || router.params[\"\".concat(app.theme, \"SwipeBack\")]) && !isMaster;\n\n if (!keepOldPage) {\n if ($newPage.hasClass('smart-select-page') || $newPage.hasClass('photo-browser-page') || $newPage.hasClass('autocomplete-page') || $newPage.hasClass('color-picker-page')) {\n keepOldPage = true;\n }\n }\n\n if (!keepOldPage) {\n if (router.params.stackPages) {\n $oldPage.addClass('stacked');\n $oldPage.trigger('page:stack');\n router.emit('pageStack', $oldPage[0]);\n\n if (separateNavbar) {\n $oldNavbarInner.addClass('stacked');\n }\n } else if (!($newPage.attr('data-name') && $newPage.attr('data-name') === 'smart-select-page')) {\n // Remove event\n router.pageCallback('beforeRemove', $oldPage, $oldNavbarInner, 'previous', undefined, options);\n router.removePage($oldPage);\n\n if (separateNavbar && $oldNavbarInner.length) {\n router.removeNavbar($oldNavbarInner);\n }\n }\n }\n\n if (options.clearPreviousHistory) router.clearPreviousHistory();\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n if (router.params.pushState) {\n _utils_history__WEBPACK_IMPORTED_MODULE_3__[\"default\"].clearRouterQueue();\n }\n }\n\n function setPositionClasses() {\n var pageClasses = 'page-previous page-current page-next';\n var navbarClasses = 'navbar-previous navbar-current navbar-next';\n $oldPage.removeClass(pageClasses).addClass('page-current').removeAttr('aria-hidden').trigger('page:position', {\n position: 'current'\n });\n router.emit('pagePosition', $oldPage[0], 'current');\n $newPage.removeClass(pageClasses).addClass('page-next').removeAttr('aria-hidden').trigger('page:position', {\n position: 'next'\n });\n router.emit('pagePosition', $newPage[0], 'next');\n\n if (dynamicNavbar) {\n $oldNavbarInner.removeClass(navbarClasses).addClass('navbar-current').removeAttr('aria-hidden');\n $newNavbarInner.removeClass(navbarClasses).addClass('navbar-next').removeAttr('aria-hidden');\n }\n }\n\n if (options.animate && !(isMaster && app.width >= router.params.masterDetailBreakpoint)) {\n var delay = router.params[\"\".concat(router.app.theme, \"PageLoadDelay\")];\n\n if (delay) {\n setTimeout(function () {\n setPositionClasses();\n router.animate($oldPage, $newPage, $oldNavbarInner, $newNavbarInner, 'forward', function () {\n afterAnimation();\n });\n }, delay);\n } else {\n setPositionClasses();\n router.animate($oldPage, $newPage, $oldNavbarInner, $newNavbarInner, 'forward', function () {\n afterAnimation();\n });\n }\n } else {\n afterAnimation();\n }\n\n return router;\n}\n\nfunction load() {\n var loadParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var loadOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ignorePageChange = arguments.length > 2 ? arguments[2] : undefined;\n var router = this;\n if (!router.allowPageChange && !ignorePageChange) return router;\n var params = loadParams;\n var options = loadOptions;\n var url = params.url,\n content = params.content,\n el = params.el,\n pageName = params.pageName,\n template = params.template,\n templateUrl = params.templateUrl,\n component = params.component,\n componentUrl = params.componentUrl;\n\n if (!options.reloadCurrent && options.route && options.route.route && options.route.route.parentPath && router.currentRoute.route && router.currentRoute.route.parentPath === options.route.route.parentPath) {\n // Do something nested\n if (options.route.url === router.url) {\n router.allowPageChange = true;\n return false;\n } // Check for same params\n\n\n var sameParams = Object.keys(options.route.params).length === Object.keys(router.currentRoute.params).length;\n\n if (sameParams) {\n // Check for equal params name\n Object.keys(options.route.params).forEach(function (paramName) {\n if (!(paramName in router.currentRoute.params) || router.currentRoute.params[paramName] !== options.route.params[paramName]) {\n sameParams = false;\n }\n });\n }\n\n if (sameParams) {\n if (options.route.route.tab) {\n return router.tabLoad(options.route.route.tab, options);\n }\n\n return false;\n }\n\n if (!sameParams && options.route.route.tab && router.currentRoute.route.tab && router.currentRoute.parentPath === options.route.parentPath) {\n return router.tabLoad(options.route.route.tab, options);\n }\n }\n\n if (options.route && options.route.url && router.url === options.route.url && !(options.reloadCurrent || options.reloadPrevious) && !router.params.allowDuplicateUrls) {\n router.allowPageChange = true;\n return false;\n }\n\n if (!options.route && url) {\n options.route = router.parseRouteUrl(url);\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options.route, {\n route: {\n url: url,\n path: url\n }\n });\n } // Component Callbacks\n\n\n function resolve(pageEl, newOptions) {\n return router.forward(pageEl, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options, newOptions));\n }\n\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (url || templateUrl || componentUrl) {\n router.allowPageChange = false;\n } // Proceed\n\n\n if (content) {\n router.forward(router.getPageEl(content), options);\n } else if (template || templateUrl) {\n // Parse template and send page element\n try {\n router.pageTemplateLoader(template, templateUrl, options, resolve, reject);\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (el) {\n // Load page from specified HTMLElement or by page name in pages container\n router.forward(router.getPageEl(el), options);\n } else if (pageName) {\n // Load page by page name in pages container\n router.forward(router.$el.children(\".page[data-name=\\\"\".concat(pageName, \"\\\"]\")).eq(0), options);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.pageComponentLoader(router.el, component, componentUrl, options, resolve, reject);\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhr) {\n router.xhr.abort();\n router.xhr = false;\n }\n\n router.xhrRequest(url, options).then(function (pageContent) {\n router.forward(router.getPageEl(pageContent), options);\n }).catch(function () {\n router.allowPageChange = true;\n });\n }\n\n return router;\n}\n\nfunction navigate(navigateParams) {\n var navigateOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var router = this;\n if (router.swipeBackActive) return router;\n var url;\n var createRoute;\n var name;\n var query;\n var params;\n var route;\n\n if (typeof navigateParams === 'string') {\n url = navigateParams;\n } else {\n url = navigateParams.url;\n createRoute = navigateParams.route;\n name = navigateParams.name;\n query = navigateParams.query;\n params = navigateParams.params;\n }\n\n if (name) {\n // find route by name\n route = router.findRouteByKey('name', name);\n\n if (!route) {\n throw new Error(\"Framework7: route with name \\\"\".concat(name, \"\\\" not found\"));\n }\n\n url = router.constructRouteUrl(route, {\n params: params,\n query: query\n });\n\n if (url) {\n return router.navigate(url, navigateOptions);\n }\n\n throw new Error(\"Framework7: can't construct URL for route with name \\\"\".concat(name, \"\\\"\"));\n }\n\n var app = router.app;\n Object(_app_router_check__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(router, 'navigate');\n\n if (url === '#' || url === '') {\n return router;\n }\n\n var navigateUrl = url.replace('./', '');\n\n if (navigateUrl[0] !== '/' && navigateUrl.indexOf('#') !== 0) {\n var currentPath = router.currentRoute.parentPath || router.currentRoute.path;\n navigateUrl = ((currentPath ? \"\".concat(currentPath, \"/\") : '/') + navigateUrl).replace('///', '/').replace('//', '/');\n }\n\n if (createRoute) {\n route = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(router.parseRouteUrl(navigateUrl), {\n route: _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, createRoute)\n });\n } else {\n route = router.findMatchingRoute(navigateUrl);\n }\n\n if (!route) {\n return router;\n }\n\n if (route.route.redirect) {\n return _redirect__WEBPACK_IMPORTED_MODULE_4__[\"default\"].call(router, 'navigate', route, navigateOptions);\n }\n\n var options = {};\n\n if (route.route.options) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options, route.route.options, navigateOptions);\n } else {\n _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options, navigateOptions);\n }\n\n options.route = route;\n\n if (options && options.context) {\n route.context = options.context;\n options.route.context = options.context;\n }\n\n function resolve() {\n var routerLoaded = false;\n 'popup popover sheet loginScreen actions customModal panel'.split(' ').forEach(function (modalLoadProp) {\n if (route.route[modalLoadProp] && !routerLoaded) {\n routerLoaded = true;\n router.modalLoad(modalLoadProp, route, options);\n }\n });\n\n if (route.route.keepAlive && route.route.keepAliveData) {\n router.load({\n el: route.route.keepAliveData.pageEl\n }, options, false);\n routerLoaded = true;\n }\n\n 'url content component pageName el componentUrl template templateUrl'.split(' ').forEach(function (pageLoadProp) {\n if (route.route[pageLoadProp] && !routerLoaded) {\n routerLoaded = true;\n router.load(_defineProperty({}, pageLoadProp, route.route[pageLoadProp]), options, false);\n }\n });\n if (routerLoaded) return; // Async\n\n function asyncResolve(resolveParams, resolveOptions) {\n router.allowPageChange = false;\n var resolvedAsModal = false;\n\n if (resolveOptions && resolveOptions.context) {\n if (!route.context) route.context = resolveOptions.context;else route.context = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, route.context, resolveOptions.context);\n options.route.context = route.context;\n }\n\n 'popup popover sheet loginScreen actions customModal panel'.split(' ').forEach(function (modalLoadProp) {\n if (resolveParams[modalLoadProp]) {\n resolvedAsModal = true;\n var modalRoute = _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, route, {\n route: resolveParams\n });\n router.allowPageChange = true;\n router.modalLoad(modalLoadProp, modalRoute, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options, resolveOptions));\n }\n });\n if (resolvedAsModal) return;\n router.load(resolveParams, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend(options, resolveOptions), true);\n }\n\n function asyncReject() {\n router.allowPageChange = true;\n }\n\n if (route.route.async) {\n router.allowPageChange = false;\n route.route.async.call(router, options.route, router.currentRoute, asyncResolve, asyncReject);\n }\n }\n\n function reject() {\n router.allowPageChange = true;\n }\n\n if (router.params.masterDetailBreakpoint > 0 && route.route.masterRoute) {\n // load detail route\n var preloadMaster = true;\n var masterLoaded = false;\n\n if (router.currentRoute && router.currentRoute.route) {\n if (router.currentRoute.route.master && (router.currentRoute.route === route.route.masterRoute || router.currentRoute.route.path === route.route.masterRoute.path)) {\n preloadMaster = false;\n }\n\n if (router.currentRoute.route.masterRoute && (router.currentRoute.route.masterRoute === route.route.masterRoute || router.currentRoute.route.masterRoute.path === route.route.masterRoute.path)) {\n preloadMaster = false;\n masterLoaded = true;\n }\n }\n\n if (preloadMaster || masterLoaded && navigateOptions.reloadAll) {\n router.navigate(route.route.masterRoute.path, {\n animate: false,\n reloadAll: navigateOptions.reloadAll,\n reloadCurrent: navigateOptions.reloadCurrent,\n reloadPrevious: navigateOptions.reloadPrevious,\n pushState: !navigateOptions.initial,\n history: !navigateOptions.initial,\n once: {\n pageAfterIn: function pageAfterIn() {\n router.navigate(navigateParams, _utils_utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, navigateOptions, {\n animate: false,\n reloadAll: false,\n reloadCurrent: false,\n reloadPrevious: false,\n history: !navigateOptions.initial,\n pushState: !navigateOptions.initial\n }));\n }\n }\n });\n return router;\n }\n }\n\n _process_route_queue__WEBPACK_IMPORTED_MODULE_5__[\"default\"].call(router, route, router.currentRoute, function () {\n if (route.route.modules) {\n app.loadModules(Array.isArray(route.route.modules) ? route.route.modules : [route.route.modules]).then(function () {\n resolve();\n }).catch(function () {\n reject();\n });\n } else {\n resolve();\n }\n }, function () {\n reject();\n }); // Return Router\n\n return router;\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/navigate.js?");
  2061. /***/ }),
  2062. /***/ "./node_modules/framework7/modules/router/process-route-queue.js":
  2063. /*!***********************************************************************!*\
  2064. !*** ./node_modules/framework7/modules/router/process-route-queue.js ***!
  2065. \***********************************************************************/
  2066. /*! exports provided: default */
  2067. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2068. "use strict";
  2069. eval("__webpack_require__.r(__webpack_exports__);\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction processQueue(router, routerQueue, routeQueue, to, from, resolve, reject) {\n var queue = [];\n\n if (Array.isArray(routeQueue)) {\n queue.push.apply(queue, _toConsumableArray(routeQueue));\n } else if (routeQueue && typeof routeQueue === 'function') {\n queue.push(routeQueue);\n }\n\n if (routerQueue) {\n if (Array.isArray(routerQueue)) {\n queue.push.apply(queue, _toConsumableArray(routerQueue));\n } else {\n queue.push(routerQueue);\n }\n }\n\n function next() {\n if (queue.length === 0) {\n resolve();\n return;\n }\n\n var queueItem = queue.shift();\n queueItem.call(router, to, from, function () {\n next();\n }, function () {\n reject();\n });\n }\n\n next();\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (to, from, resolve, reject) {\n var router = this;\n\n function enterNextRoute() {\n if (to && to.route && (router.params.routesBeforeEnter || to.route.beforeEnter)) {\n router.allowPageChange = false;\n processQueue(router, router.params.routesBeforeEnter, to.route.beforeEnter, to, from, function () {\n router.allowPageChange = true;\n resolve();\n }, function () {\n reject();\n });\n } else {\n resolve();\n }\n }\n\n function leaveCurrentRoute() {\n if (from && from.route && (router.params.routesBeforeLeave || from.route.beforeLeave)) {\n router.allowPageChange = false;\n processQueue(router, router.params.routesBeforeLeave, from.route.beforeLeave, to, from, function () {\n router.allowPageChange = true;\n enterNextRoute();\n }, function () {\n reject();\n });\n } else {\n enterNextRoute();\n }\n }\n\n leaveCurrentRoute();\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/process-route-queue.js?");
  2070. /***/ }),
  2071. /***/ "./node_modules/framework7/modules/router/redirect.js":
  2072. /*!************************************************************!*\
  2073. !*** ./node_modules/framework7/modules/router/redirect.js ***!
  2074. \************************************************************/
  2075. /*! exports provided: default */
  2076. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2077. "use strict";
  2078. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (direction, route, options) {\n var router = this;\n var redirect = route.route.redirect;\n\n if (options.initial && router.params.pushState) {\n options.replaceState = true; // eslint-disable-line\n\n options.history = true; // eslint-disable-line\n }\n\n function redirectResolve(redirectUrl) {\n var redirectOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n router.allowPageChange = true;\n router[direction](redirectUrl, _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({}, options, redirectOptions));\n }\n\n function redirectReject() {\n router.allowPageChange = true;\n }\n\n if (typeof redirect === 'function') {\n router.allowPageChange = false;\n var redirectUrl = redirect.call(router, route, redirectResolve, redirectReject);\n\n if (redirectUrl && typeof redirectUrl === 'string') {\n router.allowPageChange = true;\n return router[direction](redirectUrl, options);\n }\n\n return router;\n }\n\n return router[direction](redirect, options);\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/redirect.js?");
  2079. /***/ }),
  2080. /***/ "./node_modules/framework7/modules/router/router-class.js":
  2081. /*!****************************************************************!*\
  2082. !*** ./node_modules/framework7/modules/router/router-class.js ***!
  2083. \****************************************************************/
  2084. /*! exports provided: default */
  2085. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2086. "use strict";
  2087. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/path-to-regexp/index.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path_to_regexp__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/class */ \"./node_modules/framework7/utils/class.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_history__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/history */ \"./node_modules/framework7/utils/history.js\");\n/* harmony import */ var _swipe_back__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./swipe-back */ \"./node_modules/framework7/modules/router/swipe-back.js\");\n/* harmony import */ var _navigate__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./navigate */ \"./node_modules/framework7/modules/router/navigate.js\");\n/* harmony import */ var _tab__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./tab */ \"./node_modules/framework7/modules/router/tab.js\");\n/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modal */ \"./node_modules/framework7/modules/router/modal.js\");\n/* harmony import */ var _back__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./back */ \"./node_modules/framework7/modules/router/back.js\");\n/* harmony import */ var _clear_previous_history__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./clear-previous-history */ \"./node_modules/framework7/modules/router/clear-previous-history.js\");\n/* harmony import */ var _app_router_check__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./app-router-check */ \"./node_modules/framework7/modules/router/app-router-check.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n // eslint-disable-line\n\n\n\n\n\n\n\n\n\n\n\n\nvar Router = /*#__PURE__*/function (_Framework7Class) {\n _inherits(Router, _Framework7Class);\n\n var _super = _createSuper(Router);\n\n function Router(app, view) {\n var _this;\n\n _classCallCheck(this, Router);\n\n _this = _super.call(this, {}, [typeof view === 'undefined' ? app : view]);\n\n var router = _assertThisInitialized(_this); // Is App Router\n\n\n router.isAppRouter = typeof view === 'undefined';\n\n if (router.isAppRouter) {\n // App Router\n _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend(false, router, {\n app: app,\n params: app.params.view,\n routes: app.routes || [],\n cache: app.cache\n });\n } else {\n // View Router\n _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend(false, router, {\n app: app,\n view: view,\n viewId: view.id,\n params: view.params,\n routes: view.routes,\n $el: view.$el,\n el: view.el,\n $navbarEl: view.$navbarEl,\n navbarEl: view.navbarEl,\n history: view.history,\n scrollHistory: view.scrollHistory,\n cache: app.cache,\n dynamicNavbar: app.theme === 'ios' && view.params.iosDynamicNavbar,\n separateNavbar: app.theme === 'ios' && view.params.iosDynamicNavbar && view.params.iosSeparateDynamicNavbar,\n initialPages: [],\n initialNavbars: []\n });\n } // Install Modules\n\n\n router.useModules(); // Temporary Dom\n\n router.tempDom = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('div'); // AllowPageChage\n\n router.allowPageChange = true; // Current Route\n\n var currentRoute = {};\n var previousRoute = {};\n Object.defineProperty(router, 'currentRoute', {\n enumerable: true,\n configurable: true,\n set: function set() {\n var newRoute = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n previousRoute = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend({}, currentRoute);\n currentRoute = newRoute;\n if (!currentRoute) return;\n router.url = currentRoute.url;\n router.emit('routeChange', newRoute, previousRoute, router);\n },\n get: function get() {\n return currentRoute;\n }\n });\n Object.defineProperty(router, 'previousRoute', {\n enumerable: true,\n configurable: true,\n get: function get() {\n return previousRoute;\n },\n set: function set(newRoute) {\n previousRoute = newRoute;\n }\n });\n return _possibleConstructorReturn(_this, router);\n }\n\n _createClass(Router, [{\n key: \"animatableNavElements\",\n value: function animatableNavElements(newNavbarInner, oldNavbarInner, toLarge, fromLarge, direction) {\n var router = this;\n var dynamicNavbar = router.dynamicNavbar;\n var separateNavbar = router.separateNavbar;\n var animateIcon = router.params.iosAnimateNavbarBackIcon;\n var newNavEls;\n var oldNavEls;\n\n function animatableNavEl($el, navbarInner) {\n var isSliding = $el.hasClass('sliding') || navbarInner.hasClass('sliding');\n var isSubnavbar = $el.hasClass('subnavbar');\n var needsOpacityTransition = isSliding ? !isSubnavbar : true;\n var $iconEl = $el.find('.back .icon');\n var isIconLabel;\n\n if (isSliding && animateIcon && $el.hasClass('left') && $iconEl.length > 0 && $iconEl.next('span').length) {\n $el = $iconEl.next('span'); // eslint-disable-line\n\n isIconLabel = true;\n }\n\n return {\n $el: $el,\n isIconLabel: isIconLabel,\n leftOffset: $el[0].f7NavbarLeftOffset,\n rightOffset: $el[0].f7NavbarRightOffset,\n isSliding: isSliding,\n isSubnavbar: isSubnavbar,\n needsOpacityTransition: needsOpacityTransition\n };\n }\n\n if (dynamicNavbar) {\n newNavEls = [];\n oldNavEls = [];\n newNavbarInner.children('.left, .right, .title, .subnavbar').each(function (index, navEl) {\n var $navEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(navEl);\n if ($navEl.hasClass('left') && fromLarge && direction === 'forward' && separateNavbar) return;\n if ($navEl.hasClass('title') && toLarge) return;\n newNavEls.push(animatableNavEl($navEl, newNavbarInner));\n });\n\n if (!(oldNavbarInner.hasClass('navbar-master') && router.params.masterDetailBreakpoint > 0 && router.app.width >= router.params.masterDetailBreakpoint)) {\n oldNavbarInner.children('.left, .right, .title, .subnavbar').each(function (index, navEl) {\n var $navEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(navEl);\n if ($navEl.hasClass('left') && toLarge && !fromLarge && direction === 'forward' && separateNavbar) return;\n if ($navEl.hasClass('left') && toLarge && direction === 'backward' && separateNavbar) return;\n\n if ($navEl.hasClass('title') && fromLarge) {\n return;\n }\n\n oldNavEls.push(animatableNavEl($navEl, oldNavbarInner));\n });\n }\n\n [oldNavEls, newNavEls].forEach(function (navEls) {\n navEls.forEach(function (navEl) {\n var n = navEl;\n var isSliding = navEl.isSliding,\n $el = navEl.$el;\n var otherEls = navEls === oldNavEls ? newNavEls : oldNavEls;\n if (!(isSliding && $el.hasClass('title') && otherEls)) return;\n otherEls.forEach(function (otherNavEl) {\n if (otherNavEl.isIconLabel) {\n var iconTextEl = otherNavEl.$el[0];\n n.leftOffset += iconTextEl ? iconTextEl.offsetLeft || 0 : 0;\n }\n });\n });\n });\n }\n\n return {\n newNavEls: newNavEls,\n oldNavEls: oldNavEls\n };\n }\n }, {\n key: \"animate\",\n value: function animate(oldPage, newPage, oldNavbarInner, newNavbarInner, direction, callback) {\n var router = this;\n\n if (router.params.animateCustom) {\n router.params.animateCustom.apply(router, [oldPage, newPage, oldNavbarInner, newNavbarInner, direction, callback]);\n return;\n }\n\n var dynamicNavbar = router.dynamicNavbar;\n var ios = router.app.theme === 'ios'; // Router Animation class\n\n var routerTransitionClass = \"router-transition-\".concat(direction, \" router-transition\");\n var newNavEls;\n var oldNavEls;\n var fromLarge;\n var toLarge;\n var oldIsLarge;\n var newIsLarge;\n\n if (ios && dynamicNavbar) {\n oldIsLarge = oldNavbarInner && oldNavbarInner.hasClass('navbar-inner-large');\n newIsLarge = newNavbarInner && newNavbarInner.hasClass('navbar-inner-large');\n fromLarge = oldIsLarge && !oldNavbarInner.hasClass('navbar-inner-large-collapsed');\n toLarge = newIsLarge && !newNavbarInner.hasClass('navbar-inner-large-collapsed');\n var navEls = router.animatableNavElements(newNavbarInner, oldNavbarInner, toLarge, fromLarge, direction);\n newNavEls = navEls.newNavEls;\n oldNavEls = navEls.oldNavEls;\n }\n\n function animateNavbars(progress) {\n if (!(ios && dynamicNavbar)) return;\n\n if (progress === 1) {\n if (toLarge) {\n newNavbarInner.addClass('router-navbar-transition-to-large');\n oldNavbarInner.addClass('router-navbar-transition-to-large');\n }\n\n if (fromLarge) {\n newNavbarInner.addClass('router-navbar-transition-from-large');\n oldNavbarInner.addClass('router-navbar-transition-from-large');\n }\n }\n\n newNavEls.forEach(function (navEl) {\n var $el = navEl.$el;\n var offset = direction === 'forward' ? navEl.rightOffset : navEl.leftOffset;\n\n if (navEl.isSliding) {\n if (navEl.isSubnavbar && newIsLarge) {\n $el[0].style.setProperty('transform', \"translate3d(\".concat(offset * (1 - progress), \"px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)\"), 'important');\n } else {\n $el.transform(\"translate3d(\".concat(offset * (1 - progress), \"px,0,0)\"));\n }\n }\n });\n oldNavEls.forEach(function (navEl) {\n var $el = navEl.$el;\n var offset = direction === 'forward' ? navEl.leftOffset : navEl.rightOffset;\n\n if (navEl.isSliding) {\n if (navEl.isSubnavbar && oldIsLarge) {\n $el.transform(\"translate3d(\".concat(offset * progress, \"px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)\"));\n } else {\n $el.transform(\"translate3d(\".concat(offset * progress, \"px,0,0)\"));\n }\n }\n });\n } // AnimationEnd Callback\n\n\n function onDone() {\n if (router.dynamicNavbar) {\n if (newNavbarInner) {\n newNavbarInner.removeClass('router-navbar-transition-to-large router-navbar-transition-from-large');\n newNavbarInner.addClass('navbar-no-title-large-transition');\n _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].nextFrame(function () {\n newNavbarInner.removeClass('navbar-no-title-large-transition');\n });\n }\n\n if (oldNavbarInner) {\n oldNavbarInner.removeClass('router-navbar-transition-to-large router-navbar-transition-from-large');\n }\n\n if (newNavbarInner.hasClass('sliding')) {\n newNavbarInner.find('.title, .left, .right, .left .icon, .subnavbar').transform('');\n } else {\n newNavbarInner.find('.sliding').transform('');\n }\n\n if (oldNavbarInner.hasClass('sliding')) {\n oldNavbarInner.find('.title, .left, .right, .left .icon, .subnavbar').transform('');\n } else {\n oldNavbarInner.find('.sliding').transform('');\n }\n }\n\n router.$el.removeClass(routerTransitionClass);\n if (callback) callback();\n }\n\n (direction === 'forward' ? newPage : oldPage).animationEnd(function () {\n onDone();\n }); // Animate\n\n if (dynamicNavbar) {\n // Prepare Navbars\n animateNavbars(0);\n _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].nextFrame(function () {\n // Add class, start animation\n animateNavbars(1);\n router.$el.addClass(routerTransitionClass);\n });\n } else {\n // Add class, start animation\n router.$el.addClass(routerTransitionClass);\n }\n }\n }, {\n key: \"removeModal\",\n value: function removeModal(modalEl) {\n var router = this;\n router.removeEl(modalEl);\n } // eslint-disable-next-line\n\n }, {\n key: \"removeTabContent\",\n value: function removeTabContent(tabEl) {\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(tabEl);\n $tabEl.html('');\n }\n }, {\n key: \"removeNavbar\",\n value: function removeNavbar(el) {\n var router = this;\n router.removeEl(el);\n }\n }, {\n key: \"removePage\",\n value: function removePage(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el);\n var f7Page = $el && $el[0] && $el[0].f7Page;\n var router = this;\n\n if (f7Page && f7Page.route && f7Page.route.route && f7Page.route.route.keepAlive) {\n $el.remove();\n return;\n }\n\n router.removeEl(el);\n }\n }, {\n key: \"removeEl\",\n value: function removeEl(el) {\n if (!el) return;\n var router = this;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el);\n if ($el.length === 0) return;\n $el.find('.tab').each(function (tabIndex, tabEl) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(tabEl).children().each(function (index, tabChild) {\n if (tabChild.f7Component) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(tabChild).trigger('tab:beforeremove');\n tabChild.f7Component.$destroy();\n }\n });\n });\n\n if ($el[0].f7Component && $el[0].f7Component.$destroy) {\n $el[0].f7Component.$destroy();\n }\n\n if (!router.params.removeElements) {\n return;\n }\n\n if (router.params.removeElementsWithTimeout) {\n setTimeout(function () {\n $el.remove();\n }, router.params.removeElementsTimeout);\n } else {\n $el.remove();\n }\n }\n }, {\n key: \"getPageEl\",\n value: function getPageEl(content) {\n var router = this;\n\n if (typeof content === 'string') {\n router.tempDom.innerHTML = content;\n } else {\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(content).hasClass('page')) {\n return content;\n }\n\n router.tempDom.innerHTML = '';\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(router.tempDom).append(content);\n }\n\n return router.findElement('.page', router.tempDom);\n }\n }, {\n key: \"findElement\",\n value: function findElement(stringSelector, container, notStacked) {\n var router = this;\n var view = router.view;\n var app = router.app; // Modals Selector\n\n var modalsSelector = '.popup, .dialog, .popover, .actions-modal, .sheet-modal, .login-screen, .page';\n var $container = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(container);\n var selector = stringSelector;\n if (notStacked) selector += ':not(.stacked)';\n var found = $container.find(selector).filter(function (index, el) {\n return Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el).parents(modalsSelector).length === 0;\n });\n\n if (found.length > 1) {\n if (typeof view.selector === 'string') {\n // Search in related view\n found = $container.find(\"\".concat(view.selector, \" \").concat(selector));\n }\n\n if (found.length > 1) {\n // Search in main view\n found = $container.find(\".\".concat(app.params.viewMainClass, \" \").concat(selector));\n }\n }\n\n if (found.length === 1) return found; // Try to find not stacked\n\n if (!notStacked) found = router.findElement(selector, $container, true);\n if (found && found.length === 1) return found;\n if (found && found.length > 1) return Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(found[0]);\n return undefined;\n }\n }, {\n key: \"flattenRoutes\",\n value: function flattenRoutes() {\n var routes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.routes;\n var router = this;\n var flattenedRoutes = [];\n routes.forEach(function (route) {\n var hasTabRoutes = false;\n\n if ('tabs' in route && route.tabs) {\n var mergedPathsRoutes = route.tabs.map(function (tabRoute) {\n var tRoute = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend({}, route, {\n path: \"\".concat(route.path, \"/\").concat(tabRoute.path).replace('///', '/').replace('//', '/'),\n parentPath: route.path,\n tab: tabRoute\n });\n delete tRoute.tabs;\n delete tRoute.routes;\n return tRoute;\n });\n hasTabRoutes = true;\n flattenedRoutes = flattenedRoutes.concat(router.flattenRoutes(mergedPathsRoutes));\n }\n\n if ('detailRoutes' in route) {\n var _mergedPathsRoutes = route.detailRoutes.map(function (detailRoute) {\n var dRoute = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend({}, detailRoute);\n dRoute.masterRoute = route;\n dRoute.masterRoutePath = route.path;\n return dRoute;\n });\n\n flattenedRoutes = flattenedRoutes.concat(route, router.flattenRoutes(_mergedPathsRoutes));\n }\n\n if ('routes' in route) {\n var _mergedPathsRoutes2 = route.routes.map(function (childRoute) {\n var cRoute = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend({}, childRoute);\n cRoute.path = \"\".concat(route.path, \"/\").concat(cRoute.path).replace('///', '/').replace('//', '/');\n return cRoute;\n });\n\n if (hasTabRoutes) {\n flattenedRoutes = flattenedRoutes.concat(router.flattenRoutes(_mergedPathsRoutes2));\n } else {\n flattenedRoutes = flattenedRoutes.concat(route, router.flattenRoutes(_mergedPathsRoutes2));\n }\n }\n\n if (!('routes' in route) && !('tabs' in route && route.tabs) && !('detailRoutes' in route)) {\n flattenedRoutes.push(route);\n }\n });\n return flattenedRoutes;\n } // eslint-disable-next-line\n\n }, {\n key: \"parseRouteUrl\",\n value: function parseRouteUrl(url) {\n if (!url) return {};\n var query = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].parseUrlQuery(url);\n var hash = url.split('#')[1];\n var params = {};\n var path = url.split('#')[0].split('?')[0];\n return {\n query: query,\n hash: hash,\n params: params,\n url: url,\n path: path\n };\n } // eslint-disable-next-line\n\n }, {\n key: \"constructRouteUrl\",\n value: function constructRouteUrl(route) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n params = _ref.params,\n query = _ref.query;\n\n var path = route.path;\n var toUrl = path_to_regexp__WEBPACK_IMPORTED_MODULE_2___default.a.compile(path);\n var url;\n\n try {\n url = toUrl(params || {});\n } catch (error) {\n throw new Error(\"Framework7: error constructing route URL from passed params:\\nRoute: \".concat(path, \"\\n\").concat(error.toString()));\n }\n\n if (query) {\n if (typeof query === 'string') url += \"?\".concat(query);else url += \"?\".concat(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].serializeObject(query));\n }\n\n return url;\n }\n }, {\n key: \"findTabRoute\",\n value: function findTabRoute(tabEl) {\n var router = this;\n var $tabEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(tabEl);\n var parentPath = router.currentRoute.route.parentPath;\n var tabId = $tabEl.attr('id');\n var flattenedRoutes = router.flattenRoutes(router.routes);\n var foundTabRoute;\n flattenedRoutes.forEach(function (route) {\n if (route.parentPath === parentPath && route.tab && route.tab.id === tabId) {\n foundTabRoute = route;\n }\n });\n return foundTabRoute;\n }\n }, {\n key: \"findRouteByKey\",\n value: function findRouteByKey(key, value) {\n var router = this;\n var routes = router.routes;\n var flattenedRoutes = router.flattenRoutes(routes);\n var matchingRoute;\n flattenedRoutes.forEach(function (route) {\n if (matchingRoute) return;\n\n if (route[key] === value) {\n matchingRoute = route;\n }\n });\n return matchingRoute;\n }\n }, {\n key: \"findMatchingRoute\",\n value: function findMatchingRoute(url) {\n if (!url) return undefined;\n var router = this;\n var routes = router.routes;\n var flattenedRoutes = router.flattenRoutes(routes);\n\n var _router$parseRouteUrl = router.parseRouteUrl(url),\n path = _router$parseRouteUrl.path,\n query = _router$parseRouteUrl.query,\n hash = _router$parseRouteUrl.hash,\n params = _router$parseRouteUrl.params;\n\n var matchingRoute;\n flattenedRoutes.forEach(function (route) {\n if (matchingRoute) return;\n var keys = [];\n var pathsToMatch = [route.path];\n\n if (route.alias) {\n if (typeof route.alias === 'string') pathsToMatch.push(route.alias);else if (Array.isArray(route.alias)) {\n route.alias.forEach(function (aliasPath) {\n pathsToMatch.push(aliasPath);\n });\n }\n }\n\n var matched;\n pathsToMatch.forEach(function (pathToMatch) {\n if (matched) return;\n matched = path_to_regexp__WEBPACK_IMPORTED_MODULE_2___default()(pathToMatch, keys).exec(path);\n });\n\n if (matched) {\n keys.forEach(function (keyObj, index) {\n if (typeof keyObj.name === 'number') return;\n var paramValue = matched[index + 1];\n\n if (typeof paramValue === 'undefined' || paramValue === null) {\n params[keyObj.name] = paramValue;\n } else {\n params[keyObj.name] = decodeURIComponent(paramValue);\n }\n });\n var parentPath;\n\n if (route.parentPath) {\n parentPath = path.split('/').slice(0, route.parentPath.split('/').length - 1).join('/');\n }\n\n matchingRoute = {\n query: query,\n hash: hash,\n params: params,\n url: url,\n path: path,\n parentPath: parentPath,\n route: route,\n name: route.name\n };\n }\n });\n return matchingRoute;\n } // eslint-disable-next-line\n\n }, {\n key: \"replaceRequestUrlParams\",\n value: function replaceRequestUrlParams() {\n var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var compiledUrl = url;\n\n if (typeof compiledUrl === 'string' && compiledUrl.indexOf('{{') >= 0 && options && options.route && options.route.params && Object.keys(options.route.params).length) {\n Object.keys(options.route.params).forEach(function (paramName) {\n var regExp = new RegExp(\"{{\".concat(paramName, \"}}\"), 'g');\n compiledUrl = compiledUrl.replace(regExp, options.route.params[paramName] || '');\n });\n }\n\n return compiledUrl;\n }\n }, {\n key: \"removeFromXhrCache\",\n value: function removeFromXhrCache(url) {\n var router = this;\n var xhrCache = router.cache.xhr;\n var index = false;\n\n for (var i = 0; i < xhrCache.length; i += 1) {\n if (xhrCache[i].url === url) index = i;\n }\n\n if (index !== false) xhrCache.splice(index, 1);\n }\n }, {\n key: \"xhrRequest\",\n value: function xhrRequest(requestUrl, options) {\n var router = this;\n var params = router.params;\n var ignoreCache = options.ignoreCache;\n var url = requestUrl;\n var hasQuery = url.indexOf('?') >= 0;\n\n if (params.passRouteQueryToRequest && options && options.route && options.route.query && Object.keys(options.route.query).length) {\n url += \"\".concat(hasQuery ? '&' : '?').concat(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].serializeObject(options.route.query));\n hasQuery = true;\n }\n\n if (params.passRouteParamsToRequest && options && options.route && options.route.params && Object.keys(options.route.params).length) {\n url += \"\".concat(hasQuery ? '&' : '?').concat(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].serializeObject(options.route.params));\n hasQuery = true;\n }\n\n if (url.indexOf('{{') >= 0) {\n url = router.replaceRequestUrlParams(url, options);\n } // should we ignore get params or not\n\n\n if (params.xhrCacheIgnoreGetParameters && url.indexOf('?') >= 0) {\n url = url.split('?')[0];\n }\n\n return new Promise(function (resolve, reject) {\n if (params.xhrCache && !ignoreCache && url.indexOf('nocache') < 0 && params.xhrCacheIgnore.indexOf(url) < 0) {\n for (var i = 0; i < router.cache.xhr.length; i += 1) {\n var cachedUrl = router.cache.xhr[i];\n\n if (cachedUrl.url === url) {\n // Check expiration\n if (_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].now() - cachedUrl.time < params.xhrCacheDuration) {\n // Load from cache\n resolve(cachedUrl.content);\n return;\n }\n }\n }\n }\n\n router.xhr = router.app.request({\n url: url,\n method: 'GET',\n beforeSend: function beforeSend(xhr) {\n router.emit('routerAjaxStart', xhr, options);\n },\n complete: function complete(xhr, status) {\n router.emit('routerAjaxComplete', xhr);\n\n if (status !== 'error' && status !== 'timeout' && xhr.status >= 200 && xhr.status < 300 || xhr.status === 0) {\n if (params.xhrCache && xhr.responseText !== '') {\n router.removeFromXhrCache(url);\n router.cache.xhr.push({\n url: url,\n time: _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].now(),\n content: xhr.responseText\n });\n }\n\n router.emit('routerAjaxSuccess', xhr, options);\n resolve(xhr.responseText);\n } else {\n router.emit('routerAjaxError', xhr, options);\n reject(xhr);\n }\n },\n error: function error(xhr) {\n router.emit('routerAjaxError', xhr, options);\n reject(xhr);\n }\n });\n });\n } // Remove theme elements\n\n }, {\n key: \"removeThemeElements\",\n value: function removeThemeElements(el) {\n var router = this;\n var theme = router.app.theme;\n var toRemove;\n\n if (theme === 'ios') {\n toRemove = '.md-only, .aurora-only, .if-md, .if-aurora, .if-not-ios, .not-ios';\n } else if (theme === 'md') {\n toRemove = '.ios-only, .aurora-only, .if-ios, .if-aurora, .if-not-md, .not-md';\n } else if (theme === 'aurora') {\n toRemove = '.ios-only, .md-only, .if-ios, .if-md, .if-not-aurora, .not-aurora';\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el).find(toRemove).remove();\n }\n }, {\n key: \"getPageData\",\n value: function getPageData(pageEl, navbarEl, from, to) {\n var route = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n var pageFromEl = arguments.length > 5 ? arguments[5] : undefined;\n var router = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pageEl).eq(0);\n var $navbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(navbarEl).eq(0);\n var currentPage = $pageEl[0].f7Page || {};\n var direction;\n var pageFrom;\n if (from === 'next' && to === 'current' || from === 'current' && to === 'previous') direction = 'forward';\n if (from === 'current' && to === 'next' || from === 'previous' && to === 'current') direction = 'backward';\n\n if (currentPage && !currentPage.fromPage) {\n var $pageFromEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pageFromEl);\n\n if ($pageFromEl.length) {\n pageFrom = $pageFromEl[0].f7Page;\n }\n }\n\n pageFrom = currentPage.pageFrom || pageFrom;\n\n if (pageFrom && pageFrom.pageFrom) {\n pageFrom.pageFrom = null;\n }\n\n var page = {\n app: router.app,\n view: router.view,\n router: router,\n $el: $pageEl,\n el: $pageEl[0],\n $pageEl: $pageEl,\n pageEl: $pageEl[0],\n $navbarEl: $navbarEl,\n navbarEl: $navbarEl[0],\n name: $pageEl.attr('data-name'),\n position: from,\n from: from,\n to: to,\n direction: direction,\n route: currentPage.route ? currentPage.route : route,\n pageFrom: pageFrom\n };\n $pageEl[0].f7Page = page;\n return page;\n } // Callbacks\n\n }, {\n key: \"pageCallback\",\n value: function pageCallback(callback, pageEl, navbarEl, from, to) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var pageFromEl = arguments.length > 6 ? arguments[6] : undefined;\n if (!pageEl) return;\n var router = this;\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pageEl);\n if (!$pageEl.length) return;\n var $navbarEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(navbarEl);\n var route = options.route;\n var restoreScrollTopOnBack = router.params.restoreScrollTopOnBack && !(router.params.masterDetailBreakpoint > 0 && $pageEl.hasClass('page-master') && router.app.width >= router.params.masterDetailBreakpoint);\n var keepAlive = $pageEl[0].f7Page && $pageEl[0].f7Page.route && $pageEl[0].f7Page.route.route && $pageEl[0].f7Page.route.route.keepAlive;\n\n if (callback === 'beforeRemove' && keepAlive) {\n callback = 'beforeUnmount'; // eslint-disable-line\n }\n\n var camelName = \"page\".concat(callback[0].toUpperCase() + callback.slice(1, callback.length));\n var colonName = \"page:\".concat(callback.toLowerCase());\n var page = {};\n\n if (callback === 'beforeRemove' && $pageEl[0].f7Page) {\n page = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend($pageEl[0].f7Page, {\n from: from,\n to: to,\n position: from\n });\n } else {\n page = router.getPageData($pageEl[0], $navbarEl[0], from, to, route, pageFromEl);\n }\n\n page.swipeBack = !!options.swipeBack;\n\n var _ref2 = options.route ? options.route.route : {},\n _ref2$on = _ref2.on,\n on = _ref2$on === void 0 ? {} : _ref2$on,\n _ref2$once = _ref2.once,\n once = _ref2$once === void 0 ? {} : _ref2$once;\n\n if (options.on) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend(on, options.on);\n }\n\n if (options.once) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend(once, options.once);\n }\n\n function attachEvents() {\n if ($pageEl[0].f7RouteEventsAttached) return;\n $pageEl[0].f7RouteEventsAttached = true;\n\n if (on && Object.keys(on).length > 0) {\n $pageEl[0].f7RouteEventsOn = on;\n Object.keys(on).forEach(function (eventName) {\n on[eventName] = on[eventName].bind(router);\n $pageEl.on(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].eventNameToColonCase(eventName), on[eventName]);\n });\n }\n\n if (once && Object.keys(once).length > 0) {\n $pageEl[0].f7RouteEventsOnce = once;\n Object.keys(once).forEach(function (eventName) {\n once[eventName] = once[eventName].bind(router);\n $pageEl.once(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].eventNameToColonCase(eventName), once[eventName]);\n });\n }\n }\n\n function detachEvents() {\n if (!$pageEl[0].f7RouteEventsAttached) return;\n\n if ($pageEl[0].f7RouteEventsOn) {\n Object.keys($pageEl[0].f7RouteEventsOn).forEach(function (eventName) {\n $pageEl.off(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].eventNameToColonCase(eventName), $pageEl[0].f7RouteEventsOn[eventName]);\n });\n }\n\n if ($pageEl[0].f7RouteEventsOnce) {\n Object.keys($pageEl[0].f7RouteEventsOnce).forEach(function (eventName) {\n $pageEl.off(_utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].eventNameToColonCase(eventName), $pageEl[0].f7RouteEventsOnce[eventName]);\n });\n }\n\n $pageEl[0].f7RouteEventsAttached = null;\n $pageEl[0].f7RouteEventsOn = null;\n $pageEl[0].f7RouteEventsOnce = null;\n delete $pageEl[0].f7RouteEventsAttached;\n delete $pageEl[0].f7RouteEventsOn;\n delete $pageEl[0].f7RouteEventsOnce;\n }\n\n if (callback === 'mounted') {\n attachEvents();\n }\n\n if (callback === 'init') {\n if (restoreScrollTopOnBack && (from === 'previous' || !from) && to === 'current' && router.scrollHistory[page.route.url] && !$pageEl.hasClass('no-restore-scroll')) {\n var $pageContent = $pageEl.find('.page-content');\n\n if ($pageContent.length > 0) {\n // eslint-disable-next-line\n $pageContent = $pageContent.filter(function (pageContentIndex, pageContentEl) {\n return Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pageContentEl).parents('.tab:not(.tab-active)').length === 0 && !Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pageContentEl).is('.tab:not(.tab-active)');\n });\n }\n\n $pageContent.scrollTop(router.scrollHistory[page.route.url]);\n }\n\n attachEvents();\n\n if ($pageEl[0].f7PageInitialized) {\n $pageEl.trigger('page:reinit', page);\n router.emit('pageReinit', page);\n return;\n }\n\n $pageEl[0].f7PageInitialized = true;\n }\n\n if (restoreScrollTopOnBack && callback === 'beforeOut' && from === 'current' && to === 'previous') {\n // Save scroll position\n var _$pageContent = $pageEl.find('.page-content');\n\n if (_$pageContent.length > 0) {\n // eslint-disable-next-line\n _$pageContent = _$pageContent.filter(function (pageContentIndex, pageContentEl) {\n return Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pageContentEl).parents('.tab:not(.tab-active)').length === 0 && !Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pageContentEl).is('.tab:not(.tab-active)');\n });\n }\n\n router.scrollHistory[page.route.url] = _$pageContent.scrollTop();\n }\n\n if (restoreScrollTopOnBack && callback === 'beforeOut' && from === 'current' && to === 'next') {\n // Delete scroll position\n delete router.scrollHistory[page.route.url];\n }\n\n $pageEl.trigger(colonName, page);\n router.emit(camelName, page);\n\n if (callback === 'beforeRemove' || callback === 'beforeUnmount') {\n detachEvents();\n\n if (!keepAlive) {\n if ($pageEl[0].f7Page && $pageEl[0].f7Page.navbarEl) {\n delete $pageEl[0].f7Page.navbarEl.f7Page;\n }\n\n $pageEl[0].f7Page = null;\n }\n }\n }\n }, {\n key: \"saveHistory\",\n value: function saveHistory() {\n var router = this;\n router.view.history = router.history;\n\n if (router.params.pushState) {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].localStorage[\"f7router-\".concat(router.view.id, \"-history\")] = JSON.stringify(router.history);\n }\n }\n }, {\n key: \"restoreHistory\",\n value: function restoreHistory() {\n var router = this;\n\n if (router.params.pushState && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].localStorage[\"f7router-\".concat(router.view.id, \"-history\")]) {\n router.history = JSON.parse(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].localStorage[\"f7router-\".concat(router.view.id, \"-history\")]);\n router.view.history = router.history;\n }\n }\n }, {\n key: \"clearHistory\",\n value: function clearHistory() {\n var router = this;\n router.history = [];\n if (router.view) router.view.history = [];\n router.saveHistory();\n }\n }, {\n key: \"updateCurrentUrl\",\n value: function updateCurrentUrl(newUrl) {\n var router = this;\n Object(_app_router_check__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(router, 'updateCurrentUrl'); // Update history\n\n if (router.history.length) {\n router.history[router.history.length - 1] = newUrl;\n } else {\n router.history.push(newUrl);\n } // Update current route params\n\n\n var _router$parseRouteUrl2 = router.parseRouteUrl(newUrl),\n query = _router$parseRouteUrl2.query,\n hash = _router$parseRouteUrl2.hash,\n params = _router$parseRouteUrl2.params,\n url = _router$parseRouteUrl2.url,\n path = _router$parseRouteUrl2.path;\n\n if (router.currentRoute) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend(router.currentRoute, {\n query: query,\n hash: hash,\n params: params,\n url: url,\n path: path\n });\n }\n\n if (router.params.pushState) {\n var pushStateRoot = router.params.pushStateRoot || '';\n _utils_history__WEBPACK_IMPORTED_MODULE_5__[\"default\"].replace(router.view.id, {\n url: newUrl\n }, pushStateRoot + router.params.pushStateSeparator + newUrl);\n } // Save History\n\n\n router.saveHistory();\n router.emit('routeUrlUpdate', router.currentRoute, router);\n }\n }, {\n key: \"init\",\n value: function init() {\n var router = this;\n var app = router.app,\n view = router.view; // Init Swipeback\n\n if (true) {\n if (view && router.params.iosSwipeBack && app.theme === 'ios' || view && router.params.mdSwipeBack && app.theme === 'md' || view && router.params.auroraSwipeBack && app.theme === 'aurora') {\n Object(_swipe_back__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(router);\n }\n } // Dynamic not separated navbbar\n\n\n if (router.dynamicNavbar && !router.separateNavbar) {\n router.$el.addClass('router-dynamic-navbar-inside');\n }\n\n var initUrl = router.params.url;\n var documentUrl = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].location.href.split(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].location.origin)[1];\n var historyRestored;\n var _router$params = router.params,\n pushState = _router$params.pushState,\n pushStateOnLoad = _router$params.pushStateOnLoad,\n pushStateSeparator = _router$params.pushStateSeparator,\n pushStateAnimateOnLoad = _router$params.pushStateAnimateOnLoad;\n var pushStateRoot = router.params.pushStateRoot;\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].cordova && pushState && !pushStateSeparator && !pushStateRoot && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].location.pathname.indexOf('index.html')) {\n // eslint-disable-next-line\n console.warn('Framework7: wrong or not complete pushState configuration, trying to guess pushStateRoot');\n pushStateRoot = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].location.pathname.split('index.html')[0];\n }\n\n if (!pushState || !pushStateOnLoad) {\n if (!initUrl) {\n initUrl = documentUrl;\n }\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].location.search && initUrl.indexOf('?') < 0) {\n initUrl += ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].location.search;\n }\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].location.hash && initUrl.indexOf('#') < 0) {\n initUrl += ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].location.hash;\n }\n } else {\n if (pushStateRoot && documentUrl.indexOf(pushStateRoot) >= 0) {\n documentUrl = documentUrl.split(pushStateRoot)[1];\n if (documentUrl === '') documentUrl = '/';\n }\n\n if (pushStateSeparator.length > 0 && documentUrl.indexOf(pushStateSeparator) >= 0) {\n initUrl = documentUrl.split(pushStateSeparator)[1];\n } else {\n initUrl = documentUrl;\n }\n\n router.restoreHistory();\n\n if (router.history.indexOf(initUrl) >= 0) {\n router.history = router.history.slice(0, router.history.indexOf(initUrl) + 1);\n } else if (router.params.url === initUrl) {\n router.history = [initUrl];\n } else if (_utils_history__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state && _utils_history__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state[view.id] && _utils_history__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state[view.id].url === router.history[router.history.length - 1]) {\n initUrl = router.history[router.history.length - 1];\n } else {\n router.history = [documentUrl.split(pushStateSeparator)[0] || '/', initUrl];\n }\n\n if (router.history.length > 1) {\n historyRestored = true;\n } else {\n router.history = [];\n }\n\n router.saveHistory();\n }\n\n var currentRoute;\n\n if (router.history.length > 1) {\n // Will load page\n currentRoute = router.findMatchingRoute(router.history[0]);\n\n if (!currentRoute) {\n currentRoute = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend(router.parseRouteUrl(router.history[0]), {\n route: {\n url: router.history[0],\n path: router.history[0].split('?')[0]\n }\n });\n }\n } else {\n // Don't load page\n currentRoute = router.findMatchingRoute(initUrl);\n\n if (!currentRoute) {\n currentRoute = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend(router.parseRouteUrl(initUrl), {\n route: {\n url: initUrl,\n path: initUrl.split('?')[0]\n }\n });\n }\n }\n\n if (router.params.stackPages) {\n router.$el.children('.page').each(function (index, pageEl) {\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pageEl);\n router.initialPages.push($pageEl[0]);\n\n if (router.separateNavbar && $pageEl.children('.navbar').length > 0) {\n router.initialNavbars.push($pageEl.children('.navbar').find('.navbar-inner')[0]);\n }\n });\n }\n\n if (router.$el.children('.page:not(.stacked)').length === 0 && initUrl) {\n // No pages presented in DOM, reload new page\n router.navigate(initUrl, {\n initial: true,\n reloadCurrent: true,\n pushState: false\n });\n } else {\n // Init current DOM page\n var hasTabRoute;\n router.currentRoute = currentRoute;\n router.$el.children('.page:not(.stacked)').each(function (index, pageEl) {\n var $pageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(pageEl);\n var $navbarInnerEl;\n $pageEl.addClass('page-current');\n\n if (router.separateNavbar) {\n $navbarInnerEl = $pageEl.children('.navbar').children('.navbar-inner');\n\n if ($navbarInnerEl.length > 0) {\n if (!router.$navbarEl.parents(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"]).length) {\n router.$el.prepend(router.$navbarEl);\n }\n\n $navbarInnerEl.addClass('navbar-current');\n router.$navbarEl.append($navbarInnerEl);\n\n if ($navbarInnerEl.children('.title-large').length) {\n $navbarInnerEl.addClass('navbar-inner-large');\n }\n\n $pageEl.children('.navbar').remove();\n } else {\n router.$navbarEl.addClass('navbar-hidden');\n\n if ($navbarInnerEl.children('.title-large').length) {\n router.$navbarEl.addClass('navbar-hidden navbar-large-hidden');\n }\n }\n }\n\n if (router.currentRoute && router.currentRoute.route && router.currentRoute.route.master && router.params.masterDetailBreakpoint > 0) {\n $pageEl.addClass('page-master');\n $pageEl.trigger('page:role', {\n role: 'master'\n });\n\n if ($navbarInnerEl && $navbarInnerEl.length) {\n $navbarInnerEl.addClass('navbar-master');\n }\n }\n\n var initOptions = {\n route: router.currentRoute\n };\n\n if (router.currentRoute && router.currentRoute.route && router.currentRoute.route.options) {\n _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend(initOptions, router.currentRoute.route.options);\n }\n\n router.currentPageEl = $pageEl[0];\n\n if (router.separateNavbar && $navbarInnerEl.length) {\n router.currentNavbarEl = $navbarInnerEl[0];\n }\n\n router.removeThemeElements($pageEl);\n\n if (router.separateNavbar && $navbarInnerEl.length) {\n router.removeThemeElements($navbarInnerEl);\n }\n\n if (initOptions.route.route.tab) {\n hasTabRoute = true;\n router.tabLoad(initOptions.route.route.tab, _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].extend({}, initOptions));\n }\n\n router.pageCallback('init', $pageEl, $navbarInnerEl, 'current', undefined, initOptions);\n });\n\n if (historyRestored) {\n router.navigate(initUrl, {\n initial: true,\n pushState: false,\n history: false,\n animate: pushStateAnimateOnLoad,\n once: {\n pageAfterIn: function pageAfterIn() {\n var preloadPreviousPage = router.params.preloadPreviousPage || router.params[\"\".concat(app.theme, \"SwipeBack\")];\n\n if (preloadPreviousPage && router.history.length > 2) {\n router.back({\n preload: true\n });\n }\n }\n }\n });\n }\n\n if (!historyRestored && !hasTabRoute) {\n router.history.push(initUrl);\n router.saveHistory();\n }\n }\n\n if (initUrl && pushState && pushStateOnLoad && (!_utils_history__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state || !_utils_history__WEBPACK_IMPORTED_MODULE_5__[\"default\"].state[view.id])) {\n _utils_history__WEBPACK_IMPORTED_MODULE_5__[\"default\"].initViewState(view.id, {\n url: initUrl\n });\n }\n\n router.emit('local::init routerInit', router);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var router = this;\n router.emit('local::destroy routerDestroy', router); // Delete props & methods\n\n Object.keys(router).forEach(function (routerProp) {\n router[routerProp] = null;\n delete router[routerProp];\n });\n router = null;\n }\n }]);\n\n return Router;\n}(_utils_class__WEBPACK_IMPORTED_MODULE_3__[\"default\"]); // Load\n\n\nRouter.prototype.forward = _navigate__WEBPACK_IMPORTED_MODULE_7__[\"forward\"];\nRouter.prototype.load = _navigate__WEBPACK_IMPORTED_MODULE_7__[\"load\"];\nRouter.prototype.navigate = _navigate__WEBPACK_IMPORTED_MODULE_7__[\"navigate\"];\nRouter.prototype.refreshPage = _navigate__WEBPACK_IMPORTED_MODULE_7__[\"refreshPage\"]; // Tab\n\nRouter.prototype.tabLoad = _tab__WEBPACK_IMPORTED_MODULE_8__[\"tabLoad\"];\nRouter.prototype.tabRemove = _tab__WEBPACK_IMPORTED_MODULE_8__[\"tabRemove\"]; // Modal\n\nRouter.prototype.modalLoad = _modal__WEBPACK_IMPORTED_MODULE_9__[\"modalLoad\"];\nRouter.prototype.modalRemove = _modal__WEBPACK_IMPORTED_MODULE_9__[\"modalRemove\"]; // Back\n\nRouter.prototype.backward = _back__WEBPACK_IMPORTED_MODULE_10__[\"backward\"];\nRouter.prototype.loadBack = _back__WEBPACK_IMPORTED_MODULE_10__[\"loadBack\"];\nRouter.prototype.back = _back__WEBPACK_IMPORTED_MODULE_10__[\"back\"]; // Clear previoius pages from the DOM\n\nRouter.prototype.clearPreviousPages = _clear_previous_history__WEBPACK_IMPORTED_MODULE_11__[\"clearPreviousPages\"]; // Clear history\n\nRouter.prototype.clearPreviousHistory = _clear_previous_history__WEBPACK_IMPORTED_MODULE_11__[\"clearPreviousHistory\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = (Router);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/router-class.js?");
  2088. /***/ }),
  2089. /***/ "./node_modules/framework7/modules/router/router.js":
  2090. /*!**********************************************************!*\
  2091. !*** ./node_modules/framework7/modules/router/router.js ***!
  2092. \**********************************************************/
  2093. /*! exports provided: default */
  2094. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2095. "use strict";
  2096. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _router_class__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./router-class */ \"./node_modules/framework7/modules/router/router-class.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'router',\n static: {\n Router: _router_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n instance: {\n cache: {\n xhr: [],\n templates: [],\n components: []\n }\n },\n create: function create() {\n var instance = this;\n\n if (instance.app) {\n // View Router\n if (instance.params.router) {\n instance.router = new _router_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"](instance.app, instance);\n }\n } else {\n // App Router\n instance.router = new _router_class__WEBPACK_IMPORTED_MODULE_0__[\"default\"](instance);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/router.js?");
  2097. /***/ }),
  2098. /***/ "./node_modules/framework7/modules/router/swipe-back.js":
  2099. /*!**************************************************************!*\
  2100. !*** ./node_modules/framework7/modules/router/swipe-back.js ***!
  2101. \**************************************************************/
  2102. /*! exports provided: default */
  2103. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2104. "use strict";
  2105. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_history__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/history */ \"./node_modules/framework7/utils/history.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n\n\n\n\nfunction SwipeBack(r) {\n var router = r;\n var $el = router.$el,\n $navbarEl = router.$navbarEl,\n app = router.app,\n params = router.params;\n var isTouched = false;\n var isMoved = false;\n var touchesStart = {};\n var isScrolling;\n var $currentPageEl = [];\n var $previousPageEl = [];\n var viewContainerWidth;\n var touchesDiff;\n var allowViewTouchMove = true;\n var touchStartTime;\n var $currentNavbarInnerEl = [];\n var $previousNavbarInnerEl = [];\n var dynamicNavbar;\n var separateNavbar;\n var $pageShadowEl;\n var $pageOpacityEl;\n var animatableNavEls;\n var paramsSwipeBackAnimateShadow = params[\"\".concat(app.theme, \"SwipeBackAnimateShadow\")];\n var paramsSwipeBackAnimateOpacity = params[\"\".concat(app.theme, \"SwipeBackAnimateOpacity\")];\n var paramsSwipeBackActiveArea = params[\"\".concat(app.theme, \"SwipeBackActiveArea\")];\n var paramsSwipeBackThreshold = params[\"\".concat(app.theme, \"SwipeBackThreshold\")];\n var transformOrigin = app.rtl ? 'right center' : 'left center';\n\n function animatableNavElements() {\n var els = [];\n var inverter = app.rtl ? -1 : 1;\n var currentNavIsLarge = $currentNavbarInnerEl.hasClass('navbar-inner-large');\n var previousNavIsLarge = $previousNavbarInnerEl.hasClass('navbar-inner-large');\n var fromLarge = currentNavIsLarge && !$currentNavbarInnerEl.hasClass('navbar-inner-large-collapsed');\n var toLarge = previousNavIsLarge && !$previousNavbarInnerEl.hasClass('navbar-inner-large-collapsed');\n var $currentNavElements = $currentNavbarInnerEl.children('.left, .title, .right, .subnavbar, .fading, .title-large');\n var $previousNavElements = $previousNavbarInnerEl.children('.left, .title, .right, .subnavbar, .fading, .title-large');\n var activeNavBackIconText;\n var previousNavBackIconText;\n\n if (params.iosAnimateNavbarBackIcon) {\n if ($currentNavbarInnerEl.hasClass('sliding')) {\n activeNavBackIconText = $currentNavbarInnerEl.children('.left').find('.back .icon + span').eq(0);\n } else {\n activeNavBackIconText = $currentNavbarInnerEl.children('.left.sliding').find('.back .icon + span').eq(0);\n }\n\n if ($previousNavbarInnerEl.hasClass('sliding')) {\n previousNavBackIconText = $previousNavbarInnerEl.children('.left').find('.back .icon + span').eq(0);\n } else {\n previousNavBackIconText = $previousNavbarInnerEl.children('.left.sliding').find('.back .icon + span').eq(0);\n }\n\n if (activeNavBackIconText.length) {\n $previousNavElements.each(function (index, el) {\n if (!Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el).hasClass('title')) return;\n el.f7NavbarLeftOffset += activeNavBackIconText.prev('.icon')[0].offsetWidth;\n });\n }\n }\n\n $currentNavElements.each(function (index, navEl) {\n var $navEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navEl);\n var isSubnavbar = $navEl.hasClass('subnavbar');\n var isLeft = $navEl.hasClass('left');\n var isTitle = $navEl.hasClass('title');\n if (!fromLarge && $navEl.hasClass('.title-large')) return;\n var el = {\n el: navEl\n };\n\n if (fromLarge) {\n if (isTitle) return;\n\n if ($navEl.hasClass('title-large')) {\n if (!separateNavbar) return;\n\n if (toLarge) {\n if (els.indexOf(el) < 0) els.push(el);\n el.overflow = 'visible';\n el.transform = 'translateX(100%)';\n $navEl.find('.title-large-text, .title-large-inner').each(function (subIndex, subNavEl) {\n els.push({\n el: subNavEl,\n transform: function transform(progress) {\n return \"translateX(\".concat(-100 + progress * 100 * inverter, \"%)\");\n }\n });\n });\n } else {\n if (els.indexOf(el) < 0) els.push(el);\n el.overflow = 'hidden';\n\n el.transform = function (progress) {\n return \"translateY(calc(\".concat(-progress, \" * var(--f7-navbar-large-title-height)))\");\n };\n\n $navEl.find('.title-large-text, .title-large-inner').each(function (subIndex, subNavEl) {\n els.push({\n el: subNavEl,\n transform: function transform(progress) {\n return \"translateX(\".concat(progress * 100 * inverter, \"%) translateY(calc(\").concat(progress, \" * var(--f7-navbar-large-title-height)))\");\n }\n });\n });\n }\n\n return;\n }\n }\n\n if (toLarge) {\n if (!fromLarge) {\n if ($navEl.hasClass('title-large')) {\n if (!separateNavbar) return;\n if (els.indexOf(el) < 0) els.push(el);\n el.opacity = 0;\n }\n }\n\n if (isLeft && separateNavbar) {\n if (els.indexOf(el) < 0) els.push(el);\n\n el.opacity = function (progress) {\n return 1 - Math.pow(progress, 0.33);\n };\n\n $navEl.find('.back span').each(function (subIndex, subNavEl) {\n els.push({\n el: subNavEl,\n 'transform-origin': transformOrigin,\n transform: function transform(progress) {\n return \"translateY(calc(var(--f7-navbar-height) * \".concat(progress, \")) scale(\").concat(1 + 1 * progress, \")\");\n }\n });\n });\n return;\n }\n }\n\n if ($navEl.hasClass('title-large')) return;\n var isSliding = $navEl.hasClass('sliding') || $currentNavbarInnerEl.hasClass('sliding');\n if (els.indexOf(el) < 0) els.push(el);\n\n if (!isSubnavbar || isSubnavbar && !isSliding) {\n el.opacity = function (progress) {\n return 1 - Math.pow(progress, 0.33);\n };\n }\n\n if (isSliding) {\n var transformTarget = el;\n\n if (isLeft && activeNavBackIconText.length && params.iosAnimateNavbarBackIcon) {\n var textEl = {\n el: activeNavBackIconText[0]\n };\n transformTarget = textEl;\n els.push(textEl);\n }\n\n transformTarget.transform = function (progress) {\n var activeNavTranslate = progress * transformTarget.el.f7NavbarRightOffset;\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].pixelRatio === 1) activeNavTranslate = Math.round(activeNavTranslate);\n\n if (isSubnavbar && currentNavIsLarge && separateNavbar) {\n return \"translate3d(\".concat(activeNavTranslate, \"px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)\");\n }\n\n return \"translate3d(\".concat(activeNavTranslate, \"px,0,0)\");\n };\n }\n });\n $previousNavElements.each(function (index, navEl) {\n var $navEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(navEl);\n var isSubnavbar = $navEl.hasClass('subnavbar');\n var isLeft = $navEl.hasClass('left');\n var isTitle = $navEl.hasClass('title');\n var el = {\n el: navEl\n };\n\n if (toLarge) {\n if (isTitle) return;\n if (els.indexOf(el) < 0) els.push(el);\n\n if ($navEl.hasClass('title-large')) {\n if (!separateNavbar) return;\n\n if (fromLarge) {\n el.opacity = 1;\n el.overflow = 'visible';\n el.transform = 'translateY(0)';\n $navEl.find('.title-large-text').each(function (subIndex, subNavEl) {\n els.push({\n el: subNavEl,\n 'transform-origin': transformOrigin,\n opacity: function opacity(progress) {\n return Math.pow(progress, 3);\n },\n transform: function transform(progress) {\n return \"translateY(calc(\".concat(-1 + progress * 1, \" * var(--f7-navbar-large-title-height))) scale(\").concat(0.5 + progress * 0.5, \")\");\n }\n });\n });\n } else {\n el.transform = function (progress) {\n return \"translateY(calc(\".concat(progress - 1, \" * var(--f7-navbar-large-title-height)))\");\n };\n\n el.opacity = 1;\n el.overflow = 'hidden';\n $navEl.find('.title-large-text').each(function (subIndex, subNavEl) {\n els.push({\n el: subNavEl,\n 'transform-origin': transformOrigin,\n opacity: function opacity(progress) {\n return Math.pow(progress, 3);\n },\n transform: function transform(progress) {\n return \"scale(\".concat(0.5 + progress * 0.5, \")\");\n }\n });\n });\n }\n\n $navEl.find('.title-large-inner').each(function (subIndex, subNavEl) {\n els.push({\n el: subNavEl,\n 'transform-origin': transformOrigin,\n opacity: function opacity(progress) {\n return Math.pow(progress, 3);\n },\n transform: function transform(progress) {\n return \"translateX(\".concat(-100 * (1 - progress) * inverter, \"%)\");\n }\n });\n });\n return;\n }\n }\n\n if ($navEl.hasClass('title-large')) return;\n var isSliding = $navEl.hasClass('sliding') || $previousNavbarInnerEl.hasClass('sliding');\n if (els.indexOf(el) < 0) els.push(el);\n\n if (!isSubnavbar || isSubnavbar && !isSliding) {\n el.opacity = function (progress) {\n return Math.pow(progress, 3);\n };\n }\n\n if (isSliding) {\n var transformTarget = el;\n\n if (isLeft && previousNavBackIconText.length && params.iosAnimateNavbarBackIcon) {\n var textEl = {\n el: previousNavBackIconText[0]\n };\n transformTarget = textEl;\n els.push(textEl);\n }\n\n transformTarget.transform = function (progress) {\n var previousNavTranslate = transformTarget.el.f7NavbarLeftOffset * (1 - progress);\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].pixelRatio === 1) previousNavTranslate = Math.round(previousNavTranslate);\n\n if (isSubnavbar && previousNavIsLarge && separateNavbar) {\n return \"translate3d(\".concat(previousNavTranslate, \"px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0)\");\n }\n\n return \"translate3d(\".concat(previousNavTranslate, \"px,0,0)\");\n };\n }\n });\n return els;\n }\n\n function setAnimatableNavElements() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n progress = _ref.progress,\n reset = _ref.reset,\n transition = _ref.transition;\n\n var styles = ['overflow', 'transform', 'transform-origin', 'opacity'];\n\n for (var i = 0; i < animatableNavEls.length; i += 1) {\n var el = animatableNavEls[i];\n\n if (el && el.el) {\n if (transition === true) el.el.classList.add('navbar-page-transitioning');\n if (transition === false) el.el.classList.remove('navbar-page-transitioning');\n\n for (var j = 0; j < styles.length; j += 1) {\n var styleProp = styles[j];\n\n if (el[styleProp]) {\n if (reset) {\n el.el.style[styleProp] = '';\n } else if (typeof el[styleProp] === 'function') {\n el.el.style[styleProp] = el[styleProp](progress);\n } else {\n el.el.style[styleProp] = el[styleProp];\n }\n }\n }\n }\n }\n }\n\n function handleTouchStart(e) {\n var swipeBackEnabled = params[\"\".concat(app.theme, \"SwipeBack\")];\n if (!allowViewTouchMove || !swipeBackEnabled || isTouched || app.swipeout && app.swipeout.el || !router.allowPageChange) return;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.range-slider, .calendar-months').length > 0) return;\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target).closest('.page-master, .page-master-detail').length > 0 && params.masterDetailBreakpoint > 0 && app.width >= params.masterDetailBreakpoint) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].now();\n dynamicNavbar = router.dynamicNavbar;\n separateNavbar = router.separateNavbar;\n }\n\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)) || pageX < touchesStart.x && !app.rtl || pageX > touchesStart.x && app.rtl;\n }\n\n if (isScrolling || e.f7PreventSwipeBack || app.preventSwipeBack) {\n isTouched = false;\n return;\n }\n\n if (!isMoved) {\n // Calc values during first move fired\n var cancel = false;\n var target = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(e.target);\n var swipeout = target.closest('.swipeout');\n\n if (swipeout.length > 0) {\n if (!app.rtl && swipeout.find('.swipeout-actions-left').length > 0) cancel = true;\n if (app.rtl && swipeout.find('.swipeout-actions-right').length > 0) cancel = true;\n }\n\n $currentPageEl = target.closest('.page');\n if ($currentPageEl.hasClass('no-swipeback') || target.closest('.no-swipeback, .card-opened').length > 0) cancel = true;\n $previousPageEl = $el.find('.page-previous:not(.stacked)');\n\n if ($previousPageEl.length > 1) {\n $previousPageEl = $previousPageEl.eq($previousPageEl.length - 1);\n }\n\n var notFromBorder = touchesStart.x - $el.offset().left > paramsSwipeBackActiveArea;\n viewContainerWidth = $el.width();\n\n if (app.rtl) {\n notFromBorder = touchesStart.x < $el.offset().left - $el[0].scrollLeft + (viewContainerWidth - paramsSwipeBackActiveArea);\n } else {\n notFromBorder = touchesStart.x - $el.offset().left > paramsSwipeBackActiveArea;\n }\n\n if (notFromBorder) cancel = true;\n if ($previousPageEl.length === 0 || $currentPageEl.length === 0) cancel = true;\n\n if (cancel) {\n isTouched = false;\n return;\n }\n\n if (paramsSwipeBackAnimateShadow) {\n $pageShadowEl = $currentPageEl.find('.page-shadow-effect');\n\n if ($pageShadowEl.length === 0) {\n $pageShadowEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"page-shadow-effect\"></div>');\n $currentPageEl.append($pageShadowEl);\n }\n }\n\n if (paramsSwipeBackAnimateOpacity) {\n $pageOpacityEl = $previousPageEl.find('.page-opacity-effect');\n\n if ($pageOpacityEl.length === 0) {\n $pageOpacityEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('<div class=\"page-opacity-effect\"></div>');\n $previousPageEl.append($pageOpacityEl);\n }\n }\n\n if (dynamicNavbar) {\n if (separateNavbar) {\n $currentNavbarInnerEl = $navbarEl.find('.navbar-current:not(.stacked)');\n $previousNavbarInnerEl = $navbarEl.find('.navbar-previous:not(.stacked)');\n } else {\n $currentNavbarInnerEl = $currentPageEl.children('.navbar').children('.navbar-inner');\n $previousNavbarInnerEl = $previousPageEl.children('.navbar').children('.navbar-inner');\n }\n\n if ($previousNavbarInnerEl.length > 1) {\n $previousNavbarInnerEl = $previousNavbarInnerEl.eq($previousNavbarInnerEl.length - 1);\n }\n\n animatableNavEls = animatableNavElements($previousNavbarInnerEl, $currentNavbarInnerEl);\n } // Close/Hide Any Picker\n\n\n if (Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.sheet.modal-in').length > 0 && app.sheet) {\n app.sheet.close(Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('.sheet.modal-in'));\n }\n }\n\n e.f7PreventPanelSwipe = true;\n isMoved = true;\n app.preventSwipePanelBySwipeBack = true;\n e.preventDefault(); // RTL inverter\n\n var inverter = app.rtl ? -1 : 1; // Touches diff\n\n touchesDiff = (pageX - touchesStart.x - paramsSwipeBackThreshold) * inverter;\n if (touchesDiff < 0) touchesDiff = 0;\n var percentage = Math.min(Math.max(touchesDiff / viewContainerWidth, 0), 1); // Swipe Back Callback\n\n var callbackData = {\n percentage: percentage,\n progress: percentage,\n currentPageEl: $currentPageEl[0],\n previousPageEl: $previousPageEl[0],\n currentNavbarEl: $currentNavbarInnerEl[0],\n previousNavbarEl: $previousNavbarInnerEl[0]\n };\n $el.trigger('swipeback:move', callbackData);\n router.emit('swipebackMove', callbackData); // Transform pages\n\n var currentPageTranslate = touchesDiff * inverter;\n var previousPageTranslate = (touchesDiff / 5 - viewContainerWidth / 5) * inverter;\n\n if (!app.rtl) {\n currentPageTranslate = Math.min(currentPageTranslate, viewContainerWidth);\n previousPageTranslate = Math.min(previousPageTranslate, 0);\n } else {\n currentPageTranslate = Math.max(currentPageTranslate, -viewContainerWidth);\n previousPageTranslate = Math.max(previousPageTranslate, 0);\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].pixelRatio === 1) {\n currentPageTranslate = Math.round(currentPageTranslate);\n previousPageTranslate = Math.round(previousPageTranslate);\n }\n\n router.swipeBackActive = true;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])([$currentPageEl[0], $previousPageEl[0]]).addClass('page-swipeback-active');\n $currentPageEl.transform(\"translate3d(\".concat(currentPageTranslate, \"px,0,0)\"));\n if (paramsSwipeBackAnimateShadow) $pageShadowEl[0].style.opacity = 1 - 1 * percentage;\n\n if (app.theme === 'ios') {\n $previousPageEl.transform(\"translate3d(\".concat(previousPageTranslate, \"px,0,0)\"));\n }\n\n if (paramsSwipeBackAnimateOpacity) $pageShadowEl[0].style.opacity = 1 - 1 * percentage; // Dynamic Navbars Animation\n\n if (!dynamicNavbar) return;\n setAnimatableNavElements({\n progress: percentage\n });\n }\n\n function handleTouchEnd() {\n app.preventSwipePanelBySwipeBack = false;\n\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n\n isTouched = false;\n isMoved = false;\n router.swipeBackActive = false;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])([$currentPageEl[0], $previousPageEl[0]]).removeClass('page-swipeback-active');\n\n if (touchesDiff === 0) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])([$currentPageEl[0], $previousPageEl[0]]).transform('');\n if ($pageShadowEl && $pageShadowEl.length > 0) $pageShadowEl.remove();\n if ($pageOpacityEl && $pageOpacityEl.length > 0) $pageOpacityEl.remove();\n\n if (dynamicNavbar) {\n setAnimatableNavElements({\n reset: true\n });\n }\n\n return;\n }\n\n var timeDiff = _utils_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"].now() - touchStartTime;\n var pageChanged = false; // Swipe back to previous page\n\n if (timeDiff < 300 && touchesDiff > 10 || timeDiff >= 300 && touchesDiff > viewContainerWidth / 2) {\n $currentPageEl.removeClass('page-current').addClass(\"page-next\".concat(app.theme !== 'ios' ? ' page-next-on-right' : ''));\n $previousPageEl.removeClass('page-previous').addClass('page-current').removeAttr('aria-hidden');\n if ($pageShadowEl) $pageShadowEl[0].style.opacity = '';\n if ($pageOpacityEl) $pageOpacityEl[0].style.opacity = '';\n\n if (dynamicNavbar) {\n $currentNavbarInnerEl.removeClass('navbar-current').addClass('navbar-next');\n $previousNavbarInnerEl.removeClass('navbar-previous').addClass('navbar-current').removeAttr('aria-hidden');\n }\n\n pageChanged = true;\n } // Reset custom styles\n // Add transitioning class for transition-duration\n\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])([$currentPageEl[0], $previousPageEl[0]]).addClass('page-transitioning page-transitioning-swipeback').transform('');\n\n if (dynamicNavbar) {\n setAnimatableNavElements({\n progress: pageChanged ? 1 : 0,\n transition: true\n });\n }\n\n allowViewTouchMove = false;\n router.allowPageChange = false; // Swipe Back Callback\n\n var callbackData = {\n currentPageEl: $currentPageEl[0],\n previousPageEl: $previousPageEl[0],\n currentNavbarEl: $currentNavbarInnerEl[0],\n previousNavbarEl: $previousNavbarInnerEl[0]\n };\n\n if (pageChanged) {\n // Update Route\n router.currentRoute = $previousPageEl[0].f7Page.route;\n router.currentPage = $previousPageEl[0]; // Page before animation callback\n\n router.pageCallback('beforeOut', $currentPageEl, $currentNavbarInnerEl, 'current', 'next', {\n route: $currentPageEl[0].f7Page.route,\n swipeBack: true\n });\n router.pageCallback('beforeIn', $previousPageEl, $previousNavbarInnerEl, 'previous', 'current', {\n route: $previousPageEl[0].f7Page.route,\n swipeBack: true\n }, $currentPageEl[0]);\n $el.trigger('swipeback:beforechange', callbackData);\n router.emit('swipebackBeforeChange', callbackData);\n } else {\n $el.trigger('swipeback:beforereset', callbackData);\n router.emit('swipebackBeforeReset', callbackData);\n }\n\n $currentPageEl.transitionEnd(function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])([$currentPageEl[0], $previousPageEl[0]]).removeClass('page-transitioning page-transitioning-swipeback');\n\n if (dynamicNavbar) {\n setAnimatableNavElements({\n reset: true,\n transition: false\n });\n }\n\n allowViewTouchMove = true;\n router.allowPageChange = true;\n\n if (pageChanged) {\n // Update History\n if (router.history.length === 1) {\n router.history.unshift(router.url);\n }\n\n router.history.pop();\n router.saveHistory(); // Update push state\n\n if (params.pushState) {\n _utils_history__WEBPACK_IMPORTED_MODULE_1__[\"default\"].back();\n } // Page after animation callback\n\n\n router.pageCallback('afterOut', $currentPageEl, $currentNavbarInnerEl, 'current', 'next', {\n route: $currentPageEl[0].f7Page.route,\n swipeBack: true\n });\n router.pageCallback('afterIn', $previousPageEl, $previousNavbarInnerEl, 'previous', 'current', {\n route: $previousPageEl[0].f7Page.route,\n swipeBack: true\n }); // Remove Old Page\n\n if (params.stackPages && router.initialPages.indexOf($currentPageEl[0]) >= 0) {\n $currentPageEl.addClass('stacked');\n\n if (separateNavbar) {\n $currentNavbarInnerEl.addClass('stacked');\n }\n } else {\n router.pageCallback('beforeRemove', $currentPageEl, $currentNavbarInnerEl, 'next', {\n swipeBack: true\n });\n router.removePage($currentPageEl);\n\n if (separateNavbar) {\n router.removeNavbar($currentNavbarInnerEl);\n }\n }\n\n $el.trigger('swipeback:afterchange', callbackData);\n router.emit('swipebackAfterChange', callbackData);\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n if (params.preloadPreviousPage) {\n router.back(router.history[router.history.length - 2], {\n preload: true\n });\n }\n } else {\n $el.trigger('swipeback:afterreset', callbackData);\n router.emit('swipebackAfterReset', callbackData);\n }\n\n if ($pageShadowEl && $pageShadowEl.length > 0) $pageShadowEl.remove();\n if ($pageOpacityEl && $pageOpacityEl.length > 0) $pageOpacityEl.remove();\n });\n }\n\n function attachEvents() {\n var passiveListener = app.touchEvents.start === 'touchstart' && _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true,\n capture: false\n } : false;\n $el.on(app.touchEvents.start, handleTouchStart, passiveListener);\n app.on('touchmove:active', handleTouchMove);\n app.on('touchend:passive', handleTouchEnd);\n }\n\n function detachEvents() {\n var passiveListener = app.touchEvents.start === 'touchstart' && _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true,\n capture: false\n } : false;\n $el.off(app.touchEvents.start, handleTouchStart, passiveListener);\n app.off('touchmove:active', handleTouchMove);\n app.off('touchend:passive', handleTouchEnd);\n }\n\n attachEvents();\n router.on('routerDestroy', detachEvents);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SwipeBack);\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/swipe-back.js?");
  2106. /***/ }),
  2107. /***/ "./node_modules/framework7/modules/router/tab.js":
  2108. /*!*******************************************************!*\
  2109. !*** ./node_modules/framework7/modules/router/tab.js ***!
  2110. \*******************************************************/
  2111. /*! exports provided: tabLoad, tabRemove */
  2112. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2113. "use strict";
  2114. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tabLoad\", function() { return tabLoad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"tabRemove\", function() { return tabRemove; });\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _utils_history__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/history */ \"./node_modules/framework7/utils/history.js\");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\nfunction tabLoad(tabRoute) {\n var loadOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var router = this;\n var options = _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n animate: router.params.animate,\n pushState: true,\n history: true,\n parentPageEl: null,\n preload: false,\n on: {}\n }, loadOptions);\n var currentRoute;\n var previousRoute;\n\n if (options.route) {\n // Set Route\n if (!options.preload && options.route !== router.currentRoute) {\n previousRoute = router.previousRoute;\n router.currentRoute = options.route;\n }\n\n if (options.preload) {\n currentRoute = options.route;\n previousRoute = router.currentRoute;\n } else {\n currentRoute = router.currentRoute;\n if (!previousRoute) previousRoute = router.previousRoute;\n } // Update Browser History\n\n\n if (router.params.pushState && options.pushState && !options.reloadPrevious) {\n _utils_history__WEBPACK_IMPORTED_MODULE_2__[\"default\"].replace(router.view.id, {\n url: options.route.url\n }, (router.params.pushStateRoot || '') + router.params.pushStateSeparator + options.route.url);\n } // Update Router History\n\n\n if (options.history) {\n router.history[Math.max(router.history.length - 1, 0)] = options.route.url;\n router.saveHistory();\n }\n } // Show Tab\n\n\n var $parentPageEl = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(options.parentPageEl || router.currentPageEl);\n var tabEl;\n\n if ($parentPageEl.length && $parentPageEl.find(\"#\".concat(tabRoute.id)).length) {\n tabEl = $parentPageEl.find(\"#\".concat(tabRoute.id)).eq(0);\n } else if (router.view.selector) {\n tabEl = \"\".concat(router.view.selector, \" #\").concat(tabRoute.id);\n } else {\n tabEl = \"#\".concat(tabRoute.id);\n }\n\n var tabShowResult = router.app.tab.show({\n tabEl: tabEl,\n animate: options.animate,\n tabRoute: options.route\n });\n var $newTabEl = tabShowResult.$newTabEl,\n $oldTabEl = tabShowResult.$oldTabEl,\n animated = tabShowResult.animated,\n onTabsChanged = tabShowResult.onTabsChanged;\n\n if ($newTabEl && $newTabEl.parents('.page').length > 0 && options.route) {\n var tabParentPageData = $newTabEl.parents('.page')[0].f7Page;\n\n if (tabParentPageData && options.route) {\n tabParentPageData.route = options.route;\n }\n } // Tab Content Loaded\n\n\n function onTabLoaded(contentEl) {\n // Remove theme elements\n router.removeThemeElements($newTabEl);\n var tabEventTarget = $newTabEl;\n if (typeof contentEl !== 'string') tabEventTarget = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(contentEl);\n tabEventTarget.trigger('tab:init tab:mounted', tabRoute);\n router.emit('tabInit tabMounted', $newTabEl[0], tabRoute);\n\n if ($oldTabEl && $oldTabEl.length) {\n if (animated) {\n onTabsChanged(function () {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n if (router.params.unloadTabContent) {\n router.tabRemove($oldTabEl, $newTabEl, tabRoute);\n }\n });\n } else {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n\n if (router.params.unloadTabContent) {\n router.tabRemove($oldTabEl, $newTabEl, tabRoute);\n }\n }\n }\n }\n\n if ($newTabEl[0].f7RouterTabLoaded) {\n if (!$oldTabEl || !$oldTabEl.length) return router;\n\n if (animated) {\n onTabsChanged(function () {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n });\n } else {\n router.emit('routeChanged', router.currentRoute, router.previousRoute, router);\n }\n\n return router;\n } // Load Tab Content\n\n\n function loadTab(loadTabParams, loadTabOptions) {\n // Load Tab Props\n var url = loadTabParams.url,\n content = loadTabParams.content,\n el = loadTabParams.el,\n template = loadTabParams.template,\n templateUrl = loadTabParams.templateUrl,\n component = loadTabParams.component,\n componentUrl = loadTabParams.componentUrl; // Component/Template Callbacks\n\n function resolve(contentEl) {\n router.allowPageChange = true;\n if (!contentEl) return;\n\n if (typeof contentEl === 'string') {\n $newTabEl.html(contentEl);\n } else {\n $newTabEl.html('');\n\n if (contentEl.f7Component) {\n contentEl.f7Component.$mount(function (componentEl) {\n $newTabEl.append(componentEl);\n });\n } else {\n $newTabEl.append(contentEl);\n }\n }\n\n $newTabEl[0].f7RouterTabLoaded = true;\n onTabLoaded(contentEl);\n }\n\n function reject() {\n router.allowPageChange = true;\n return router;\n }\n\n if (content) {\n resolve(content);\n } else if (template || templateUrl) {\n try {\n router.tabTemplateLoader(template, templateUrl, loadTabOptions, resolve, reject);\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (el) {\n resolve(el);\n } else if (component || componentUrl) {\n // Load from component (F7/Vue/React/...)\n try {\n router.tabComponentLoader($newTabEl[0], component, componentUrl, loadTabOptions, resolve, reject);\n } catch (err) {\n router.allowPageChange = true;\n throw err;\n }\n } else if (url) {\n // Load using XHR\n if (router.xhr) {\n router.xhr.abort();\n router.xhr = false;\n }\n\n router.xhrRequest(url, loadTabOptions).then(function (tabContent) {\n resolve(tabContent);\n }).catch(function () {\n router.allowPageChange = true;\n });\n }\n }\n\n var hasContentLoadProp;\n 'url content component el componentUrl template templateUrl'.split(' ').forEach(function (tabLoadProp) {\n if (tabRoute[tabLoadProp]) {\n hasContentLoadProp = true;\n loadTab(_defineProperty({}, tabLoadProp, tabRoute[tabLoadProp]), options);\n }\n }); // Async\n\n function asyncResolve(resolveParams, resolveOptions) {\n loadTab(resolveParams, _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(options, resolveOptions));\n }\n\n function asyncReject() {\n router.allowPageChange = true;\n }\n\n if (tabRoute.async) {\n tabRoute.async.call(router, currentRoute, previousRoute, asyncResolve, asyncReject);\n } else if (!hasContentLoadProp) {\n router.allowPageChange = true;\n }\n\n return router;\n}\n\nfunction tabRemove($oldTabEl, $newTabEl, tabRoute) {\n var router = this;\n var hasTabComponentChild;\n\n if ($oldTabEl[0]) {\n $oldTabEl[0].f7RouterTabLoaded = false;\n delete $oldTabEl[0].f7RouterTabLoaded;\n }\n\n $oldTabEl.children().each(function (index, tabChild) {\n if (tabChild.f7Component) {\n hasTabComponentChild = true;\n Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(tabChild).trigger('tab:beforeremove', tabRoute);\n tabChild.f7Component.$destroy();\n }\n });\n\n if (!hasTabComponentChild) {\n $oldTabEl.trigger('tab:beforeremove', tabRoute);\n }\n\n router.emit('tabBeforeRemove', $oldTabEl[0], $newTabEl[0], tabRoute);\n router.removeTabContent($oldTabEl[0], tabRoute);\n}\n\n\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/tab.js?");
  2115. /***/ }),
  2116. /***/ "./node_modules/framework7/modules/router/template-loader.js":
  2117. /*!*******************************************************************!*\
  2118. !*** ./node_modules/framework7/modules/router/template-loader.js ***!
  2119. \*******************************************************************/
  2120. /*! exports provided: default */
  2121. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2122. "use strict";
  2123. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var template7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! template7 */ \"./node_modules/framework7/node_modules/template7/dist/template7.esm.js\");\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'routerTemplateLoader',\n proto: {\n templateLoader: function templateLoader(template, templateUrl, options, resolve, reject) {\n var router = this;\n\n function compile(t) {\n var compiledHtml;\n var context;\n\n try {\n context = options.context || {};\n if (typeof context === 'function') context = context.call(router);else if (typeof context === 'string') {\n try {\n context = JSON.parse(context);\n } catch (err) {\n reject();\n throw err;\n }\n }\n\n if (typeof t === 'function') {\n compiledHtml = t(context);\n } else {\n compiledHtml = template7__WEBPACK_IMPORTED_MODULE_0__[\"default\"].compile(t)(_utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, context || {}, {\n $app: router.app,\n $root: _utils_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, router.app.data, router.app.methods),\n $route: options.route,\n $f7route: options.route,\n $router: router,\n $f7router: router,\n $theme: {\n ios: router.app.theme === 'ios',\n md: router.app.theme === 'md',\n aurora: router.app.theme === 'aurora'\n }\n }));\n }\n } catch (err) {\n reject();\n throw err;\n }\n\n resolve(compiledHtml, {\n context: context\n });\n }\n\n if (templateUrl) {\n // Load via XHR\n if (router.xhr) {\n router.xhr.abort();\n router.xhr = false;\n }\n\n router.xhrRequest(templateUrl, options).then(function (templateContent) {\n compile(templateContent);\n }).catch(function () {\n reject();\n });\n } else {\n compile(template);\n }\n },\n modalTemplateLoader: function modalTemplateLoader(template, templateUrl, options, resolve, reject) {\n var router = this;\n return router.templateLoader(template, templateUrl, options, function (html) {\n resolve(html);\n }, reject);\n },\n tabTemplateLoader: function tabTemplateLoader(template, templateUrl, options, resolve, reject) {\n var router = this;\n return router.templateLoader(template, templateUrl, options, function (html) {\n resolve(html);\n }, reject);\n },\n pageTemplateLoader: function pageTemplateLoader(template, templateUrl, options, resolve, reject) {\n var router = this;\n return router.templateLoader(template, templateUrl, options, function (html) {\n var newOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n resolve(router.getPageEl(html), newOptions);\n }, reject);\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/router/template-loader.js?");
  2124. /***/ }),
  2125. /***/ "./node_modules/framework7/modules/service-worker/service-worker.js":
  2126. /*!**************************************************************************!*\
  2127. !*** ./node_modules/framework7/modules/service-worker/service-worker.js ***!
  2128. \**************************************************************************/
  2129. /*! exports provided: default */
  2130. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2131. "use strict";
  2132. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\nvar SW = {\n registrations: [],\n register: function register(path, scope) {\n var app = this;\n\n if (!('serviceWorker' in window.navigator) || !app.serviceWorker.container) {\n return new Promise(function (resolve, reject) {\n reject(new Error('Service worker is not supported'));\n });\n }\n\n return new Promise(function (resolve, reject) {\n app.serviceWorker.container.register(path, scope ? {\n scope: scope\n } : {}).then(function (reg) {\n SW.registrations.push(reg);\n app.emit('serviceWorkerRegisterSuccess', reg);\n resolve(reg);\n }).catch(function (error) {\n app.emit('serviceWorkerRegisterError', error);\n reject(error);\n });\n });\n },\n unregister: function unregister(registration) {\n var app = this;\n\n if (!('serviceWorker' in window.navigator) || !app.serviceWorker.container) {\n return new Promise(function (resolve, reject) {\n reject(new Error('Service worker is not supported'));\n });\n }\n\n var registrations;\n if (!registration) registrations = SW.registrations;else if (Array.isArray(registration)) registrations = registration;else registrations = [registration];\n return Promise.all(registrations.map(function (reg) {\n return new Promise(function (resolve, reject) {\n reg.unregister().then(function () {\n if (SW.registrations.indexOf(reg) >= 0) {\n SW.registrations.splice(SW.registrations.indexOf(reg), 1);\n }\n\n app.emit('serviceWorkerUnregisterSuccess', reg);\n resolve();\n }).catch(function (error) {\n app.emit('serviceWorkerUnregisterError', reg, error);\n reject(error);\n });\n });\n }));\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'sw',\n params: {\n serviceWorker: {\n path: undefined,\n scope: undefined\n }\n },\n create: function create() {\n var app = this;\n _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(app, {\n serviceWorker: {\n container: 'serviceWorker' in window.navigator ? window.navigator.serviceWorker : undefined,\n registrations: SW.registrations,\n register: SW.register.bind(app),\n unregister: SW.unregister.bind(app)\n }\n });\n },\n on: {\n init: function init() {\n if (!('serviceWorker' in window.navigator)) return;\n var app = this;\n if (!app.serviceWorker.container) return;\n var paths = app.params.serviceWorker.path;\n var scope = app.params.serviceWorker.scope;\n if (!paths || Array.isArray(paths) && !paths.length) return;\n var toRegister = Array.isArray(paths) ? paths : [paths];\n toRegister.forEach(function (path) {\n app.serviceWorker.register(path, scope);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/service-worker/service-worker.js?");
  2133. /***/ }),
  2134. /***/ "./node_modules/framework7/modules/storage/storage.js":
  2135. /*!************************************************************!*\
  2136. !*** ./node_modules/framework7/modules/storage/storage.js ***!
  2137. \************************************************************/
  2138. /*! exports provided: default */
  2139. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2140. "use strict";
  2141. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n\nvar keyPrefix = 'f7storage-';\nvar Storage = {\n get: function get(key) {\n return new Promise(function (resolve, reject) {\n try {\n var value = JSON.parse(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].localStorage.getItem(\"\".concat(keyPrefix).concat(key)));\n resolve(value);\n } catch (e) {\n reject(e);\n }\n });\n },\n set: function set(key, value) {\n return new Promise(function (resolve, reject) {\n try {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].localStorage.setItem(\"\".concat(keyPrefix).concat(key), JSON.stringify(value));\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n remove: function remove(key) {\n return new Promise(function (resolve, reject) {\n try {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].localStorage.removeItem(\"\".concat(keyPrefix).concat(key));\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n },\n clear: function clear() {},\n length: function length() {},\n keys: function keys() {\n return new Promise(function (resolve, reject) {\n try {\n var keys = Object.keys(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].localStorage).filter(function (keyName) {\n return keyName.indexOf(keyPrefix) === 0;\n }).map(function (keyName) {\n return keyName.replace(keyPrefix, '');\n });\n resolve(keys);\n } catch (e) {\n reject(e);\n }\n });\n },\n forEach: function forEach(callback) {\n return new Promise(function (resolve, reject) {\n try {\n Object.keys(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].localStorage).filter(function (keyName) {\n return keyName.indexOf(keyPrefix) === 0;\n }).forEach(function (keyName, index) {\n var key = keyName.replace(keyPrefix, '');\n Storage.get(key).then(function (value) {\n callback(key, value, index);\n });\n });\n resolve();\n } catch (e) {\n reject(e);\n }\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'storage',\n static: {\n Storage: Storage,\n storage: Storage\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/storage/storage.js?");
  2142. /***/ }),
  2143. /***/ "./node_modules/framework7/modules/support/support.js":
  2144. /*!************************************************************!*\
  2145. !*** ./node_modules/framework7/modules/support/support.js ***!
  2146. \************************************************************/
  2147. /*! exports provided: default */
  2148. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2149. "use strict";
  2150. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'support',\n proto: {\n support: _utils_support__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n static: {\n support: _utils_support__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n on: {\n init: function init() {\n var html = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].querySelector('html');\n if (!html) return;\n var classNames = []; // Add html classes\n\n classNames.forEach(function (className) {\n html.classList.add(className);\n });\n }\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/support/support.js?");
  2151. /***/ }),
  2152. /***/ "./node_modules/framework7/modules/touch/touch.js":
  2153. /*!********************************************************!*\
  2154. !*** ./node_modules/framework7/modules/touch/touch.js ***!
  2155. \********************************************************/
  2156. /*! exports provided: default */
  2157. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2158. "use strict";
  2159. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils_support__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/support */ \"./node_modules/framework7/utils/support.js\");\n/* harmony import */ var _utils_device__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/device */ \"./node_modules/framework7/utils/device.js\");\n\n\n\n\n\nfunction initTouch() {\n var app = this;\n var params = app.params.touch;\n var useRipple = params[\"\".concat(app.theme, \"TouchRipple\")];\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios && _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].webView) {\n // Strange hack required for iOS 8 webview to work on inputs\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].addEventListener('touchstart', function () {});\n }\n\n var touchStartX;\n var touchStartY;\n var touchStartTime;\n var targetElement;\n var trackClick;\n var activeSelection;\n var scrollParent;\n var lastClickTime;\n var isMoved;\n var tapHoldFired;\n var tapHoldTimeout;\n var preventClick;\n var activableElement;\n var activeTimeout;\n var needsFastClick;\n var needsFastClickTimeOut;\n var rippleWave;\n var rippleTarget;\n var rippleTimeout;\n\n function findActivableElement(el) {\n var target = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el);\n var parents = target.parents(params.activeStateElements);\n var activable;\n\n if (target.is(params.activeStateElements)) {\n activable = target;\n }\n\n if (parents.length > 0) {\n activable = activable ? activable.add(parents) : parents;\n }\n\n if (activable && activable.length > 1) {\n var newActivable = [];\n var preventPropagation;\n\n for (var i = 0; i < activable.length; i += 1) {\n if (!preventPropagation) {\n newActivable.push(activable[i]);\n\n if (activable.eq(i).hasClass('prevent-active-state-propagation') || activable.eq(i).hasClass('no-active-state-propagation')) {\n preventPropagation = true;\n }\n }\n }\n\n activable = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(newActivable);\n }\n\n return activable || target;\n }\n\n function isInsideScrollableViewLight(el) {\n var pageContent = el.parents('.page-content');\n return pageContent.length > 0;\n }\n\n function isInsideScrollableView(el) {\n var pageContent = el.parents('.page-content');\n\n if (pageContent.length === 0) {\n return false;\n } // This event handler covers the \"tap to stop scrolling\".\n\n\n if (pageContent.prop('scrollHandlerSet') !== 'yes') {\n pageContent.on('scroll', function () {\n clearTimeout(activeTimeout);\n clearTimeout(rippleTimeout);\n });\n pageContent.prop('scrollHandlerSet', 'yes');\n }\n\n return true;\n }\n\n function addActive() {\n if (!activableElement) return;\n activableElement.addClass('active-state');\n }\n\n function removeActive() {\n if (!activableElement) return;\n activableElement.removeClass('active-state');\n activableElement = null;\n }\n\n function isFormElement(el) {\n var nodes = 'input select textarea label'.split(' ');\n if (el.nodeName && nodes.indexOf(el.nodeName.toLowerCase()) >= 0) return true;\n return false;\n }\n\n function androidNeedsBlur(el) {\n var noBlur = 'button input textarea select'.split(' ');\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement && el !== ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement !== ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].body) {\n if (noBlur.indexOf(el.nodeName.toLowerCase()) >= 0) {\n return false;\n }\n\n return true;\n }\n\n return false;\n }\n\n function targetNeedsFastClick(el) {\n /*\n if (\n Device.ios\n &&\n (\n Device.osVersion.split('.')[0] > 9\n ||\n (Device.osVersion.split('.')[0] * 1 === 9 && Device.osVersion.split('.')[1] >= 1)\n )\n ) {\n return false;\n }\n */\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el);\n if (el.nodeName.toLowerCase() === 'input' && (el.type === 'file' || el.type === 'range')) return false;\n if (el.nodeName.toLowerCase() === 'select' && _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) return false;\n if ($el.hasClass('no-fastclick') || $el.parents('.no-fastclick').length > 0) return false;\n if (params.fastClicksExclude && $el.closest(params.fastClicksExclude).length > 0) return false;\n return true;\n }\n\n function targetNeedsFocus(el) {\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement === el) {\n return false;\n }\n\n var tag = el.nodeName.toLowerCase();\n var skipInputs = 'button checkbox file image radio submit'.split(' ');\n if (el.disabled || el.readOnly) return false;\n if (tag === 'textarea') return true;\n\n if (tag === 'select') {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) return false;\n return true;\n }\n\n if (tag === 'input' && skipInputs.indexOf(el.type) < 0) return true;\n return false;\n }\n\n function targetNeedsPrevent(el) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el);\n var prevent = true;\n\n if ($el.is('label') || $el.parents('label').length > 0) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) {\n prevent = false;\n } else if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios && $el.is('input')) {\n prevent = true;\n } else prevent = false;\n }\n\n return prevent;\n } // Ripple handlers\n\n\n function findRippleElement(el) {\n var rippleElements = params.touchRippleElements;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(el);\n\n if ($el.is(rippleElements)) {\n if ($el.hasClass('no-ripple')) {\n return false;\n }\n\n return $el;\n }\n\n if ($el.parents(rippleElements).length > 0) {\n var rippleParent = $el.parents(rippleElements).eq(0);\n\n if (rippleParent.hasClass('no-ripple')) {\n return false;\n }\n\n return rippleParent;\n }\n\n return false;\n }\n\n function createRipple($el, x, y) {\n if (!$el) return;\n rippleWave = app.touchRipple.create($el, x, y);\n }\n\n function removeRipple() {\n if (!rippleWave) return;\n rippleWave.remove();\n rippleWave = undefined;\n rippleTarget = undefined;\n }\n\n function rippleTouchStart(el) {\n rippleTarget = findRippleElement(el);\n\n if (!rippleTarget || rippleTarget.length === 0) {\n rippleTarget = undefined;\n return;\n }\n\n var inScrollable = params.fastClicks ? isInsideScrollableView(rippleTarget) : isInsideScrollableViewLight(rippleTarget);\n\n if (!inScrollable) {\n removeRipple();\n createRipple(rippleTarget, touchStartX, touchStartY);\n } else {\n clearTimeout(rippleTimeout);\n rippleTimeout = setTimeout(function () {\n removeRipple();\n createRipple(rippleTarget, touchStartX, touchStartY);\n }, 80);\n }\n }\n\n function rippleTouchMove() {\n clearTimeout(rippleTimeout);\n removeRipple();\n }\n\n function rippleTouchEnd() {\n if (!rippleWave && rippleTarget && !isMoved) {\n clearTimeout(rippleTimeout);\n createRipple(rippleTarget, touchStartX, touchStartY);\n setTimeout(removeRipple, 0);\n } else {\n removeRipple();\n }\n } // Mouse Handlers\n\n\n function handleMouseDown(e) {\n findActivableElement(e.target).addClass('active-state');\n\n if ('which' in e && e.which === 3) {\n setTimeout(function () {\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('.active-state').removeClass('active-state');\n }, 0);\n }\n\n if (useRipple) {\n touchStartX = e.pageX;\n touchStartY = e.pageY;\n rippleTouchStart(e.target, e.pageX, e.pageY);\n }\n }\n\n function handleMouseMove() {\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('.active-state').removeClass('active-state');\n\n if (useRipple) {\n rippleTouchMove();\n }\n }\n\n function handleMouseUp() {\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('.active-state').removeClass('active-state');\n\n if (useRipple) {\n rippleTouchEnd();\n }\n } // Send Click\n\n\n function sendClick(e) {\n var touch = e.changedTouches[0];\n var evt = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createEvent('MouseEvents');\n var eventType = 'click';\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android && targetElement.nodeName.toLowerCase() === 'select') {\n eventType = 'mousedown';\n }\n\n evt.initMouseEvent(eventType, true, true, ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"], 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);\n evt.forwardedTouchEvent = true;\n\n if (app.device.ios && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.standalone) {\n // Fix the issue happens in iOS home screen apps where the wrong element is selected during a momentum scroll.\n // Upon tapping, we give the scrolling time to stop, then we grab the element based where the user tapped.\n setTimeout(function () {\n targetElement = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].elementFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY);\n\n if (targetElement) {\n targetElement.dispatchEvent(evt);\n }\n }, 10);\n } else {\n targetElement.dispatchEvent(evt);\n }\n } // Touch Handlers\n\n\n function handleTouchStart(e) {\n var _this = this;\n\n isMoved = false;\n tapHoldFired = false;\n\n if (e.targetTouches.length > 1) {\n if (activableElement) removeActive();\n return true;\n }\n\n if (e.touches.length > 1 && activableElement) {\n removeActive();\n }\n\n if (params.tapHold) {\n if (tapHoldTimeout) clearTimeout(tapHoldTimeout);\n tapHoldTimeout = setTimeout(function () {\n if (e && e.touches && e.touches.length > 1) return;\n tapHoldFired = true;\n e.preventDefault();\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).trigger('taphold');\n }, params.tapHoldDelay);\n }\n\n if (needsFastClickTimeOut) clearTimeout(needsFastClickTimeOut);\n needsFastClick = targetNeedsFastClick(e.target);\n\n if (!needsFastClick) {\n trackClick = false;\n return true;\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android && 'getSelection' in ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"]) {\n var selection = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getSelection();\n\n if (selection.rangeCount && selection.focusNode !== ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].body && (!selection.isCollapsed || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement === selection.focusNode)) {\n activeSelection = true;\n return true;\n }\n\n activeSelection = false;\n }\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android) {\n if (androidNeedsBlur(e.target)) {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement.blur();\n }\n }\n\n trackClick = true;\n targetElement = e.target;\n touchStartTime = new Date().getTime();\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY; // Detect scroll parent\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios) {\n scrollParent = undefined;\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(targetElement).parents().each(function () {\n var parent = _this;\n\n if (parent.scrollHeight > parent.offsetHeight && !scrollParent) {\n scrollParent = parent;\n scrollParent.f7ScrollTop = scrollParent.scrollTop;\n }\n });\n }\n\n if (touchStartTime - lastClickTime < params.fastClicksDelayBetweenClicks) {\n e.preventDefault();\n }\n\n if (params.activeState) {\n activableElement = findActivableElement(targetElement);\n activeTimeout = setTimeout(addActive, 0);\n }\n\n if (useRipple) {\n rippleTouchStart(targetElement, touchStartX, touchStartY);\n }\n\n return true;\n }\n\n function handleTouchMove(e) {\n if (!trackClick) return;\n var distance = params.fastClicksDistanceThreshold;\n\n if (distance) {\n var pageX = e.targetTouches[0].pageX;\n var pageY = e.targetTouches[0].pageY;\n\n if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) {\n isMoved = true;\n }\n } else {\n isMoved = true;\n }\n\n if (isMoved) {\n trackClick = false;\n targetElement = null;\n isMoved = true;\n\n if (params.tapHold) {\n clearTimeout(tapHoldTimeout);\n }\n\n if (params.activeState) {\n clearTimeout(activeTimeout);\n removeActive();\n }\n\n if (useRipple) {\n rippleTouchMove();\n }\n }\n }\n\n function handleTouchEnd(e) {\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n var touchEndTime = new Date().getTime();\n\n if (!trackClick) {\n if (!activeSelection && needsFastClick) {\n if (!(_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android && !e.cancelable) && e.cancelable) {\n e.preventDefault();\n }\n }\n\n if (params.activeState) removeActive();\n\n if (useRipple) {\n rippleTouchEnd();\n }\n\n return true;\n }\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement === e.target) {\n if (params.activeState) removeActive();\n\n if (useRipple) {\n rippleTouchEnd();\n }\n\n return true;\n }\n\n if (!activeSelection) {\n e.preventDefault();\n }\n\n if (touchEndTime - lastClickTime < params.fastClicksDelayBetweenClicks) {\n setTimeout(removeActive, 0);\n\n if (useRipple) {\n rippleTouchEnd();\n }\n\n return true;\n }\n\n lastClickTime = touchEndTime;\n trackClick = false;\n\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios && scrollParent) {\n if (scrollParent.scrollTop !== scrollParent.f7ScrollTop) {\n return false;\n }\n } // Add active-state here because, in a very fast tap, the timeout didn't\n // have the chance to execute. Removing active-state in a timeout gives\n // the chance to the animation execute.\n\n\n if (params.activeState) {\n addActive();\n setTimeout(removeActive, 0);\n } // Remove Ripple\n\n\n if (useRipple) {\n rippleTouchEnd();\n } // Trigger focus when required\n\n\n if (targetNeedsFocus(targetElement)) {\n if (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios && _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].webView) {\n targetElement.focus();\n return false;\n }\n\n targetElement.focus();\n } // Blur active elements\n\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement && targetElement !== ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement !== ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].body && targetElement.nodeName.toLowerCase() !== 'label') {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement.blur();\n } // Send click\n\n\n e.preventDefault();\n\n if (params.tapHoldPreventClicks && tapHoldFired) {\n return false;\n }\n\n sendClick(e);\n return false;\n }\n\n function handleTouchCancel() {\n trackClick = false;\n targetElement = null; // Remove Active State\n\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n\n if (params.activeState) {\n removeActive();\n } // Remove Ripple\n\n\n if (useRipple) {\n rippleTouchEnd();\n }\n }\n\n function handleClick(e) {\n var allowClick = false;\n\n if (trackClick) {\n targetElement = null;\n trackClick = false;\n return true;\n }\n\n if (e.target.type === 'submit' && e.detail === 0 || e.target.type === 'file') {\n return true;\n }\n\n if (!targetElement) {\n if (!isFormElement(e.target)) {\n allowClick = true;\n }\n }\n\n if (!needsFastClick) {\n allowClick = true;\n }\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement === targetElement) {\n allowClick = true;\n }\n\n if (e.forwardedTouchEvent) {\n allowClick = true;\n }\n\n if (!e.cancelable) {\n allowClick = true;\n }\n\n if (params.tapHold && params.tapHoldPreventClicks && tapHoldFired) {\n allowClick = false;\n }\n\n if (!allowClick) {\n e.stopImmediatePropagation();\n e.stopPropagation();\n\n if (targetElement) {\n if (targetNeedsPrevent(targetElement) || isMoved) {\n e.preventDefault();\n }\n } else {\n e.preventDefault();\n }\n\n targetElement = null;\n }\n\n needsFastClickTimeOut = setTimeout(function () {\n needsFastClick = false;\n }, _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].androidChrome ? 100 : 400);\n\n if (params.tapHold) {\n tapHoldTimeout = setTimeout(function () {\n tapHoldFired = false;\n }, _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].androidChrome ? 100 : 400);\n }\n\n return allowClick;\n }\n\n function handleTouchStartLight(e) {\n isMoved = false;\n tapHoldFired = false;\n preventClick = false;\n\n if (e.targetTouches.length > 1) {\n if (activableElement) removeActive();\n return true;\n }\n\n if (e.touches.length > 1 && activableElement) {\n removeActive();\n }\n\n if (params.tapHold) {\n if (tapHoldTimeout) clearTimeout(tapHoldTimeout);\n tapHoldTimeout = setTimeout(function () {\n if (e && e.touches && e.touches.length > 1) return;\n tapHoldFired = true;\n e.preventDefault();\n preventClick = true;\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(e.target).trigger('taphold');\n }, params.tapHoldDelay);\n }\n\n targetElement = e.target;\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY;\n\n if (params.activeState) {\n activableElement = findActivableElement(targetElement);\n\n if (!isInsideScrollableViewLight(activableElement)) {\n addActive();\n } else {\n activeTimeout = setTimeout(addActive, 80);\n }\n }\n\n if (useRipple) {\n rippleTouchStart(targetElement, touchStartX, touchStartY);\n }\n\n return true;\n }\n\n function handleTouchMoveLight(e) {\n var touch;\n var distance;\n\n if (e.type === 'touchmove') {\n touch = e.targetTouches[0];\n distance = params.touchClicksDistanceThreshold; // if (touch && touch.touchType === 'stylus') {\n // distance = 5;\n // } else {\n // distance = 3;\n // }\n }\n\n if (distance && touch) {\n var pageX = touch.pageX;\n var pageY = touch.pageY;\n\n if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) {\n isMoved = true;\n }\n } else {\n isMoved = true;\n }\n\n if (isMoved) {\n preventClick = true;\n\n if (params.tapHold) {\n clearTimeout(tapHoldTimeout);\n }\n\n if (params.activeState) {\n clearTimeout(activeTimeout);\n removeActive();\n }\n\n if (useRipple) {\n rippleTouchMove();\n }\n }\n }\n\n function handleTouchEndLight(e) {\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].activeElement === e.target) {\n if (params.activeState) removeActive();\n\n if (useRipple) {\n rippleTouchEnd();\n }\n\n return true;\n }\n\n if (params.activeState) {\n addActive();\n setTimeout(removeActive, 0);\n }\n\n if (useRipple) {\n rippleTouchEnd();\n }\n\n if (params.tapHoldPreventClicks && tapHoldFired || preventClick) {\n if (e.cancelable) e.preventDefault();\n preventClick = true;\n return false;\n }\n\n return true;\n }\n\n function handleClickLight(e) {\n var isOverswipe = e && e.detail && e.detail === 'f7Overswipe';\n var localPreventClick = preventClick;\n\n if (targetElement && e.target !== targetElement) {\n if (isOverswipe) {\n localPreventClick = false;\n } else {\n localPreventClick = true;\n }\n }\n\n if (params.tapHold && params.tapHoldPreventClicks && tapHoldFired) {\n localPreventClick = true;\n }\n\n if (localPreventClick) {\n e.stopImmediatePropagation();\n e.stopPropagation();\n e.preventDefault();\n }\n\n if (params.tapHold) {\n tapHoldTimeout = setTimeout(function () {\n tapHoldFired = false;\n }, _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].androidChrome ? 100 : 400);\n }\n\n preventClick = false;\n targetElement = null;\n return !localPreventClick;\n }\n\n function emitAppTouchEvent(name, e) {\n app.emit({\n events: name,\n data: [e]\n });\n }\n\n function appClick(e) {\n emitAppTouchEvent('click', e);\n }\n\n function appTouchStartActive(e) {\n emitAppTouchEvent('touchstart touchstart:active', e);\n }\n\n function appTouchMoveActive(e) {\n emitAppTouchEvent('touchmove touchmove:active', e);\n }\n\n function appTouchEndActive(e) {\n emitAppTouchEvent('touchend touchend:active', e);\n }\n\n function appTouchStartPassive(e) {\n emitAppTouchEvent('touchstart:passive', e);\n }\n\n function appTouchMovePassive(e) {\n emitAppTouchEvent('touchmove:passive', e);\n }\n\n function appTouchEndPassive(e) {\n emitAppTouchEvent('touchend:passive', e);\n }\n\n var passiveListener = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: true\n } : false;\n var activeListener = _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener ? {\n passive: false\n } : false;\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener('click', appClick, true);\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].passiveListener) {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(app.touchEvents.start, appTouchStartActive, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(app.touchEvents.move, appTouchMoveActive, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(app.touchEvents.end, appTouchEndActive, activeListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(app.touchEvents.start, appTouchStartPassive, passiveListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(app.touchEvents.move, appTouchMovePassive, passiveListener);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(app.touchEvents.end, appTouchEndPassive, passiveListener);\n } else {\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(app.touchEvents.start, function (e) {\n appTouchStartActive(e);\n appTouchStartPassive(e);\n }, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(app.touchEvents.move, function (e) {\n appTouchMoveActive(e);\n appTouchMovePassive(e);\n }, false);\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener(app.touchEvents.end, function (e) {\n appTouchEndActive(e);\n appTouchEndPassive(e);\n }, false);\n }\n\n if (_utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch) {\n if (params.fastClicks) {\n app.on('click', handleClick);\n app.on('touchstart', handleTouchStart);\n app.on('touchmove', handleTouchMove);\n app.on('touchend', handleTouchEnd);\n } else {\n app.on('click', handleClickLight);\n app.on('touchstart', handleTouchStartLight);\n app.on('touchmove', handleTouchMoveLight);\n app.on('touchend', handleTouchEndLight);\n }\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener('touchcancel', handleTouchCancel, {\n passive: true\n });\n } else if (params.activeState) {\n app.on('touchstart', handleMouseDown);\n app.on('touchmove', handleMouseMove);\n app.on('touchend', handleMouseUp);\n }\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].addEventListener('contextmenu', function (e) {\n if (params.disableContextMenu && (_utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ios || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].android || _utils_device__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cordova)) {\n e.preventDefault();\n }\n\n if (useRipple) {\n if (activableElement) removeActive();\n rippleTouchEnd();\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'touch',\n params: {\n touch: {\n // Fast clicks\n fastClicks: false,\n fastClicksDistanceThreshold: 10,\n fastClicksDelayBetweenClicks: 50,\n fastClicksExclude: '',\n // CSS selector\n // Clicks\n touchClicksDistanceThreshold: 5,\n // ContextMenu\n disableContextMenu: false,\n // Tap Hold\n tapHold: false,\n tapHoldDelay: 750,\n tapHoldPreventClicks: true,\n // Active State\n activeState: true,\n activeStateElements: 'a, button, label, span, .actions-button, .stepper-button, .stepper-button-plus, .stepper-button-minus, .card-expandable, .menu-item, .link, .item-link',\n mdTouchRipple: true,\n iosTouchRipple: false,\n auroraTouchRipple: false,\n touchRippleElements: '.ripple, .link, .item-link, .list-button, .links-list a, .button, button, .input-clear-button, .dialog-button, .tab-link, .item-radio, .item-checkbox, .actions-button, .searchbar-disable-button, .fab a, .checkbox, .radio, .data-table .sortable-cell:not(.input-cell), .notification-close-button, .stepper-button, .stepper-button-minus, .stepper-button-plus, .menu-item-content'\n }\n },\n instance: {\n touchEvents: {\n start: _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch ? 'touchstart' : 'mousedown',\n move: _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch ? 'touchmove' : 'mousemove',\n end: _utils_support__WEBPACK_IMPORTED_MODULE_2__[\"default\"].touch ? 'touchend' : 'mouseup'\n }\n },\n on: {\n init: initTouch\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/touch/touch.js?");
  2160. /***/ }),
  2161. /***/ "./node_modules/framework7/modules/utils/utils.js":
  2162. /*!********************************************************!*\
  2163. !*** ./node_modules/framework7/modules/utils/utils.js ***!
  2164. \********************************************************/
  2165. /*! exports provided: default */
  2166. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2167. "use strict";
  2168. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/utils */ \"./node_modules/framework7/utils/utils.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'utils',\n proto: {\n utils: _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n },\n static: {\n utils: _utils_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n }\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/modules/utils/utils.js?");
  2169. /***/ }),
  2170. /***/ "./node_modules/framework7/node_modules/template7/dist/template7.esm.js":
  2171. /*!******************************************************************************!*\
  2172. !*** ./node_modules/framework7/node_modules/template7/dist/template7.esm.js ***!
  2173. \******************************************************************************/
  2174. /*! exports provided: default */
  2175. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2176. "use strict";
  2177. eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n * Template7 1.4.2\n * Mobile-first HTML template engine\n * \n * http://www.idangero.us/template7/\n * \n * Copyright 2019, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n * \n * Licensed under MIT\n * \n * Released on: June 14, 2019\n */\nvar t7ctx;\n\nif (typeof window !== 'undefined') {\n t7ctx = window;\n} else if (typeof global !== 'undefined') {\n t7ctx = global;\n} else {\n t7ctx = undefined;\n}\n\nvar Template7Context = t7ctx;\nvar Template7Utils = {\n quoteSingleRexExp: new RegExp('\\'', 'g'),\n quoteDoubleRexExp: new RegExp('\"', 'g'),\n isFunction: function isFunction(func) {\n return typeof func === 'function';\n },\n escape: function escape() {\n var string = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return string.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;').replace(/'/g, '&#039;');\n },\n helperToSlices: function helperToSlices(string) {\n var quoteDoubleRexExp = Template7Utils.quoteDoubleRexExp,\n quoteSingleRexExp = Template7Utils.quoteSingleRexExp;\n var helperParts = string.replace(/[{}#}]/g, '').trim().split(' ');\n var slices = [];\n var shiftIndex;\n var i;\n var j;\n\n for (i = 0; i < helperParts.length; i += 1) {\n var part = helperParts[i];\n var blockQuoteRegExp = void 0;\n var openingQuote = void 0;\n if (i === 0) slices.push(part);else if (part.indexOf('\"') === 0 || part.indexOf('\\'') === 0) {\n blockQuoteRegExp = part.indexOf('\"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp;\n openingQuote = part.indexOf('\"') === 0 ? '\"' : '\\''; // Plain String\n\n if (part.match(blockQuoteRegExp).length === 2) {\n // One word string\n slices.push(part);\n } else {\n // Find closed Index\n shiftIndex = 0;\n\n for (j = i + 1; j < helperParts.length; j += 1) {\n part += \" \".concat(helperParts[j]);\n\n if (helperParts[j].indexOf(openingQuote) >= 0) {\n shiftIndex = j;\n slices.push(part);\n break;\n }\n }\n\n if (shiftIndex) i = shiftIndex;\n }\n } else if (part.indexOf('=') > 0) {\n // Hash\n var hashParts = part.split('=');\n var hashName = hashParts[0];\n var hashContent = hashParts[1];\n\n if (!blockQuoteRegExp) {\n blockQuoteRegExp = hashContent.indexOf('\"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp;\n openingQuote = hashContent.indexOf('\"') === 0 ? '\"' : '\\'';\n }\n\n if (hashContent.match(blockQuoteRegExp).length !== 2) {\n shiftIndex = 0;\n\n for (j = i + 1; j < helperParts.length; j += 1) {\n hashContent += \" \".concat(helperParts[j]);\n\n if (helperParts[j].indexOf(openingQuote) >= 0) {\n shiftIndex = j;\n break;\n }\n }\n\n if (shiftIndex) i = shiftIndex;\n }\n\n var hash = [hashName, hashContent.replace(blockQuoteRegExp, '')];\n slices.push(hash);\n } else {\n // Plain variable\n slices.push(part);\n }\n }\n\n return slices;\n },\n stringToBlocks: function stringToBlocks(string) {\n var blocks = [];\n var i;\n var j;\n if (!string) return [];\n var stringBlocks = string.split(/({{[^{^}]*}})/);\n\n for (i = 0; i < stringBlocks.length; i += 1) {\n var block = stringBlocks[i];\n if (block === '') continue;\n\n if (block.indexOf('{{') < 0) {\n blocks.push({\n type: 'plain',\n content: block\n });\n } else {\n if (block.indexOf('{/') >= 0) {\n continue;\n }\n\n block = block.replace(/{{([#/])*([ ])*/, '{{$1').replace(/([ ])*}}/, '}}');\n\n if (block.indexOf('{#') < 0 && block.indexOf(' ') < 0 && block.indexOf('else') < 0) {\n // Simple variable\n blocks.push({\n type: 'variable',\n contextName: block.replace(/[{}]/g, '')\n });\n continue;\n } // Helpers\n\n\n var helperSlices = Template7Utils.helperToSlices(block);\n var helperName = helperSlices[0];\n var isPartial = helperName === '>';\n var helperContext = [];\n var helperHash = {};\n\n for (j = 1; j < helperSlices.length; j += 1) {\n var slice = helperSlices[j];\n\n if (Array.isArray(slice)) {\n // Hash\n helperHash[slice[0]] = slice[1] === 'false' ? false : slice[1];\n } else {\n helperContext.push(slice);\n }\n }\n\n if (block.indexOf('{#') >= 0) {\n // Condition/Helper\n var helperContent = '';\n var elseContent = '';\n var toSkip = 0;\n var shiftIndex = void 0;\n var foundClosed = false;\n var foundElse = false;\n var depth = 0;\n\n for (j = i + 1; j < stringBlocks.length; j += 1) {\n if (stringBlocks[j].indexOf('{{#') >= 0) {\n depth += 1;\n }\n\n if (stringBlocks[j].indexOf('{{/') >= 0) {\n depth -= 1;\n }\n\n if (stringBlocks[j].indexOf(\"{{#\".concat(helperName)) >= 0) {\n helperContent += stringBlocks[j];\n if (foundElse) elseContent += stringBlocks[j];\n toSkip += 1;\n } else if (stringBlocks[j].indexOf(\"{{/\".concat(helperName)) >= 0) {\n if (toSkip > 0) {\n toSkip -= 1;\n helperContent += stringBlocks[j];\n if (foundElse) elseContent += stringBlocks[j];\n } else {\n shiftIndex = j;\n foundClosed = true;\n break;\n }\n } else if (stringBlocks[j].indexOf('else') >= 0 && depth === 0) {\n foundElse = true;\n } else {\n if (!foundElse) helperContent += stringBlocks[j];\n if (foundElse) elseContent += stringBlocks[j];\n }\n }\n\n if (foundClosed) {\n if (shiftIndex) i = shiftIndex;\n\n if (helperName === 'raw') {\n blocks.push({\n type: 'plain',\n content: helperContent\n });\n } else {\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n content: helperContent,\n inverseContent: elseContent,\n hash: helperHash\n });\n }\n }\n } else if (block.indexOf(' ') > 0) {\n if (isPartial) {\n helperName = '_partial';\n\n if (helperContext[0]) {\n if (helperContext[0].indexOf('[') === 0) helperContext[0] = helperContext[0].replace(/[[\\]]/g, '');else helperContext[0] = \"\\\"\".concat(helperContext[0].replace(/\"|'/g, ''), \"\\\"\");\n }\n }\n\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n hash: helperHash\n });\n }\n }\n }\n\n return blocks;\n },\n parseJsVariable: function parseJsVariable(expression, replace, object) {\n return expression.split(/([+ \\-*/^()&=|<>!%:?])/g).reduce(function (arr, part) {\n if (!part) {\n return arr;\n }\n\n if (part.indexOf(replace) < 0) {\n arr.push(part);\n return arr;\n }\n\n if (!object) {\n arr.push(JSON.stringify(''));\n return arr;\n }\n\n var variable = object;\n\n if (part.indexOf(\"\".concat(replace, \".\")) >= 0) {\n part.split(\"\".concat(replace, \".\"))[1].split('.').forEach(function (partName) {\n if (partName in variable) variable = variable[partName];else variable = undefined;\n });\n }\n\n if (typeof variable === 'string' || Array.isArray(variable) || variable.constructor && variable.constructor === Object) {\n variable = JSON.stringify(variable);\n }\n\n if (variable === undefined) variable = 'undefined';\n arr.push(variable);\n return arr;\n }, []).join('');\n },\n parseJsParents: function parseJsParents(expression, parents) {\n return expression.split(/([+ \\-*^()&=|<>!%:?])/g).reduce(function (arr, part) {\n if (!part) {\n return arr;\n }\n\n if (part.indexOf('../') < 0) {\n arr.push(part);\n return arr;\n }\n\n if (!parents || parents.length === 0) {\n arr.push(JSON.stringify(''));\n return arr;\n }\n\n var levelsUp = part.split('../').length - 1;\n var parentData = levelsUp > parents.length ? parents[parents.length - 1] : parents[levelsUp - 1];\n var variable = parentData;\n var parentPart = part.replace(/..\\//g, '');\n parentPart.split('.').forEach(function (partName) {\n if (typeof variable[partName] !== 'undefined') variable = variable[partName];else variable = 'undefined';\n });\n\n if (variable === false || variable === true) {\n arr.push(JSON.stringify(variable));\n return arr;\n }\n\n if (variable === null || variable === 'undefined') {\n arr.push(JSON.stringify(''));\n return arr;\n }\n\n arr.push(JSON.stringify(variable));\n return arr;\n }, []).join('');\n },\n getCompileVar: function getCompileVar(name, ctx) {\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'data_1';\n var variable = ctx;\n var parts;\n var levelsUp = 0;\n var newDepth;\n\n if (name.indexOf('../') === 0) {\n levelsUp = name.split('../').length - 1;\n newDepth = variable.split('_')[1] - levelsUp;\n variable = \"ctx_\".concat(newDepth >= 1 ? newDepth : 1);\n parts = name.split('../')[levelsUp].split('.');\n } else if (name.indexOf('@global') === 0) {\n variable = 'Template7.global';\n parts = name.split('@global.')[1].split('.');\n } else if (name.indexOf('@root') === 0) {\n variable = 'root';\n parts = name.split('@root.')[1].split('.');\n } else {\n parts = name.split('.');\n }\n\n for (var i = 0; i < parts.length; i += 1) {\n var part = parts[i];\n\n if (part.indexOf('@') === 0) {\n var dataLevel = data.split('_')[1];\n\n if (levelsUp > 0) {\n dataLevel = newDepth;\n }\n\n if (i > 0) {\n variable += \"[(data_\".concat(dataLevel, \" && data_\").concat(dataLevel, \".\").concat(part.replace('@', ''), \")]\");\n } else {\n variable = \"(data_\".concat(dataLevel, \" && data_\").concat(dataLevel, \".\").concat(part.replace('@', ''), \")\");\n }\n } else if (Number.isFinite ? Number.isFinite(part) : Template7Context.isFinite(part)) {\n variable += \"[\".concat(part, \"]\");\n } else if (part === 'this' || part.indexOf('this.') >= 0 || part.indexOf('this[') >= 0 || part.indexOf('this(') >= 0) {\n variable = part.replace('this', ctx);\n } else {\n variable += \".\".concat(part);\n }\n }\n\n return variable;\n },\n getCompiledArguments: function getCompiledArguments(contextArray, ctx, data) {\n var arr = [];\n\n for (var i = 0; i < contextArray.length; i += 1) {\n if (/^['\"]/.test(contextArray[i])) arr.push(contextArray[i]);else if (/^(true|false|\\d+)$/.test(contextArray[i])) arr.push(contextArray[i]);else {\n arr.push(Template7Utils.getCompileVar(contextArray[i], ctx, data));\n }\n }\n\n return arr.join(', ');\n }\n};\n/* eslint no-eval: \"off\" */\n\nvar Template7Helpers = {\n _partial: function _partial(partialName, options) {\n var ctx = this;\n var p = Template7Class.partials[partialName];\n if (!p || p && !p.template) return '';\n\n if (!p.compiled) {\n p.compiled = new Template7Class(p.template).compile();\n }\n\n Object.keys(options.hash).forEach(function (hashName) {\n ctx[hashName] = options.hash[hashName];\n });\n return p.compiled(ctx, options.data, options.root);\n },\n escape: function escape(context) {\n if (typeof context === 'undefined' || context === null) return '';\n\n if (typeof context !== 'string') {\n throw new Error('Template7: Passed context to \"escape\" helper should be a string');\n }\n\n return Template7Utils.escape(context);\n },\n if: function _if(context, options) {\n var ctx = context;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = ctx.call(this);\n }\n\n if (ctx) {\n return options.fn(this, options.data);\n }\n\n return options.inverse(this, options.data);\n },\n unless: function unless(context, options) {\n var ctx = context;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = ctx.call(this);\n }\n\n if (!ctx) {\n return options.fn(this, options.data);\n }\n\n return options.inverse(this, options.data);\n },\n each: function each(context, options) {\n var ctx = context;\n var ret = '';\n var i = 0;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = ctx.call(this);\n }\n\n if (Array.isArray(ctx)) {\n if (options.hash.reverse) {\n ctx = ctx.reverse();\n }\n\n for (i = 0; i < ctx.length; i += 1) {\n ret += options.fn(ctx[i], {\n first: i === 0,\n last: i === ctx.length - 1,\n index: i\n });\n }\n\n if (options.hash.reverse) {\n ctx = ctx.reverse();\n }\n } else {\n // eslint-disable-next-line\n for (var key in ctx) {\n i += 1;\n ret += options.fn(ctx[key], {\n key: key\n });\n }\n }\n\n if (i > 0) return ret;\n return options.inverse(this);\n },\n with: function _with(context, options) {\n var ctx = context;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = context.call(this);\n }\n\n return options.fn(ctx);\n },\n join: function join(context, options) {\n var ctx = context;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = ctx.call(this);\n }\n\n return ctx.join(options.hash.delimiter || options.hash.delimeter);\n },\n js: function js(expression, options) {\n var data = options.data;\n var func;\n var execute = expression;\n 'index first last key'.split(' ').forEach(function (prop) {\n if (typeof data[prop] !== 'undefined') {\n var re1 = new RegExp(\"this.@\".concat(prop), 'g');\n var re2 = new RegExp(\"@\".concat(prop), 'g');\n execute = execute.replace(re1, JSON.stringify(data[prop])).replace(re2, JSON.stringify(data[prop]));\n }\n });\n\n if (options.root && execute.indexOf('@root') >= 0) {\n execute = Template7Utils.parseJsVariable(execute, '@root', options.root);\n }\n\n if (execute.indexOf('@global') >= 0) {\n execute = Template7Utils.parseJsVariable(execute, '@global', Template7Context.Template7.global);\n }\n\n if (execute.indexOf('../') >= 0) {\n execute = Template7Utils.parseJsParents(execute, options.parents);\n }\n\n if (execute.indexOf('return') >= 0) {\n func = \"(function(){\".concat(execute, \"})\");\n } else {\n func = \"(function(){return (\".concat(execute, \")})\");\n }\n\n return eval(func).call(this);\n },\n js_if: function js_if(expression, options) {\n var data = options.data;\n var func;\n var execute = expression;\n 'index first last key'.split(' ').forEach(function (prop) {\n if (typeof data[prop] !== 'undefined') {\n var re1 = new RegExp(\"this.@\".concat(prop), 'g');\n var re2 = new RegExp(\"@\".concat(prop), 'g');\n execute = execute.replace(re1, JSON.stringify(data[prop])).replace(re2, JSON.stringify(data[prop]));\n }\n });\n\n if (options.root && execute.indexOf('@root') >= 0) {\n execute = Template7Utils.parseJsVariable(execute, '@root', options.root);\n }\n\n if (execute.indexOf('@global') >= 0) {\n execute = Template7Utils.parseJsVariable(execute, '@global', Template7Context.Template7.global);\n }\n\n if (execute.indexOf('../') >= 0) {\n execute = Template7Utils.parseJsParents(execute, options.parents);\n }\n\n if (execute.indexOf('return') >= 0) {\n func = \"(function(){\".concat(execute, \"})\");\n } else {\n func = \"(function(){return (\".concat(execute, \")})\");\n }\n\n var condition = eval(func).call(this);\n\n if (condition) {\n return options.fn(this, options.data);\n }\n\n return options.inverse(this, options.data);\n }\n};\nTemplate7Helpers.js_compare = Template7Helpers.js_if;\nvar Template7Options = {};\nvar Template7Partials = {};\n\nvar Template7Class = /*#__PURE__*/function () {\n function Template7Class(template) {\n _classCallCheck(this, Template7Class);\n\n var t = this;\n t.template = template;\n }\n\n _createClass(Template7Class, [{\n key: \"compile\",\n value: function compile() {\n var template = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.template;\n var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var t = this;\n if (t.compiled) return t.compiled;\n\n if (typeof template !== 'string') {\n throw new Error('Template7: Template must be a string');\n }\n\n var stringToBlocks = Template7Utils.stringToBlocks,\n getCompileVar = Template7Utils.getCompileVar,\n getCompiledArguments = Template7Utils.getCompiledArguments;\n var blocks = stringToBlocks(template);\n var ctx = \"ctx_\".concat(depth);\n var data = \"data_\".concat(depth);\n\n if (blocks.length === 0) {\n return function empty() {\n return '';\n };\n }\n\n function getCompileFn(block, newDepth) {\n if (block.content) return t.compile(block.content, newDepth);\n return function empty() {\n return '';\n };\n }\n\n function getCompileInverse(block, newDepth) {\n if (block.inverseContent) return t.compile(block.inverseContent, newDepth);\n return function empty() {\n return '';\n };\n }\n\n var resultString = '';\n\n if (depth === 1) {\n resultString += \"(function (\".concat(ctx, \", \").concat(data, \", root) {\\n\");\n } else {\n resultString += \"(function (\".concat(ctx, \", \").concat(data, \") {\\n\");\n }\n\n if (depth === 1) {\n resultString += 'function isArray(arr){return Array.isArray(arr);}\\n';\n resultString += 'function isFunction(func){return (typeof func === \\'function\\');}\\n';\n resultString += 'function c(val, ctx) {if (typeof val !== \"undefined\" && val !== null) {if (isFunction(val)) {return val.call(ctx);} else return val;} else return \"\";}\\n';\n resultString += 'root = root || ctx_1 || {};\\n';\n }\n\n resultString += 'var r = \\'\\';\\n';\n var i;\n\n for (i = 0; i < blocks.length; i += 1) {\n var block = blocks[i]; // Plain block\n\n if (block.type === 'plain') {\n // eslint-disable-next-line\n resultString += \"r +='\".concat(block.content.replace(/\\r/g, '\\\\r').replace(/\\n/g, '\\\\n').replace(/'/g, '\\\\' + '\\''), \"';\");\n continue;\n }\n\n var variable = void 0;\n var compiledArguments = void 0; // Variable block\n\n if (block.type === 'variable') {\n variable = getCompileVar(block.contextName, ctx, data);\n resultString += \"r += c(\".concat(variable, \", \").concat(ctx, \");\");\n } // Helpers block\n\n\n if (block.type === 'helper') {\n var parents = void 0;\n\n if (ctx !== 'ctx_1') {\n var level = ctx.split('_')[1];\n var parentsString = \"ctx_\".concat(level - 1);\n\n for (var j = level - 2; j >= 1; j -= 1) {\n parentsString += \", ctx_\".concat(j);\n }\n\n parents = \"[\".concat(parentsString, \"]\");\n } else {\n parents = \"[\".concat(ctx, \"]\");\n }\n\n var dynamicHelper = void 0;\n\n if (block.helperName.indexOf('[') === 0) {\n block.helperName = getCompileVar(block.helperName.replace(/[[\\]]/g, ''), ctx, data);\n dynamicHelper = true;\n }\n\n if (dynamicHelper || block.helperName in Template7Helpers) {\n compiledArguments = getCompiledArguments(block.contextName, ctx, data);\n resultString += \"r += (Template7Helpers\".concat(dynamicHelper ? \"[\".concat(block.helperName, \"]\") : \".\".concat(block.helperName), \").call(\").concat(ctx, \", \").concat(compiledArguments && \"\".concat(compiledArguments, \", \"), \"{hash:\").concat(JSON.stringify(block.hash), \", data: \").concat(data, \" || {}, fn: \").concat(getCompileFn(block, depth + 1), \", inverse: \").concat(getCompileInverse(block, depth + 1), \", root: root, parents: \").concat(parents, \"});\");\n } else if (block.contextName.length > 0) {\n throw new Error(\"Template7: Missing helper: \\\"\".concat(block.helperName, \"\\\"\"));\n } else {\n variable = getCompileVar(block.helperName, ctx, data);\n resultString += \"if (\".concat(variable, \") {\");\n resultString += \"if (isArray(\".concat(variable, \")) {\");\n resultString += \"r += (Template7Helpers.each).call(\".concat(ctx, \", \").concat(variable, \", {hash:\").concat(JSON.stringify(block.hash), \", data: \").concat(data, \" || {}, fn: \").concat(getCompileFn(block, depth + 1), \", inverse: \").concat(getCompileInverse(block, depth + 1), \", root: root, parents: \").concat(parents, \"});\");\n resultString += '}else {';\n resultString += \"r += (Template7Helpers.with).call(\".concat(ctx, \", \").concat(variable, \", {hash:\").concat(JSON.stringify(block.hash), \", data: \").concat(data, \" || {}, fn: \").concat(getCompileFn(block, depth + 1), \", inverse: \").concat(getCompileInverse(block, depth + 1), \", root: root, parents: \").concat(parents, \"});\");\n resultString += '}}';\n }\n }\n }\n\n resultString += '\\nreturn r;})';\n\n if (depth === 1) {\n // eslint-disable-next-line\n t.compiled = eval(resultString);\n return t.compiled;\n }\n\n return resultString;\n }\n }], [{\n key: \"options\",\n get: function get() {\n return Template7Options;\n }\n }, {\n key: \"partials\",\n get: function get() {\n return Template7Partials;\n }\n }, {\n key: \"helpers\",\n get: function get() {\n return Template7Helpers;\n }\n }]);\n\n return Template7Class;\n}();\n\nfunction Template7() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var template = args[0],\n data = args[1];\n\n if (args.length === 2) {\n var instance = new Template7Class(template);\n var rendered = instance.compile()(data);\n instance = null;\n return rendered;\n }\n\n return new Template7Class(template);\n}\n\nTemplate7.registerHelper = function registerHelper(name, fn) {\n Template7Class.helpers[name] = fn;\n};\n\nTemplate7.unregisterHelper = function unregisterHelper(name) {\n Template7Class.helpers[name] = undefined;\n delete Template7Class.helpers[name];\n};\n\nTemplate7.registerPartial = function registerPartial(name, template) {\n Template7Class.partials[name] = {\n template: template\n };\n};\n\nTemplate7.unregisterPartial = function unregisterPartial(name) {\n if (Template7Class.partials[name]) {\n Template7Class.partials[name] = undefined;\n delete Template7Class.partials[name];\n }\n};\n\nTemplate7.compile = function compile(template, options) {\n var instance = new Template7Class(template, options);\n return instance.compile();\n};\n\nTemplate7.options = Template7Class.options;\nTemplate7.helpers = Template7Class.helpers;\nTemplate7.partials = Template7Class.partials;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Template7);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/framework7/node_modules/template7/dist/template7.esm.js?");
  2178. /***/ }),
  2179. /***/ "./node_modules/framework7/utils/bezier.js":
  2180. /*!*************************************************!*\
  2181. !*** ./node_modules/framework7/utils/bezier.js ***!
  2182. \*************************************************/
  2183. /*! exports provided: default */
  2184. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2185. "use strict";
  2186. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return bezier; });\n/**\n * https://github.com/gre/bezier-easing\n * BezierEasing - use bezier curve for transition easing function\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\n */\n\n/* eslint-disable */\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\nvar NEWTON_ITERATIONS = 4;\nvar NEWTON_MIN_SLOPE = 0.001;\nvar SUBDIVISION_PRECISION = 0.0000001;\nvar SUBDIVISION_MAX_ITERATIONS = 10;\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nvar float32ArraySupported = typeof Float32Array === 'function';\n\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\n\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\n\nfunction C(aA1) {\n return 3.0 * aA1;\n} // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\nfunction calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n} // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\nfunction getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\n\nfunction binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n}\n\nfunction newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n}\n\nfunction bezier(mX1, mY1, mX2, mY2) {\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n } // Precompute samples table\n\n\n var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n\n return function BezierEasing(x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n } // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n\n if (x === 0) {\n return 0;\n }\n\n if (x === 1) {\n return 1;\n }\n\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n;\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/bezier.js?");
  2187. /***/ }),
  2188. /***/ "./node_modules/framework7/utils/class.js":
  2189. /*!************************************************!*\
  2190. !*** ./node_modules/framework7/utils/class.js ***!
  2191. \************************************************/
  2192. /*! exports provided: default */
  2193. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2194. "use strict";
  2195. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _events_class__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./events-class */ \"./node_modules/framework7/utils/events-class.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\nvar Framework7Class = /*#__PURE__*/function (_EventsClass) {\n _inherits(Framework7Class, _EventsClass);\n\n var _super = _createSuper(Framework7Class);\n\n function Framework7Class() {\n var _this;\n\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var parents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n _classCallCheck(this, Framework7Class);\n\n _this = _super.call(this, parents);\n\n var self = _assertThisInitialized(_this);\n\n self.params = params;\n\n if (self.params && self.params.on) {\n Object.keys(self.params.on).forEach(function (eventName) {\n self.on(eventName, self.params.on[eventName]);\n });\n }\n\n return _this;\n } // eslint-disable-next-line\n\n\n _createClass(Framework7Class, [{\n key: \"useModuleParams\",\n value: function useModuleParams(module, instanceParams) {\n if (module.params) {\n var originalParams = {};\n Object.keys(module.params).forEach(function (paramKey) {\n if (typeof instanceParams[paramKey] === 'undefined') return;\n originalParams[paramKey] = _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend({}, instanceParams[paramKey]);\n });\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(instanceParams, module.params);\n Object.keys(originalParams).forEach(function (paramKey) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(instanceParams[paramKey], originalParams[paramKey]);\n });\n }\n }\n }, {\n key: \"useModulesParams\",\n value: function useModulesParams(instanceParams) {\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName]; // Extend params\n\n if (module.params) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].extend(instanceParams, module.params);\n }\n });\n }\n }, {\n key: \"useModule\",\n value: function useModule() {\n var moduleName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var moduleParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var instance = this;\n if (!instance.modules) return;\n var module = typeof moduleName === 'string' ? instance.modules[moduleName] : moduleName;\n if (!module) return; // Extend instance methods and props\n\n if (module.instance) {\n Object.keys(module.instance).forEach(function (modulePropName) {\n var moduleProp = module.instance[modulePropName];\n\n if (typeof moduleProp === 'function') {\n instance[modulePropName] = moduleProp.bind(instance);\n } else {\n instance[modulePropName] = moduleProp;\n }\n });\n } // Add event listeners\n\n\n if (module.on && instance.on) {\n Object.keys(module.on).forEach(function (moduleEventName) {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n } // Add vnode hooks\n\n\n if (module.vnode) {\n if (!instance.vnodeHooks) instance.vnodeHooks = {};\n Object.keys(module.vnode).forEach(function (vnodeId) {\n Object.keys(module.vnode[vnodeId]).forEach(function (hookName) {\n var handler = module.vnode[vnodeId][hookName];\n if (!instance.vnodeHooks[hookName]) instance.vnodeHooks[hookName] = {};\n if (!instance.vnodeHooks[hookName][vnodeId]) instance.vnodeHooks[hookName][vnodeId] = [];\n instance.vnodeHooks[hookName][vnodeId].push(handler.bind(instance));\n });\n });\n } // Module create callback\n\n\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n }\n }, {\n key: \"useModules\",\n value: function useModules() {\n var modulesParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var moduleParams = modulesParams[moduleName] || {};\n instance.useModule(moduleName, moduleParams);\n });\n }\n }], [{\n key: \"components\",\n set: function set(components) {\n var Class = this;\n if (!Class.use) return;\n Class.use(components);\n }\n }, {\n key: \"installModule\",\n value: function installModule(module) {\n var Class = this;\n if (!Class.prototype.modules) Class.prototype.modules = {};\n var name = module.name || \"\".concat(Object.keys(Class.prototype.modules).length, \"_\").concat(_utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].now());\n Class.prototype.modules[name] = module; // Prototype\n\n if (module.proto) {\n Object.keys(module.proto).forEach(function (key) {\n Class.prototype[key] = module.proto[key];\n });\n } // Class\n\n\n if (module.static) {\n Object.keys(module.static).forEach(function (key) {\n Class[key] = module.static[key];\n });\n } // Callback\n\n\n if (module.install) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n\n module.install.apply(Class, params);\n }\n\n return Class;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n var Class = this;\n\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Class.installModule(m);\n });\n return Class;\n }\n\n for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n params[_key2 - 1] = arguments[_key2];\n }\n\n return Class.installModule.apply(Class, [module].concat(params));\n }\n }]);\n\n return Framework7Class;\n}(_events_class__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Framework7Class);\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/class.js?");
  2196. /***/ }),
  2197. /***/ "./node_modules/framework7/utils/constructor-methods.js":
  2198. /*!**************************************************************!*\
  2199. !*** ./node_modules/framework7/utils/constructor-methods.js ***!
  2200. \**************************************************************/
  2201. /*! exports provided: default */
  2202. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2203. "use strict";
  2204. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var parameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultSelector = parameters.defaultSelector,\n constructor = parameters.constructor,\n domProp = parameters.domProp,\n app = parameters.app,\n addMethods = parameters.addMethods;\n var methods = {\n create: function create() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (app) return _construct(constructor, [app].concat(args));\n return _construct(constructor, args);\n },\n get: function get() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultSelector;\n if (el instanceof constructor) return el;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n return $el[0][domProp];\n },\n destroy: function destroy(el) {\n var instance = methods.get(el);\n if (instance && instance.destroy) return instance.destroy();\n return undefined;\n }\n };\n\n if (addMethods && Array.isArray(addMethods)) {\n addMethods.forEach(function (methodName) {\n methods[methodName] = function () {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultSelector;\n var instance = methods.get(el);\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n if (instance && instance[methodName]) return instance[methodName].apply(instance, args);\n return undefined;\n };\n });\n }\n\n return methods;\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/constructor-methods.js?");
  2205. /***/ }),
  2206. /***/ "./node_modules/framework7/utils/device.js":
  2207. /*!*************************************************!*\
  2208. !*** ./node_modules/framework7/utils/device.js ***!
  2209. \*************************************************/
  2210. /*! exports provided: default */
  2211. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2212. "use strict";
  2213. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _support__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./support */ \"./node_modules/framework7/utils/support.js\");\n\n\n\nvar Device = function Device() {\n var platform = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.platform;\n var ua = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.userAgent;\n var device = {\n ios: false,\n android: false,\n androidChrome: false,\n desktop: false,\n windowsPhone: false,\n iphone: false,\n iphoneX: false,\n ipod: false,\n ipad: false,\n edge: false,\n ie: false,\n firefox: false,\n macos: false,\n windows: false,\n cordova: !!(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].cordova || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].phonegap),\n phonegap: !!(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].cordova || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].phonegap),\n electron: false\n };\n var screenWidth = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].screen.width;\n var screenHeight = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].screen.height;\n var windowsPhone = ua.match(/(Windows Phone);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var iphoneX = iphone && (screenWidth === 375 && screenHeight === 812 || // X/XS\n screenWidth === 414 && screenHeight === 896 // XR / XS Max\n );\n var ie = ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\n var edge = ua.indexOf('Edge/') >= 0;\n var firefox = ua.indexOf('Gecko/') >= 0 && ua.indexOf('Firefox/') >= 0;\n var windows = platform === 'Win32';\n var electron = ua.toLowerCase().indexOf('electron') >= 0;\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n if (!ipad && macos && _support__WEBPACK_IMPORTED_MODULE_1__[\"default\"].touch && (screenWidth === 1024 && screenHeight === 1366 || // Pro 12.9\n screenWidth === 834 && screenHeight === 1194 // Pro 11\n || screenWidth === 834 && screenHeight === 1112 // Pro 10.5\n || screenWidth === 768 && screenHeight === 1024 // other\n )) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n macos = false;\n }\n\n device.ie = ie;\n device.edge = edge;\n device.firefox = firefox; // Windows\n\n if (windowsPhone) {\n device.os = 'windowsPhone';\n device.osVersion = windowsPhone[2];\n device.windowsPhone = true;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.osVersion = android[2];\n device.android = true;\n device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // iOS\n\n\n if (iphone && !ipod) {\n device.osVersion = iphone[2].replace(/_/g, '.');\n device.iphone = true;\n device.iphoneX = iphoneX;\n }\n\n if (ipad) {\n device.osVersion = ipad[2].replace(/_/g, '.');\n device.ipad = true;\n }\n\n if (ipod) {\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n device.ipod = true;\n } // iOS 8+ changed UA\n\n\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\n if (device.osVersion.split('.')[0] === '10') {\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\n }\n } // Webview\n\n\n device.webView = !!((iphone || ipad || ipod) && (ua.match(/.*AppleWebKit(?!.*Safari)/i) || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.standalone)) || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].matchMedia && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].matchMedia('(display-mode: standalone)').matches;\n device.webview = device.webView;\n device.standalone = device.webView; // Desktop\n\n device.desktop = !(device.ios || device.android || device.windowsPhone) || electron;\n\n if (device.desktop) {\n device.electron = electron;\n device.macos = macos;\n device.windows = windows;\n\n if (device.macos) {\n device.os = 'macos';\n }\n\n if (device.windows) {\n device.os = 'windows';\n }\n } // Meta statusbar\n\n\n var metaStatusbar = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].querySelector('meta[name=\"apple-mobile-web-app-status-bar-style\"]'); // Check for status bar and fullscreen app mode\n\n device.needsStatusbarOverlay = function needsStatusbarOverlay() {\n if (device.desktop) return false;\n\n if (device.standalone && device.ios && metaStatusbar && metaStatusbar.content === 'black-translucent') {\n return true;\n }\n\n if ((device.webView || device.android && device.cordova) && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].innerWidth * ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].innerHeight === ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].screen.width * ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].screen.height) {\n if (device.iphoneX && (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].orientation === 90 || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].orientation === -90)) {\n return false;\n }\n\n return true;\n }\n\n return false;\n };\n\n device.statusbar = device.needsStatusbarOverlay(); // Pixel Ratio\n\n device.pixelRatio = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].devicePixelRatio || 1; // Color Scheme\n\n var DARK = '(prefers-color-scheme: dark)';\n var LIGHT = '(prefers-color-scheme: light)';\n\n device.prefersColorScheme = function prefersColorTheme() {\n var theme;\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].matchMedia && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].matchMedia(LIGHT).matches) {\n theme = 'light';\n }\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].matchMedia && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].matchMedia(DARK).matches) {\n theme = 'dark';\n }\n\n return theme;\n }; // Export object\n\n\n return device;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Device);\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/device.js?");
  2214. /***/ }),
  2215. /***/ "./node_modules/framework7/utils/events-class.js":
  2216. /*!*******************************************************!*\
  2217. !*** ./node_modules/framework7/utils/events-class.js ***!
  2218. \*******************************************************/
  2219. /*! exports provided: default */
  2220. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2221. "use strict";
  2222. eval("__webpack_require__.r(__webpack_exports__);\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar EventsClass = /*#__PURE__*/function () {\n function EventsClass() {\n var parents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n _classCallCheck(this, EventsClass);\n\n var self = this;\n self.eventsParents = parents;\n self.eventsListeners = {};\n }\n\n _createClass(EventsClass, [{\n key: \"on\",\n value: function on(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n }\n }, {\n key: \"once\",\n value: function once(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n self.off(events, onceHandler);\n\n if (onceHandler.f7proxy) {\n delete onceHandler.f7proxy;\n }\n }\n\n onceHandler.f7proxy = handler;\n return self.on(events, onceHandler, priority);\n }\n }, {\n key: \"off\",\n value: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler, index) {\n if (eventHandler === handler || eventHandler.f7proxy && eventHandler.f7proxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n }\n }, {\n key: \"emit\",\n value: function emit() {\n var self = this;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n var eventsParents;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n eventsParents = self.eventsParents;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n eventsParents = args[0].local ? [] : args[0].parents || self.eventsParents;\n }\n\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n var localEvents = eventsArray.map(function (eventName) {\n return eventName.replace('local::', '');\n });\n var parentEvents = eventsArray.filter(function (eventName) {\n return eventName.indexOf('local::') < 0;\n });\n localEvents.forEach(function (event) {\n if (self.eventsListeners && self.eventsListeners[event]) {\n var handlers = [];\n self.eventsListeners[event].forEach(function (eventHandler) {\n handlers.push(eventHandler);\n });\n handlers.forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n\n if (eventsParents && eventsParents.length > 0) {\n eventsParents.forEach(function (eventsParent) {\n eventsParent.emit.apply(eventsParent, [parentEvents].concat(_toConsumableArray(data)));\n });\n }\n\n return self;\n }\n }]);\n\n return EventsClass;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (EventsClass);\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/events-class.js?");
  2223. /***/ }),
  2224. /***/ "./node_modules/framework7/utils/history.js":
  2225. /*!**************************************************!*\
  2226. !*** ./node_modules/framework7/utils/history.js ***!
  2227. \**************************************************/
  2228. /*! exports provided: default */
  2229. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2230. "use strict";
  2231. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"./node_modules/framework7/utils/utils.js\");\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\nvar History = {\n queue: [],\n clearQueue: function clearQueue() {\n if (History.queue.length === 0) return;\n var currentQueue = History.queue.shift();\n currentQueue();\n },\n routerQueue: [],\n clearRouterQueue: function clearRouterQueue() {\n if (History.routerQueue.length === 0) return;\n var currentQueue = History.routerQueue.pop();\n var router = currentQueue.router,\n stateUrl = currentQueue.stateUrl,\n action = currentQueue.action;\n var animate = router.params.animate;\n if (router.params.pushStateAnimate === false) animate = false;\n\n if (action === 'back') {\n router.back({\n animate: animate,\n pushState: false\n });\n }\n\n if (action === 'load') {\n router.navigate(stateUrl, {\n animate: animate,\n pushState: false\n });\n }\n },\n handle: function handle(e) {\n if (History.blockPopstate) return;\n var app = this; // const mainView = app.views.main;\n\n var state = e.state;\n History.previousState = History.state;\n History.state = state;\n History.allowChange = true;\n History.clearQueue();\n state = History.state;\n if (!state) state = {};\n app.views.forEach(function (view) {\n var router = view.router;\n var viewState = state[view.id];\n\n if (!viewState && view.params.pushState) {\n viewState = {\n url: view.router.history[0]\n };\n }\n\n if (!viewState) return;\n var stateUrl = viewState.url || undefined;\n var animate = router.params.animate;\n if (router.params.pushStateAnimate === false) animate = false;\n\n if (stateUrl !== router.url) {\n if (router.history.indexOf(stateUrl) >= 0) {\n // Go Back\n if (router.allowPageChange) {\n router.back({\n animate: animate,\n pushState: false\n });\n } else {\n History.routerQueue.push({\n action: 'back',\n router: router\n });\n }\n } else if (router.allowPageChange) {\n // Load page\n router.navigate(stateUrl, {\n animate: animate,\n pushState: false\n });\n } else {\n History.routerQueue.unshift({\n action: 'load',\n stateUrl: stateUrl,\n router: router\n });\n }\n }\n });\n },\n initViewState: function initViewState(viewId, viewState) {\n var newState = _utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, History.state || {}, _defineProperty({}, viewId, viewState));\n History.state = newState;\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].history.replaceState(newState, '');\n },\n push: function push(viewId, viewState, url) {\n if (!History.allowChange) {\n History.queue.push(function () {\n History.push(viewId, viewState, url);\n });\n return;\n }\n\n History.previousState = History.state;\n var newState = _utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, History.previousState || {}, _defineProperty({}, viewId, viewState));\n History.state = newState;\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].history.pushState(newState, '', url);\n },\n replace: function replace(viewId, viewState, url) {\n if (!History.allowChange) {\n History.queue.push(function () {\n History.replace(viewId, viewState, url);\n });\n return;\n }\n\n History.previousState = History.state;\n var newState = _utils__WEBPACK_IMPORTED_MODULE_2__[\"default\"].extend({}, History.previousState || {}, _defineProperty({}, viewId, viewState));\n History.state = newState;\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].history.replaceState(newState, '', url);\n },\n go: function go(index) {\n History.allowChange = false;\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].history.go(index);\n },\n back: function back() {\n History.allowChange = false;\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].history.back();\n },\n allowChange: true,\n previousState: {},\n state: ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].history.state,\n blockPopstate: true,\n init: function init(app) {\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"]).on('load', function () {\n setTimeout(function () {\n History.blockPopstate = false;\n }, 0);\n });\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].readyState && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].readyState === 'complete') {\n History.blockPopstate = false;\n }\n\n Object(dom7__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"]).on('popstate', History.handle.bind(app));\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (History);\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/history.js?");
  2232. /***/ }),
  2233. /***/ "./node_modules/framework7/utils/modal-methods.js":
  2234. /*!********************************************************!*\
  2235. !*** ./node_modules/framework7/utils/modal-methods.js ***!
  2236. \********************************************************/
  2237. /*! exports provided: default */
  2238. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2239. "use strict";
  2240. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ \"./node_modules/dom7/dist/dom7.module.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/framework7/utils/utils.js\");\n/* harmony import */ var _constructor_methods__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constructor-methods */ \"./node_modules/framework7/utils/constructor-methods.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n var parameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultSelector = parameters.defaultSelector,\n constructor = parameters.constructor,\n app = parameters.app;\n var methods = _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(Object(_constructor_methods__WEBPACK_IMPORTED_MODULE_2__[\"default\"])({\n defaultSelector: defaultSelector,\n constructor: constructor,\n app: app,\n domProp: 'f7Modal'\n }), {\n open: function open(el, animate) {\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n var instance = $el[0].f7Modal;\n if (!instance) instance = new constructor(app, {\n el: $el\n });\n return instance.open(animate);\n },\n close: function close() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultSelector;\n var animate = arguments.length > 1 ? arguments[1] : undefined;\n var $el = Object(dom7__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(el);\n if ($el.length === 0) return undefined;\n var instance = $el[0].f7Modal;\n if (!instance) instance = new constructor(app, {\n el: $el\n });\n return instance.close(animate);\n }\n });\n return methods;\n});\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/modal-methods.js?");
  2241. /***/ }),
  2242. /***/ "./node_modules/framework7/utils/request.js":
  2243. /*!**************************************************!*\
  2244. !*** ./node_modules/framework7/utils/request.js ***!
  2245. \**************************************************/
  2246. /*! exports provided: default */
  2247. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2248. "use strict";
  2249. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./node_modules/framework7/utils/utils.js\");\n\n\nvar globals = {};\nvar jsonpRequests = 0;\n\nfunction Request(requestOptions) {\n var globalsNoCallbacks = _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, globals);\n 'beforeCreate beforeOpen beforeSend error complete success statusCode'.split(' ').forEach(function (callbackName) {\n delete globalsNoCallbacks[callbackName];\n });\n var defaults = _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({\n url: ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].location.toString(),\n method: 'GET',\n data: false,\n async: true,\n cache: true,\n user: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n processData: true,\n dataType: 'text',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0\n }, globalsNoCallbacks);\n var options = _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend({}, defaults, requestOptions);\n var proceedRequest; // Function to run XHR callbacks and events\n\n function fireCallback(callbackName) {\n /*\n Callbacks:\n beforeCreate (options),\n beforeOpen (xhr, options),\n beforeSend (xhr, options),\n error (xhr, status),\n complete (xhr, stautus),\n success (response, status, xhr),\n statusCode ()\n */\n var globalCallbackValue;\n var optionCallbackValue;\n\n for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n data[_key - 1] = arguments[_key];\n }\n\n if (globals[callbackName]) {\n globalCallbackValue = globals[callbackName].apply(globals, data);\n }\n\n if (options[callbackName]) {\n optionCallbackValue = options[callbackName].apply(options, data);\n }\n\n if (typeof globalCallbackValue !== 'boolean') globalCallbackValue = true;\n if (typeof optionCallbackValue !== 'boolean') optionCallbackValue = true;\n return globalCallbackValue && optionCallbackValue;\n } // Before create callback\n\n\n proceedRequest = fireCallback('beforeCreate', options);\n if (proceedRequest === false) return undefined; // For jQuery guys\n\n if (options.type) options.method = options.type; // Parameters Prefix\n\n var paramsPrefix = options.url.indexOf('?') >= 0 ? '&' : '?'; // UC method\n\n var method = options.method.toUpperCase(); // Data to modify GET URL\n\n if ((method === 'GET' || method === 'HEAD' || method === 'OPTIONS' || method === 'DELETE') && options.data) {\n var stringData;\n\n if (typeof options.data === 'string') {\n // Should be key=value string\n if (options.data.indexOf('?') >= 0) stringData = options.data.split('?')[1];else stringData = options.data;\n } else {\n // Should be key=value object\n stringData = _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].serializeObject(options.data);\n }\n\n if (stringData.length) {\n options.url += paramsPrefix + stringData;\n if (paramsPrefix === '?') paramsPrefix = '&';\n }\n } // JSONP\n\n\n if (options.dataType === 'json' && options.url.indexOf('callback=') >= 0) {\n var callbackName = \"f7jsonp_\".concat(Date.now() + (jsonpRequests += 1));\n var abortTimeout;\n var callbackSplit = options.url.split('callback=');\n var requestUrl = \"\".concat(callbackSplit[0], \"callback=\").concat(callbackName);\n\n if (callbackSplit[1].indexOf('&') >= 0) {\n var addVars = callbackSplit[1].split('&').filter(function (el) {\n return el.indexOf('=') > 0;\n }).join('&');\n if (addVars.length > 0) requestUrl += \"&\".concat(addVars);\n } // Create script\n\n\n var script = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('script');\n script.type = 'text/javascript';\n\n script.onerror = function onerror() {\n clearTimeout(abortTimeout);\n fireCallback('error', null, 'scripterror');\n fireCallback('complete', null, 'scripterror');\n };\n\n script.src = requestUrl; // Handler\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"][callbackName] = function jsonpCallback(data) {\n clearTimeout(abortTimeout);\n fireCallback('success', data);\n script.parentNode.removeChild(script);\n script = null;\n delete ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"][callbackName];\n };\n\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].querySelector('head').appendChild(script);\n\n if (options.timeout > 0) {\n abortTimeout = setTimeout(function () {\n script.parentNode.removeChild(script);\n script = null;\n fireCallback('error', null, 'timeout');\n }, options.timeout);\n }\n\n return undefined;\n } // Cache for GET/HEAD requests\n\n\n if (method === 'GET' || method === 'HEAD' || method === 'OPTIONS' || method === 'DELETE') {\n if (options.cache === false) {\n options.url += \"\".concat(paramsPrefix, \"_nocache\").concat(Date.now());\n }\n } // Create XHR\n\n\n var xhr = new XMLHttpRequest(); // Save Request URL\n\n xhr.requestUrl = options.url;\n xhr.requestParameters = options; // Before open callback\n\n proceedRequest = fireCallback('beforeOpen', xhr, options);\n if (proceedRequest === false) return xhr; // Open XHR\n\n xhr.open(method, options.url, options.async, options.user, options.password); // Create POST Data\n\n var postData = null;\n\n if ((method === 'POST' || method === 'PUT' || method === 'PATCH') && options.data) {\n if (options.processData) {\n var postDataInstances = [ArrayBuffer, Blob, Document, FormData]; // Post Data\n\n if (postDataInstances.indexOf(options.data.constructor) >= 0) {\n postData = options.data;\n } else {\n // POST Headers\n var boundary = \"---------------------------\".concat(Date.now().toString(16));\n\n if (options.contentType === 'multipart/form-data') {\n xhr.setRequestHeader('Content-Type', \"multipart/form-data; boundary=\".concat(boundary));\n } else {\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n\n postData = '';\n var data = _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].serializeObject(options.data);\n\n if (options.contentType === 'multipart/form-data') {\n data = data.split('&');\n var newData = [];\n\n for (var i = 0; i < data.length; i += 1) {\n newData.push(\"Content-Disposition: form-data; name=\\\"\".concat(data[i].split('=')[0], \"\\\"\\r\\n\\r\\n\").concat(data[i].split('=')[1], \"\\r\\n\"));\n }\n\n postData = \"--\".concat(boundary, \"\\r\\n\").concat(newData.join(\"--\".concat(boundary, \"\\r\\n\")), \"--\").concat(boundary, \"--\\r\\n\");\n } else if (options.contentType === 'application/json') {\n postData = JSON.stringify(options.data);\n } else {\n postData = data;\n }\n }\n } else {\n postData = options.data;\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n }\n\n if (options.dataType === 'json' && (!options.headers || !options.headers.Accept)) {\n xhr.setRequestHeader('Accept', 'application/json');\n } // Additional headers\n\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (headerName) {\n xhr.setRequestHeader(headerName, options.headers[headerName]);\n });\n } // Check for crossDomain\n\n\n if (typeof options.crossDomain === 'undefined') {\n // eslint-disable-next-line\n options.crossDomain = /^([\\w-]+:)?\\/\\/([^\\/]+)/.test(options.url) && RegExp.$2 !== ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].location.host;\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n if (options.xhrFields) {\n _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(xhr, options.xhrFields);\n }\n\n var xhrTimeout; // Handle XHR\n\n xhr.onload = function onload() {\n if (xhrTimeout) clearTimeout(xhrTimeout);\n\n if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 0) {\n var responseData;\n\n if (options.dataType === 'json') {\n var parseError;\n\n try {\n responseData = JSON.parse(xhr.responseText);\n } catch (err) {\n parseError = true;\n }\n\n if (!parseError) {\n fireCallback('success', responseData, xhr.status, xhr);\n } else {\n fireCallback('error', xhr, 'parseerror');\n }\n } else {\n responseData = xhr.responseType === 'text' || xhr.responseType === '' ? xhr.responseText : xhr.response;\n fireCallback('success', responseData, xhr.status, xhr);\n }\n } else {\n fireCallback('error', xhr, xhr.status);\n }\n\n if (options.statusCode) {\n if (globals.statusCode && globals.statusCode[xhr.status]) globals.statusCode[xhr.status](xhr);\n if (options.statusCode[xhr.status]) options.statusCode[xhr.status](xhr);\n }\n\n fireCallback('complete', xhr, xhr.status);\n };\n\n xhr.onerror = function onerror() {\n if (xhrTimeout) clearTimeout(xhrTimeout);\n fireCallback('error', xhr, xhr.status);\n fireCallback('complete', xhr, 'error');\n }; // Timeout\n\n\n if (options.timeout > 0) {\n xhr.onabort = function onabort() {\n if (xhrTimeout) clearTimeout(xhrTimeout);\n };\n\n xhrTimeout = setTimeout(function () {\n xhr.abort();\n fireCallback('error', xhr, 'timeout');\n fireCallback('complete', xhr, 'timeout');\n }, options.timeout);\n } // Ajax start callback\n\n\n proceedRequest = fireCallback('beforeSend', xhr, options);\n if (proceedRequest === false) return xhr; // Send XHR\n\n xhr.send(postData); // Return XHR object\n\n return xhr;\n}\n\nfunction RequestShortcut(method) {\n var _ref = [],\n url = _ref[0],\n data = _ref[1],\n success = _ref[2],\n error = _ref[3],\n dataType = _ref[4];\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n if (typeof args[1] === 'function') {\n url = args[0];\n success = args[1];\n error = args[2];\n dataType = args[3];\n } else {\n url = args[0];\n data = args[1];\n success = args[2];\n error = args[3];\n dataType = args[4];\n }\n\n [success, error].forEach(function (callback) {\n if (typeof callback === 'string') {\n dataType = callback;\n if (callback === success) success = undefined;else error = undefined;\n }\n });\n dataType = dataType || (method === 'json' || method === 'postJSON' ? 'json' : undefined);\n var requestOptions = {\n url: url,\n method: method === 'post' || method === 'postJSON' ? 'POST' : 'GET',\n data: data,\n success: success,\n error: error,\n dataType: dataType\n };\n\n if (method === 'postJSON') {\n _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(requestOptions, {\n contentType: 'application/json',\n processData: false,\n crossDomain: true,\n data: typeof data === 'string' ? data : JSON.stringify(data)\n });\n }\n\n return Request(requestOptions);\n}\n\nfunction RequestShortcutPromise(method) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n var url = args[0],\n data = args[1],\n dataType = args[2];\n return new Promise(function (resolve, reject) {\n RequestShortcut(method, url, data, function (response) {\n resolve(response);\n }, function (xhr, status) {\n reject(status);\n }, dataType);\n });\n}\n\nObject.assign(Request, {\n get: function get() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return RequestShortcut.apply(void 0, ['get'].concat(args));\n },\n post: function post() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return RequestShortcut.apply(void 0, ['post'].concat(args));\n },\n json: function json() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return RequestShortcut.apply(void 0, ['json'].concat(args));\n },\n getJSON: function getJSON() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return RequestShortcut.apply(void 0, ['json'].concat(args));\n },\n postJSON: function postJSON() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n return RequestShortcut.apply(void 0, ['postJSON'].concat(args));\n }\n});\n\nRequest.promise = function requestPromise(requestOptions) {\n return new Promise(function (resolve, reject) {\n Request(Object.assign(requestOptions, {\n success: function success(data) {\n resolve(data);\n },\n error: function error(xhr, status) {\n reject(status);\n }\n }));\n });\n};\n\nObject.assign(Request.promise, {\n get: function get() {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n return RequestShortcutPromise.apply(void 0, ['get'].concat(args));\n },\n post: function post() {\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n args[_key10] = arguments[_key10];\n }\n\n return RequestShortcutPromise.apply(void 0, ['post'].concat(args));\n },\n json: function json() {\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n args[_key11] = arguments[_key11];\n }\n\n return RequestShortcutPromise.apply(void 0, ['json'].concat(args));\n },\n getJSON: function getJSON() {\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\n args[_key12] = arguments[_key12];\n }\n\n return RequestShortcutPromise.apply(void 0, ['json'].concat(args));\n },\n postJSON: function postJSON() {\n for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {\n args[_key13] = arguments[_key13];\n }\n\n return RequestShortcutPromise.apply(void 0, ['postJSON'].concat(args));\n }\n});\n\nRequest.setup = function setup(options) {\n if (options.type && !options.method) {\n _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(options, {\n method: options.type\n });\n }\n\n _utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"].extend(globals, options);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Request);\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/request.js?");
  2250. /***/ }),
  2251. /***/ "./node_modules/framework7/utils/support.js":
  2252. /*!**************************************************!*\
  2253. !*** ./node_modules/framework7/utils/support.js ***!
  2254. \**************************************************/
  2255. /*! exports provided: default */
  2256. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2257. "use strict";
  2258. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n\n\nvar Support = function Support() {\n var testDiv = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('div');\n return {\n touch: function checkTouch() {\n return !!(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.maxTouchPoints > 0 || 'ontouchstart' in ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"] || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].DocumentTouch && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"] instanceof ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].DocumentTouch);\n }(),\n pointerEvents: !!(ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.pointerEnabled || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].PointerEvent || 'maxTouchPoints' in ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.maxTouchPoints > 0),\n prefixedPointerEvents: !!ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].navigator.msPointerEnabled,\n transition: function checkTransition() {\n var style = testDiv.style;\n return 'transition' in style || 'webkitTransition' in style || 'MozTransition' in style;\n }(),\n transforms3d: ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].Modernizr && ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].Modernizr.csstransforms3d === true || function checkTransforms3d() {\n var style = testDiv.style;\n return 'webkitPerspective' in style || 'MozPerspective' in style || 'OPerspective' in style || 'MsPerspective' in style || 'perspective' in style;\n }(),\n flexbox: function checkFlexbox() {\n var div = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"document\"].createElement('div').style;\n var styles = 'alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient'.split(' ');\n\n for (var i = 0; i < styles.length; i += 1) {\n if (styles[i] in div) return true;\n }\n\n return false;\n }(),\n observer: function checkObserver() {\n return 'MutationObserver' in ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"] || 'WebkitMutationObserver' in ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"];\n }(),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\n }\n });\n ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"];\n }(),\n intersectionObserver: function checkObserver() {\n return 'IntersectionObserver' in ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"];\n }()\n };\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Support);\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/support.js?");
  2259. /***/ }),
  2260. /***/ "./node_modules/framework7/utils/utils.js":
  2261. /*!************************************************!*\
  2262. !*** ./node_modules/framework7/utils/utils.js ***!
  2263. \************************************************/
  2264. /*! exports provided: default */
  2265. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2266. "use strict";
  2267. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ \"./node_modules/ssr-window/dist/ssr-window.esm.js\");\n/* harmony import */ var _bezier__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bezier */ \"./node_modules/framework7/utils/bezier.js\");\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint no-control-regex: \"off\" */\n\n // Remove Diacritics\n\nvar defaultDiacriticsRemovalap = [{\n base: 'A',\n letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n base: 'AA',\n letters: \"\\uA732\"\n}, {\n base: 'AE',\n letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n base: 'AO',\n letters: \"\\uA734\"\n}, {\n base: 'AU',\n letters: \"\\uA736\"\n}, {\n base: 'AV',\n letters: \"\\uA738\\uA73A\"\n}, {\n base: 'AY',\n letters: \"\\uA73C\"\n}, {\n base: 'B',\n letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n base: 'C',\n letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n base: 'D',\n letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n base: 'DZ',\n letters: \"\\u01F1\\u01C4\"\n}, {\n base: 'Dz',\n letters: \"\\u01F2\\u01C5\"\n}, {\n base: 'E',\n letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n base: 'F',\n letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n base: 'G',\n letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n base: 'H',\n letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n base: 'I',\n letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n base: 'J',\n letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n base: 'K',\n letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n base: 'L',\n letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n base: 'LJ',\n letters: \"\\u01C7\"\n}, {\n base: 'Lj',\n letters: \"\\u01C8\"\n}, {\n base: 'M',\n letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n base: 'N',\n letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n base: 'NJ',\n letters: \"\\u01CA\"\n}, {\n base: 'Nj',\n letters: \"\\u01CB\"\n}, {\n base: 'O',\n letters: \"O\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\"\n}, {\n base: 'OI',\n letters: \"\\u01A2\"\n}, {\n base: 'OO',\n letters: \"\\uA74E\"\n}, {\n base: 'OU',\n letters: \"\\u0222\"\n}, {\n base: 'OE',\n letters: \"\\x8C\\u0152\"\n}, {\n base: 'oe',\n letters: \"\\x9C\\u0153\"\n}, {\n base: 'P',\n letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n base: 'Q',\n letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n base: 'R',\n letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n base: 'S',\n letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n base: 'T',\n letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n base: 'TZ',\n letters: \"\\uA728\"\n}, {\n base: 'U',\n letters: \"U\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\"\n}, {\n base: 'V',\n letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n base: 'VY',\n letters: \"\\uA760\"\n}, {\n base: 'W',\n letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n base: 'X',\n letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n base: 'Y',\n letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n base: 'Z',\n letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n base: 'a',\n letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n base: 'aa',\n letters: \"\\uA733\"\n}, {\n base: 'ae',\n letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n base: 'ao',\n letters: \"\\uA735\"\n}, {\n base: 'au',\n letters: \"\\uA737\"\n}, {\n base: 'av',\n letters: \"\\uA739\\uA73B\"\n}, {\n base: 'ay',\n letters: \"\\uA73D\"\n}, {\n base: 'b',\n letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n base: 'c',\n letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n base: 'd',\n letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n base: 'dz',\n letters: \"\\u01F3\\u01C6\"\n}, {\n base: 'e',\n letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n base: 'f',\n letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n base: 'g',\n letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n base: 'h',\n letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n base: 'hv',\n letters: \"\\u0195\"\n}, {\n base: 'i',\n letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n base: 'j',\n letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n base: 'k',\n letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n base: 'l',\n letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n base: 'lj',\n letters: \"\\u01C9\"\n}, {\n base: 'm',\n letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n base: 'n',\n letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n base: 'nj',\n letters: \"\\u01CC\"\n}, {\n base: 'o',\n letters: \"o\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n base: 'oi',\n letters: \"\\u01A3\"\n}, {\n base: 'ou',\n letters: \"\\u0223\"\n}, {\n base: 'oo',\n letters: \"\\uA74F\"\n}, {\n base: 'p',\n letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n base: 'q',\n letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n base: 'r',\n letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n base: 's',\n letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n base: 't',\n letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n base: 'tz',\n letters: \"\\uA729\"\n}, {\n base: 'u',\n letters: \"u\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\"\n}, {\n base: 'v',\n letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n base: 'vy',\n letters: \"\\uA761\"\n}, {\n base: 'w',\n letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n base: 'x',\n letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n base: 'y',\n letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n base: 'z',\n letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar diacriticsMap = {};\n\nfor (var i = 0; i < defaultDiacriticsRemovalap.length; i += 1) {\n var letters = defaultDiacriticsRemovalap[i].letters;\n\n for (var j = 0; j < letters.length; j += 1) {\n diacriticsMap[letters[j]] = defaultDiacriticsRemovalap[i].base;\n }\n}\n\nvar _uniqueNumber = 1;\nvar Utils = {\n uniqueNumber: function uniqueNumber() {\n _uniqueNumber += 1;\n return _uniqueNumber;\n },\n id: function id() {\n var mask = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'xxxxxxxxxx';\n var map = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '0123456789abcdef';\n var length = map.length;\n return mask.replace(/x/g, function () {\n return map[Math.floor(Math.random() * length)];\n });\n },\n mdPreloaderContent: \"\\n <span class=\\\"preloader-inner\\\">\\n <span class=\\\"preloader-inner-gap\\\"></span>\\n <span class=\\\"preloader-inner-left\\\">\\n <span class=\\\"preloader-inner-half-circle\\\"></span>\\n </span>\\n <span class=\\\"preloader-inner-right\\\">\\n <span class=\\\"preloader-inner-half-circle\\\"></span>\\n </span>\\n </span>\\n \".trim(),\n iosPreloaderContent: \"\\n <span class=\\\"preloader-inner\\\">\\n \".concat([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(function () {\n return '<span class=\"preloader-inner-line\"></span>';\n }).join(''), \"\\n </span>\\n \").trim(),\n auroraPreloaderContent: \"\\n <span class=\\\"preloader-inner\\\">\\n <span class=\\\"preloader-inner-circle\\\"></span>\\n </span>\\n \",\n eventNameToColonCase: function eventNameToColonCase(eventName) {\n var hasColon;\n return eventName.split('').map(function (char, index) {\n if (char.match(/[A-Z]/) && index !== 0 && !hasColon) {\n hasColon = true;\n return \":\".concat(char.toLowerCase());\n }\n\n return char.toLowerCase();\n }).join('');\n },\n deleteProps: function deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {// no setter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n },\n bezier: function bezier() {\n return _bezier__WEBPACK_IMPORTED_MODULE_1__[\"default\"].apply(void 0, arguments);\n },\n nextTick: function nextTick(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return setTimeout(callback, delay);\n },\n nextFrame: function nextFrame(callback) {\n return Utils.requestAnimationFrame(function () {\n Utils.requestAnimationFrame(callback);\n });\n },\n now: function now() {\n return Date.now();\n },\n requestAnimationFrame: function requestAnimationFrame(callback) {\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].requestAnimationFrame(callback);\n },\n cancelAnimationFrame: function cancelAnimationFrame(id) {\n return ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].cancelAnimationFrame(id);\n },\n removeDiacritics: function removeDiacritics(str) {\n return str.replace(/[^\\u0000-\\u007E]/g, function (a) {\n return diacriticsMap[a] || a;\n });\n },\n parseUrlQuery: function parseUrlQuery(url) {\n var query = {};\n var urlToParse = url || ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].location.href;\n var i;\n var params;\n var param;\n var length;\n\n if (typeof urlToParse === 'string' && urlToParse.length) {\n urlToParse = urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\\S*\\?/, '') : '';\n params = urlToParse.split('&').filter(function (paramsPart) {\n return paramsPart !== '';\n });\n length = params.length;\n\n for (i = 0; i < length; i += 1) {\n param = params[i].replace(/#\\S+/g, '').split('=');\n query[decodeURIComponent(param[0])] = typeof param[1] === 'undefined' ? undefined : decodeURIComponent(param.slice(1).join('=')) || '';\n }\n }\n\n return query;\n },\n getTranslate: function getTranslate(el) {\n var axis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'x';\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].getComputedStyle(el, null);\n\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (ssr_window__WEBPACK_IMPORTED_MODULE_0__[\"window\"].WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n },\n serializeObject: function serializeObject(obj) {\n var parents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n if (typeof obj === 'string') return obj;\n var resultArray = [];\n var separator = '&';\n var newParents;\n\n function varName(name) {\n if (parents.length > 0) {\n var parentParts = '';\n\n for (var _j = 0; _j < parents.length; _j += 1) {\n if (_j === 0) parentParts += parents[_j];else parentParts += \"[\".concat(encodeURIComponent(parents[_j]), \"]\");\n }\n\n return \"\".concat(parentParts, \"[\").concat(encodeURIComponent(name), \"]\");\n }\n\n return encodeURIComponent(name);\n }\n\n function varValue(value) {\n return encodeURIComponent(value);\n }\n\n Object.keys(obj).forEach(function (prop) {\n var toPush;\n\n if (Array.isArray(obj[prop])) {\n toPush = [];\n\n for (var _i = 0; _i < obj[prop].length; _i += 1) {\n if (!Array.isArray(obj[prop][_i]) && _typeof(obj[prop][_i]) === 'object') {\n newParents = parents.slice();\n newParents.push(prop);\n newParents.push(String(_i));\n toPush.push(Utils.serializeObject(obj[prop][_i], newParents));\n } else {\n toPush.push(\"\".concat(varName(prop), \"[]=\").concat(varValue(obj[prop][_i])));\n }\n }\n\n if (toPush.length > 0) resultArray.push(toPush.join(separator));\n } else if (obj[prop] === null || obj[prop] === '') {\n resultArray.push(\"\".concat(varName(prop), \"=\"));\n } else if (_typeof(obj[prop]) === 'object') {\n // Object, convert to named array\n newParents = parents.slice();\n newParents.push(prop);\n toPush = Utils.serializeObject(obj[prop], newParents);\n if (toPush !== '') resultArray.push(toPush);\n } else if (typeof obj[prop] !== 'undefined' && obj[prop] !== '') {\n // Should be string or plain value\n resultArray.push(\"\".concat(varName(prop), \"=\").concat(varValue(obj[prop])));\n } else if (obj[prop] === '') resultArray.push(varName(prop));\n });\n return resultArray.join(separator);\n },\n isObject: function isObject(o) {\n return _typeof(o) === 'object' && o !== null && o.constructor && o.constructor === Object;\n },\n merge: function merge() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var to = args[0];\n args.splice(0, 1);\n var from = args;\n\n for (var _i2 = 0; _i2 < from.length; _i2 += 1) {\n var nextSource = args[_i2];\n\n if (nextSource !== undefined && nextSource !== null) {\n var keysArray = Object.keys(Object(nextSource));\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n\n return to;\n },\n extend: function extend() {\n var deep = true;\n var to;\n var from;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'boolean') {\n deep = args[0];\n to = args[1];\n args.splice(0, 2);\n from = args;\n } else {\n to = args[0];\n args.splice(0, 1);\n from = args;\n }\n\n for (var _i3 = 0; _i3 < from.length; _i3 += 1) {\n var nextSource = args[_i3];\n\n if (nextSource !== undefined && nextSource !== null) {\n var keysArray = Object.keys(Object(nextSource));\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (!deep) {\n to[nextKey] = nextSource[nextKey];\n } else if (Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {\n Utils.extend(to[nextKey], nextSource[nextKey]);\n } else if (!Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n Utils.extend(to[nextKey], nextSource[nextKey]);\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n },\n colorHexToRgb: function colorHexToRgb(hex) {\n var h = hex.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i, function (m, r, g, b) {\n return r + r + g + g + b + b;\n });\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(h);\n return result ? result.slice(1).map(function (n) {\n return parseInt(n, 16);\n }) : null;\n },\n colorRgbToHex: function colorRgbToHex(r, g, b) {\n var result = [r, g, b].map(function (n) {\n var hex = n.toString(16);\n return hex.length === 1 ? \"0\".concat(hex) : hex;\n }).join('');\n return \"#\".concat(result);\n },\n colorRgbToHsl: function colorRgbToHsl(r, g, b) {\n r /= 255; // eslint-disable-line\n\n g /= 255; // eslint-disable-line\n\n b /= 255; // eslint-disable-line\n\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n if (d === 0) h = 0;else if (max === r) h = (g - b) / d % 6;else if (max === g) h = (b - r) / d + 2;else if (max === b) h = (r - g) / d + 4;\n var l = (min + max) / 2;\n var s = d === 0 ? 0 : d / (1 - Math.abs(2 * l - 1));\n if (h < 0) h = 360 / 60 + h;\n return [h * 60, s, l];\n },\n colorHslToRgb: function colorHslToRgb(h, s, l) {\n var c = (1 - Math.abs(2 * l - 1)) * s;\n var hp = h / 60;\n var x = c * (1 - Math.abs(hp % 2 - 1));\n var rgb1;\n\n if (Number.isNaN(h) || typeof h === 'undefined') {\n rgb1 = [0, 0, 0];\n } else if (hp <= 1) rgb1 = [c, x, 0];else if (hp <= 2) rgb1 = [x, c, 0];else if (hp <= 3) rgb1 = [0, c, x];else if (hp <= 4) rgb1 = [0, x, c];else if (hp <= 5) rgb1 = [x, 0, c];else if (hp <= 6) rgb1 = [c, 0, x];\n\n var m = l - c / 2;\n return rgb1.map(function (n) {\n return Math.max(0, Math.min(255, Math.round(255 * (n + m))));\n });\n },\n colorHsbToHsl: function colorHsbToHsl(h, s, b) {\n var HSL = {\n h: h,\n s: 0,\n l: 0\n };\n var HSB = {\n h: h,\n s: s,\n b: b\n };\n HSL.l = (2 - HSB.s) * HSB.b / 2;\n HSL.s = HSL.l && HSL.l < 1 ? HSB.s * HSB.b / (HSL.l < 0.5 ? HSL.l * 2 : 2 - HSL.l * 2) : HSL.s;\n return [HSL.h, HSL.s, HSL.l];\n },\n colorHslToHsb: function colorHslToHsb(h, s, l) {\n var HSB = {\n h: h,\n s: 0,\n b: 0\n };\n var HSL = {\n h: h,\n s: s,\n l: l\n };\n var t = HSL.s * (HSL.l < 0.5 ? HSL.l : 1 - HSL.l);\n HSB.b = HSL.l + t;\n HSB.s = HSL.l > 0 ? 2 * t / HSB.b : HSB.s;\n return [HSB.h, HSB.s, HSB.b];\n },\n colorThemeCSSProperties: function colorThemeCSSProperties() {\n var hex;\n var rgb;\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (args.length === 1) {\n hex = args[0];\n rgb = Utils.colorHexToRgb(hex);\n } else if (args.length === 3) {\n rgb = args;\n hex = Utils.colorRgbToHex.apply(Utils, _toConsumableArray(rgb));\n }\n\n if (!rgb) return {};\n var hsl = Utils.colorRgbToHsl.apply(Utils, _toConsumableArray(rgb));\n var hslShade = [hsl[0], hsl[1], Math.max(0, hsl[2] - 0.08)];\n var hslTint = [hsl[0], hsl[1], Math.max(0, hsl[2] + 0.08)];\n var shade = Utils.colorRgbToHex.apply(Utils, _toConsumableArray(Utils.colorHslToRgb.apply(Utils, hslShade)));\n var tint = Utils.colorRgbToHex.apply(Utils, _toConsumableArray(Utils.colorHslToRgb.apply(Utils, hslTint)));\n return {\n '--f7-theme-color': hex,\n '--f7-theme-color-rgb': rgb.join(', '),\n '--f7-theme-color-shade': shade,\n '--f7-theme-color-tint': tint\n };\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Utils);\n\n//# sourceURL=webpack:///./node_modules/framework7/utils/utils.js?");
  2268. /***/ }),
  2269. /***/ "./node_modules/path-to-regexp/index.js":
  2270. /*!**********************************************!*\
  2271. !*** ./node_modules/path-to-regexp/index.js ***!
  2272. \**********************************************/
  2273. /*! no static exports found */
  2274. /***/ (function(module, exports) {
  2275. eval("/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.match = match\nmodule.exports.regexpToFunction = regexpToFunction\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * Default configs.\n */\nvar DEFAULT_DELIMITER = '/'\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \":test(\\\\d+)?\" => [\"test\", \"\\d+\", undefined, \"?\"]\n // \"(\\\\d+)\" => [undefined, undefined, \"\\d+\", undefined]\n '(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = (options && options.delimiter) || DEFAULT_DELIMITER\n var whitelist = (options && options.whitelist) || undefined\n var pathEscaped = false\n var res\n\n while ((res = PATH_REGEXP.exec(str)) !== null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n pathEscaped = true\n continue\n }\n\n var prev = ''\n var name = res[2]\n var capture = res[3]\n var group = res[4]\n var modifier = res[5]\n\n if (!pathEscaped && path.length) {\n var k = path.length - 1\n var c = path[k]\n var matches = whitelist ? whitelist.indexOf(c) > -1 : true\n\n if (matches) {\n prev = c\n path = path.slice(0, k)\n }\n }\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n pathEscaped = false\n }\n\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var pattern = capture || group\n var delimiter = prev || defaultDelimiter\n\n tokens.push({\n name: name || key++,\n prefix: prev,\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n pattern: pattern\n ? escapeGroup(pattern)\n : '[^' + escapeString(delimiter === defaultDelimiter ? delimiter : (delimiter + defaultDelimiter)) + ']+?'\n })\n }\n\n // Push any remaining characters.\n if (path || index < str.length) {\n tokens.push(path + str.substr(index))\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nfunction match (str, options) {\n var keys = []\n var re = pathToRegexp(str, keys, options)\n return regexpToFunction(re, keys)\n}\n\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nfunction regexpToFunction (re, keys) {\n return function (pathname, options) {\n var m = re.exec(pathname)\n if (!m) return false\n\n var path = m[0]\n var index = m.index\n var params = {}\n var decode = (options && options.decode) || decodeURIComponent\n\n for (var i = 1; i < m.length; i++) {\n if (m[i] === undefined) continue\n\n var key = keys[i - 1]\n\n if (key.repeat) {\n params[key.name] = m[i].split(key.delimiter).map(function (value) {\n return decode(value, key)\n })\n } else {\n params[key.name] = decode(m[i], key)\n }\n }\n\n return { path: path, index: index, params: params }\n }\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (data, options) {\n var path = ''\n var encode = (options && options.encode) || encodeURIComponent\n var validate = options ? options.validate !== false : true\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n continue\n }\n\n var value = data ? data[token.name] : undefined\n var segment\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but got array')\n }\n\n if (value.length === 0) {\n if (token.optional) continue\n\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j], token)\n\n if (validate && !matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\"')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n segment = encode(String(value), token)\n\n if (validate && !matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but got \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n continue\n }\n\n if (token.optional) continue\n\n throw new TypeError('Expected \"' + token.name + '\" to be ' + (token.repeat ? 'an array' : 'a string'))\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {Array=} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n if (!keys) return path\n\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n pattern: null\n })\n }\n }\n\n return path\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n return new RegExp('(?:' + parts.join('|') + ')', flags(options))\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n options = options || {}\n\n var strict = options.strict\n var start = options.start !== false\n var end = options.end !== false\n var delimiter = options.delimiter || DEFAULT_DELIMITER\n var endsWith = [].concat(options.endsWith || []).map(escapeString).concat('$').join('|')\n var route = start ? '^' : ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var capture = token.repeat\n ? '(?:' + token.pattern + ')(?:' + escapeString(token.delimiter) + '(?:' + token.pattern + '))*'\n : token.pattern\n\n if (keys) keys.push(token)\n\n if (token.optional) {\n if (!token.prefix) {\n route += '(' + capture + ')?'\n } else {\n route += '(?:' + escapeString(token.prefix) + '(' + capture + '))?'\n }\n } else {\n route += escapeString(token.prefix) + '(' + capture + ')'\n }\n }\n }\n\n if (end) {\n if (!strict) route += '(?:' + escapeString(delimiter) + ')?'\n\n route += endsWith === '$' ? '$' : '(?=' + endsWith + ')'\n } else {\n var endToken = tokens[tokens.length - 1]\n var isEndDelimited = typeof endToken === 'string'\n ? endToken[endToken.length - 1] === delimiter\n : endToken === undefined\n\n if (!strict) route += '(?:' + escapeString(delimiter) + '(?=' + endsWith + '))?'\n if (!isEndDelimited) route += '(?=' + escapeString(delimiter) + '|' + endsWith + ')'\n }\n\n return new RegExp(route, flags(options))\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {Array=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (path instanceof RegExp) {\n return regexpToRegexp(path, keys)\n }\n\n if (Array.isArray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), keys, options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), keys, options)\n}\n\n\n//# sourceURL=webpack:///./node_modules/path-to-regexp/index.js?");
  2276. /***/ }),
  2277. /***/ "./node_modules/sortablejs/modular/sortable.complete.esm.js":
  2278. /*!******************************************************************!*\
  2279. !*** ./node_modules/sortablejs/modular/sortable.complete.esm.js ***!
  2280. \******************************************************************/
  2281. /*! exports provided: default */
  2282. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2283. "use strict";
  2284. eval("__webpack_require__.r(__webpack_exports__);\n/**!\n * Sortable 1.14.0\n * @author\tRubaXa <trash@rubaxa.org>\n * @author\towenm <owen23355@gmail.com>\n * @license MIT\n */\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar version = \"1.14.0\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !! /*@__PURE__*/navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\n * Returns the \"bounding client rect\" of given element\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\n * @param {[HTMLElement]} container The parent the element will be placed in\n * @return {Object} The boundingClientRect of el, with specified adjustments\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\n * Checks if a side of an element is scrolled past a side of its parents\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\n * and non-draggable elements\n * @param {HTMLElement} el The parent element\n * @param {Number} childNum The index of the child\n * @param {Object} options Parent Sortable's options\n * @return {HTMLElement} The child at index childNum, or null if not found\n */\n\n\nfunction getChild(el, childNum, options, includeDragEl) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\n * @param {HTMLElement} el Parent element\n * @param {selector} selector Any other elements that should be ignored\n * @return {HTMLElement} The last child, ignoring ghostEl\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\n * Returns the index of an element within its parent for a selected set of\n * elements\n * @param {HTMLElement} el\n * @param {selector} selector\n * @return {number}\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\n * The value is returned in real pixels.\n * @param {HTMLElement} el\n * @return {Array} Offsets in the format of [left, top]\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\n * Returns the index of the object within the given array\n * @param {Array} arr Array that may or may not hold the object\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\n * @return {Number} The index of the object in the array, or -1\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n this.forRepaintDummy = repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.forEach(function (p) {\n if (p.pluginName === plugin.pluginName) {\n throw \"Sortable: Cannot mount plugin \".concat(plugin.pluginName, \" more than once\");\n }\n });\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread2({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar _excluded = [\"evt\"];\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, _excluded);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread2({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\n * @param {Number} x X position\n * @param {Number} y Y position\n * @return {HTMLElement} Element of the first found nearest Sortable\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n var threshold = sortable[expando].options.emptyInsertThreshold;\n if (!threshold || lastChild(sortable)) return;\n var rect = getRect(sortable),\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\n * @class Sortable\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && !Safari,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n } // Safari ignores further event handling after mousedown\n\n\n if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread2({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // Insert to end of list\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // if there is a last element, it is the target\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n el.appendChild(dragEl);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {\n // Insert to start of list\n var firstChild = getChild(el, 0, options, true);\n\n if (firstChild === dragEl) {\n return completed(false);\n }\n\n target = firstChild;\n targetRect = getRect(target);\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {\n capture();\n el.insertBefore(dragEl, firstChild);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\n * Serializes the item into an array of string.\n * @returns {String[]}\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\n * Sorts the elements according to the array.\n * @param {String[]} order order of the items\n */\n sort: function sort(order, useAnimation) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n useAnimation && this.captureAnimationState();\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n useAnimation && this.animateAll();\n },\n\n /**\n * Save the current sorting\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\n * @param {HTMLElement} el\n * @param {String} [selector] default: `options.draggable`\n * @returns {HTMLElement|null}\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\n * Set/get option\n * @param {string} name\n * @param {*} [value]\n * @returns {*}\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\n * Destroy\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsFirst(evt, vertical, sortable) {\n var rect = getRect(getChild(sortable.el, 0, sortable.options, true));\n var spacer = 10;\n return vertical ? evt.clientX < rect.left - spacer || evt.clientY < rect.top && evt.clientX < rect.right : evt.clientY < rect.top - spacer || evt.clientY < rect.bottom && evt.clientX < rect.left;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\n * Gets the direction dragEl must be swapped relative to target in order to make it\n * seem that dragEl has been \"inserted\" into that element's position\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\n * @return {Number} Direction dragEl must be swapped\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\n * Generate id\n * @param {HTMLElement} el\n * @returns {String}\n * @private\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\n * Get the Sortable instance of an element\n * @param {HTMLElement} element The element\n * @return {Sortable|undefined} The instance of Sortable\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\n * Mount a plugin to Sortable\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\n * Create sortable instance\n * @param {HTMLElement} el\n * @param {Object} [options]\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n forceAutoScrollFallback: false,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvt: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvt: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvt: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n folding = false; // Do not \"unfold\" after around dragEl if reverted\n\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvt: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\n * Selects the provided multi-drag item\n * @param {HTMLElement} el The element to be selected\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\n * Deselects the provided multi-drag item\n * @param {HTMLElement} el The element to be deselected\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\n * Insert multi-drag clones\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\n * @param {HTMLElement} rootEl\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nSortable.mount(new SwapPlugin());\nSortable.mount(new MultiDragPlugin());\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Sortable);\n\n\n//# sourceURL=webpack:///./node_modules/sortablejs/modular/sortable.complete.esm.js?");
  2285. /***/ }),
  2286. /***/ "./node_modules/ssr-window/dist/ssr-window.esm.js":
  2287. /*!********************************************************!*\
  2288. !*** ./node_modules/ssr-window/dist/ssr-window.esm.js ***!
  2289. \********************************************************/
  2290. /*! exports provided: window, document */
  2291. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2292. "use strict";
  2293. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"window\", function() { return win; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"document\", function() { return doc; });\n/**\n * SSR Window 1.0.1\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2018, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: July 18, 2018\n */\nvar doc = typeof document === 'undefined' ? {\n body: {},\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n activeElement: {\n blur: function blur() {},\n nodeName: ''\n },\n querySelector: function querySelector() {\n return null;\n },\n querySelectorAll: function querySelectorAll() {\n return [];\n },\n getElementById: function getElementById() {\n return null;\n },\n createEvent: function createEvent() {\n return {\n initEvent: function initEvent() {}\n };\n },\n createElement: function createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function setAttribute() {},\n getElementsByTagName: function getElementsByTagName() {\n return [];\n }\n };\n },\n location: {\n hash: ''\n }\n} : document; // eslint-disable-line\n\nvar win = typeof window === 'undefined' ? {\n document: doc,\n navigator: {\n userAgent: ''\n },\n location: {},\n history: {},\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n getComputedStyle: function getComputedStyle() {\n return {\n getPropertyValue: function getPropertyValue() {\n return '';\n }\n };\n },\n Image: function Image() {},\n Date: function Date() {},\n screen: {},\n setTimeout: function setTimeout() {},\n clearTimeout: function clearTimeout() {}\n} : window; // eslint-disable-line\n\n\n\n//# sourceURL=webpack:///./node_modules/ssr-window/dist/ssr-window.esm.js?");
  2294. /***/ }),
  2295. /***/ "./node_modules/template7/dist/template7.esm.js":
  2296. /*!******************************************************!*\
  2297. !*** ./node_modules/template7/dist/template7.esm.js ***!
  2298. \******************************************************/
  2299. /*! exports provided: default */
  2300. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2301. "use strict";
  2302. eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n * Template7 1.4.1\n * Mobile-first HTML template engine\n * \n * http://www.idangero.us/template7/\n * \n * Copyright 2019, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n * \n * Licensed under MIT\n * \n * Released on: February 5, 2019\n */\nvar t7ctx;\n\nif (typeof window !== 'undefined') {\n t7ctx = window;\n} else if (typeof global !== 'undefined') {\n t7ctx = global;\n} else {\n t7ctx = undefined;\n}\n\nvar Template7Context = t7ctx;\nvar Template7Utils = {\n quoteSingleRexExp: new RegExp('\\'', 'g'),\n quoteDoubleRexExp: new RegExp('\"', 'g'),\n isFunction: function isFunction(func) {\n return typeof func === 'function';\n },\n escape: function escape() {\n var string = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return string.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;').replace(/'/g, '&#039;');\n },\n helperToSlices: function helperToSlices(string) {\n var quoteDoubleRexExp = Template7Utils.quoteDoubleRexExp,\n quoteSingleRexExp = Template7Utils.quoteSingleRexExp;\n var helperParts = string.replace(/[{}#}]/g, '').trim().split(' ');\n var slices = [];\n var shiftIndex;\n var i;\n var j;\n\n for (i = 0; i < helperParts.length; i += 1) {\n var part = helperParts[i];\n var blockQuoteRegExp = void 0;\n var openingQuote = void 0;\n if (i === 0) slices.push(part);else if (part.indexOf('\"') === 0 || part.indexOf('\\'') === 0) {\n blockQuoteRegExp = part.indexOf('\"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp;\n openingQuote = part.indexOf('\"') === 0 ? '\"' : '\\''; // Plain String\n\n if (part.match(blockQuoteRegExp).length === 2) {\n // One word string\n slices.push(part);\n } else {\n // Find closed Index\n shiftIndex = 0;\n\n for (j = i + 1; j < helperParts.length; j += 1) {\n part += \" \".concat(helperParts[j]);\n\n if (helperParts[j].indexOf(openingQuote) >= 0) {\n shiftIndex = j;\n slices.push(part);\n break;\n }\n }\n\n if (shiftIndex) i = shiftIndex;\n }\n } else if (part.indexOf('=') > 0) {\n // Hash\n var hashParts = part.split('=');\n var hashName = hashParts[0];\n var hashContent = hashParts[1];\n\n if (!blockQuoteRegExp) {\n blockQuoteRegExp = hashContent.indexOf('\"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp;\n openingQuote = hashContent.indexOf('\"') === 0 ? '\"' : '\\'';\n }\n\n if (hashContent.match(blockQuoteRegExp).length !== 2) {\n shiftIndex = 0;\n\n for (j = i + 1; j < helperParts.length; j += 1) {\n hashContent += \" \".concat(helperParts[j]);\n\n if (helperParts[j].indexOf(openingQuote) >= 0) {\n shiftIndex = j;\n break;\n }\n }\n\n if (shiftIndex) i = shiftIndex;\n }\n\n var hash = [hashName, hashContent.replace(blockQuoteRegExp, '')];\n slices.push(hash);\n } else {\n // Plain variable\n slices.push(part);\n }\n }\n\n return slices;\n },\n stringToBlocks: function stringToBlocks(string) {\n var blocks = [];\n var i;\n var j;\n if (!string) return [];\n var stringBlocks = string.split(/({{[^{^}]*}})/);\n\n for (i = 0; i < stringBlocks.length; i += 1) {\n var block = stringBlocks[i];\n if (block === '') continue;\n\n if (block.indexOf('{{') < 0) {\n blocks.push({\n type: 'plain',\n content: block\n });\n } else {\n if (block.indexOf('{/') >= 0) {\n continue;\n }\n\n block = block.replace(/{{([#/])*([ ])*/, '{{$1').replace(/([ ])*}}/, '}}');\n\n if (block.indexOf('{#') < 0 && block.indexOf(' ') < 0 && block.indexOf('else') < 0) {\n // Simple variable\n blocks.push({\n type: 'variable',\n contextName: block.replace(/[{}]/g, '')\n });\n continue;\n } // Helpers\n\n\n var helperSlices = Template7Utils.helperToSlices(block);\n var helperName = helperSlices[0];\n var isPartial = helperName === '>';\n var helperContext = [];\n var helperHash = {};\n\n for (j = 1; j < helperSlices.length; j += 1) {\n var slice = helperSlices[j];\n\n if (Array.isArray(slice)) {\n // Hash\n helperHash[slice[0]] = slice[1] === 'false' ? false : slice[1];\n } else {\n helperContext.push(slice);\n }\n }\n\n if (block.indexOf('{#') >= 0) {\n // Condition/Helper\n var helperContent = '';\n var elseContent = '';\n var toSkip = 0;\n var shiftIndex = void 0;\n var foundClosed = false;\n var foundElse = false;\n var depth = 0;\n\n for (j = i + 1; j < stringBlocks.length; j += 1) {\n if (stringBlocks[j].indexOf('{{#') >= 0) {\n depth += 1;\n }\n\n if (stringBlocks[j].indexOf('{{/') >= 0) {\n depth -= 1;\n }\n\n if (stringBlocks[j].indexOf(\"{{#\".concat(helperName)) >= 0) {\n helperContent += stringBlocks[j];\n if (foundElse) elseContent += stringBlocks[j];\n toSkip += 1;\n } else if (stringBlocks[j].indexOf(\"{{/\".concat(helperName)) >= 0) {\n if (toSkip > 0) {\n toSkip -= 1;\n helperContent += stringBlocks[j];\n if (foundElse) elseContent += stringBlocks[j];\n } else {\n shiftIndex = j;\n foundClosed = true;\n break;\n }\n } else if (stringBlocks[j].indexOf('else') >= 0 && depth === 0) {\n foundElse = true;\n } else {\n if (!foundElse) helperContent += stringBlocks[j];\n if (foundElse) elseContent += stringBlocks[j];\n }\n }\n\n if (foundClosed) {\n if (shiftIndex) i = shiftIndex;\n\n if (helperName === 'raw') {\n blocks.push({\n type: 'plain',\n content: helperContent\n });\n } else {\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n content: helperContent,\n inverseContent: elseContent,\n hash: helperHash\n });\n }\n }\n } else if (block.indexOf(' ') > 0) {\n if (isPartial) {\n helperName = '_partial';\n\n if (helperContext[0]) {\n if (helperContext[0].indexOf('[') === 0) helperContext[0] = helperContext[0].replace(/[[\\]]/g, '');else helperContext[0] = \"\\\"\".concat(helperContext[0].replace(/\"|'/g, ''), \"\\\"\");\n }\n }\n\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n hash: helperHash\n });\n }\n }\n }\n\n return blocks;\n },\n parseJsVariable: function parseJsVariable(expression, replace, object) {\n return expression.split(/([+ \\-*/^()&=|<>!%:?])/g).reduce(function (arr, part) {\n if (!part) {\n return arr;\n }\n\n if (part.indexOf(replace) < 0) {\n arr.push(part);\n return arr;\n }\n\n if (!object) {\n arr.push(JSON.stringify(''));\n return arr;\n }\n\n var variable = object;\n\n if (part.indexOf(\"\".concat(replace, \".\")) >= 0) {\n part.split(\"\".concat(replace, \".\"))[1].split('.').forEach(function (partName) {\n if (partName in variable) variable = variable[partName];else variable = undefined;\n });\n }\n\n if (typeof variable === 'string') {\n variable = JSON.stringify(variable);\n }\n\n if (variable === undefined) variable = 'undefined';\n arr.push(variable);\n return arr;\n }, []).join('');\n },\n parseJsParents: function parseJsParents(expression, parents) {\n return expression.split(/([+ \\-*^()&=|<>!%:?])/g).reduce(function (arr, part) {\n if (!part) {\n return arr;\n }\n\n if (part.indexOf('../') < 0) {\n arr.push(part);\n return arr;\n }\n\n if (!parents || parents.length === 0) {\n arr.push(JSON.stringify(''));\n return arr;\n }\n\n var levelsUp = part.split('../').length - 1;\n var parentData = levelsUp > parents.length ? parents[parents.length - 1] : parents[levelsUp - 1];\n var variable = parentData;\n var parentPart = part.replace(/..\\//g, '');\n parentPart.split('.').forEach(function (partName) {\n if (typeof variable[partName] !== 'undefined') variable = variable[partName];else variable = 'undefined';\n });\n\n if (variable === false || variable === true) {\n arr.push(JSON.stringify(variable));\n return arr;\n }\n\n if (variable === null || variable === 'undefined') {\n arr.push(JSON.stringify(''));\n return arr;\n }\n\n arr.push(JSON.stringify(variable));\n return arr;\n }, []).join('');\n },\n getCompileVar: function getCompileVar(name, ctx) {\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'data_1';\n var variable = ctx;\n var parts;\n var levelsUp = 0;\n var newDepth;\n\n if (name.indexOf('../') === 0) {\n levelsUp = name.split('../').length - 1;\n newDepth = variable.split('_')[1] - levelsUp;\n variable = \"ctx_\".concat(newDepth >= 1 ? newDepth : 1);\n parts = name.split('../')[levelsUp].split('.');\n } else if (name.indexOf('@global') === 0) {\n variable = 'Template7.global';\n parts = name.split('@global.')[1].split('.');\n } else if (name.indexOf('@root') === 0) {\n variable = 'root';\n parts = name.split('@root.')[1].split('.');\n } else {\n parts = name.split('.');\n }\n\n for (var i = 0; i < parts.length; i += 1) {\n var part = parts[i];\n\n if (part.indexOf('@') === 0) {\n var dataLevel = data.split('_')[1];\n\n if (levelsUp > 0) {\n dataLevel = newDepth;\n }\n\n if (i > 0) {\n variable += \"[(data_\".concat(dataLevel, \" && data_\").concat(dataLevel, \".\").concat(part.replace('@', ''), \")]\");\n } else {\n variable = \"(data_\".concat(dataLevel, \" && data_\").concat(dataLevel, \".\").concat(part.replace('@', ''), \")\");\n }\n } else if (Number.isFinite ? Number.isFinite(part) : Template7Context.isFinite(part)) {\n variable += \"[\".concat(part, \"]\");\n } else if (part === 'this' || part.indexOf('this.') >= 0 || part.indexOf('this[') >= 0 || part.indexOf('this(') >= 0) {\n variable = part.replace('this', ctx);\n } else {\n variable += \".\".concat(part);\n }\n }\n\n return variable;\n },\n getCompiledArguments: function getCompiledArguments(contextArray, ctx, data) {\n var arr = [];\n\n for (var i = 0; i < contextArray.length; i += 1) {\n if (/^['\"]/.test(contextArray[i])) arr.push(contextArray[i]);else if (/^(true|false|\\d+)$/.test(contextArray[i])) arr.push(contextArray[i]);else {\n arr.push(Template7Utils.getCompileVar(contextArray[i], ctx, data));\n }\n }\n\n return arr.join(', ');\n }\n};\n/* eslint no-eval: \"off\" */\n\nvar Template7Helpers = {\n _partial: function _partial(partialName, options) {\n var ctx = this;\n var p = Template7Class.partials[partialName];\n if (!p || p && !p.template) return '';\n\n if (!p.compiled) {\n p.compiled = new Template7Class(p.template).compile();\n }\n\n Object.keys(options.hash).forEach(function (hashName) {\n ctx[hashName] = options.hash[hashName];\n });\n return p.compiled(ctx, options.data, options.root);\n },\n escape: function escape(context) {\n if (typeof context !== 'string') {\n throw new Error('Template7: Passed context to \"escape\" helper should be a string');\n }\n\n return Template7Utils.escape(context);\n },\n if: function _if(context, options) {\n var ctx = context;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = ctx.call(this);\n }\n\n if (ctx) {\n return options.fn(this, options.data);\n }\n\n return options.inverse(this, options.data);\n },\n unless: function unless(context, options) {\n var ctx = context;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = ctx.call(this);\n }\n\n if (!ctx) {\n return options.fn(this, options.data);\n }\n\n return options.inverse(this, options.data);\n },\n each: function each(context, options) {\n var ctx = context;\n var ret = '';\n var i = 0;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = ctx.call(this);\n }\n\n if (Array.isArray(ctx)) {\n if (options.hash.reverse) {\n ctx = ctx.reverse();\n }\n\n for (i = 0; i < ctx.length; i += 1) {\n ret += options.fn(ctx[i], {\n first: i === 0,\n last: i === ctx.length - 1,\n index: i\n });\n }\n\n if (options.hash.reverse) {\n ctx = ctx.reverse();\n }\n } else {\n // eslint-disable-next-line\n for (var key in ctx) {\n i += 1;\n ret += options.fn(ctx[key], {\n key: key\n });\n }\n }\n\n if (i > 0) return ret;\n return options.inverse(this);\n },\n with: function _with(context, options) {\n var ctx = context;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = context.call(this);\n }\n\n return options.fn(ctx);\n },\n join: function join(context, options) {\n var ctx = context;\n\n if (Template7Utils.isFunction(ctx)) {\n ctx = ctx.call(this);\n }\n\n return ctx.join(options.hash.delimiter || options.hash.delimeter);\n },\n js: function js(expression, options) {\n var data = options.data;\n var func;\n var execute = expression;\n 'index first last key'.split(' ').forEach(function (prop) {\n if (typeof data[prop] !== 'undefined') {\n var re1 = new RegExp(\"this.@\".concat(prop), 'g');\n var re2 = new RegExp(\"@\".concat(prop), 'g');\n execute = execute.replace(re1, JSON.stringify(data[prop])).replace(re2, JSON.stringify(data[prop]));\n }\n });\n\n if (options.root && execute.indexOf('@root') >= 0) {\n execute = Template7Utils.parseJsVariable(execute, '@root', options.root);\n }\n\n if (execute.indexOf('@global') >= 0) {\n execute = Template7Utils.parseJsVariable(execute, '@global', Template7Context.Template7.global);\n }\n\n if (execute.indexOf('../') >= 0) {\n execute = Template7Utils.parseJsParents(execute, options.parents);\n }\n\n if (execute.indexOf('return') >= 0) {\n func = \"(function(){\".concat(execute, \"})\");\n } else {\n func = \"(function(){return (\".concat(execute, \")})\");\n }\n\n return eval(func).call(this);\n },\n js_if: function js_if(expression, options) {\n var data = options.data;\n var func;\n var execute = expression;\n 'index first last key'.split(' ').forEach(function (prop) {\n if (typeof data[prop] !== 'undefined') {\n var re1 = new RegExp(\"this.@\".concat(prop), 'g');\n var re2 = new RegExp(\"@\".concat(prop), 'g');\n execute = execute.replace(re1, JSON.stringify(data[prop])).replace(re2, JSON.stringify(data[prop]));\n }\n });\n\n if (options.root && execute.indexOf('@root') >= 0) {\n execute = Template7Utils.parseJsVariable(execute, '@root', options.root);\n }\n\n if (execute.indexOf('@global') >= 0) {\n execute = Template7Utils.parseJsVariable(execute, '@global', Template7Context.Template7.global);\n }\n\n if (execute.indexOf('../') >= 0) {\n execute = Template7Utils.parseJsParents(execute, options.parents);\n }\n\n if (execute.indexOf('return') >= 0) {\n func = \"(function(){\".concat(execute, \"})\");\n } else {\n func = \"(function(){return (\".concat(execute, \")})\");\n }\n\n var condition = eval(func).call(this);\n\n if (condition) {\n return options.fn(this, options.data);\n }\n\n return options.inverse(this, options.data);\n }\n};\nTemplate7Helpers.js_compare = Template7Helpers.js_if;\nvar Template7Options = {};\nvar Template7Partials = {};\n\nvar Template7Class = /*#__PURE__*/function () {\n function Template7Class(template) {\n _classCallCheck(this, Template7Class);\n\n var t = this;\n t.template = template;\n }\n\n _createClass(Template7Class, [{\n key: \"compile\",\n value: function compile() {\n var template = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.template;\n var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var t = this;\n if (t.compiled) return t.compiled;\n\n if (typeof template !== 'string') {\n throw new Error('Template7: Template must be a string');\n }\n\n var stringToBlocks = Template7Utils.stringToBlocks,\n getCompileVar = Template7Utils.getCompileVar,\n getCompiledArguments = Template7Utils.getCompiledArguments;\n var blocks = stringToBlocks(template);\n var ctx = \"ctx_\".concat(depth);\n var data = \"data_\".concat(depth);\n\n if (blocks.length === 0) {\n return function empty() {\n return '';\n };\n }\n\n function getCompileFn(block, newDepth) {\n if (block.content) return t.compile(block.content, newDepth);\n return function empty() {\n return '';\n };\n }\n\n function getCompileInverse(block, newDepth) {\n if (block.inverseContent) return t.compile(block.inverseContent, newDepth);\n return function empty() {\n return '';\n };\n }\n\n var resultString = '';\n\n if (depth === 1) {\n resultString += \"(function (\".concat(ctx, \", \").concat(data, \", root) {\\n\");\n } else {\n resultString += \"(function (\".concat(ctx, \", \").concat(data, \") {\\n\");\n }\n\n if (depth === 1) {\n resultString += 'function isArray(arr){return Array.isArray(arr);}\\n';\n resultString += 'function isFunction(func){return (typeof func === \\'function\\');}\\n';\n resultString += 'function c(val, ctx) {if (typeof val !== \"undefined\" && val !== null) {if (isFunction(val)) {return val.call(ctx);} else return val;} else return \"\";}\\n';\n resultString += 'root = root || ctx_1 || {};\\n';\n }\n\n resultString += 'var r = \\'\\';\\n';\n var i;\n\n for (i = 0; i < blocks.length; i += 1) {\n var block = blocks[i]; // Plain block\n\n if (block.type === 'plain') {\n // eslint-disable-next-line\n resultString += \"r +='\".concat(block.content.replace(/\\r/g, '\\\\r').replace(/\\n/g, '\\\\n').replace(/'/g, '\\\\' + '\\''), \"';\");\n continue;\n }\n\n var variable = void 0;\n var compiledArguments = void 0; // Variable block\n\n if (block.type === 'variable') {\n variable = getCompileVar(block.contextName, ctx, data);\n resultString += \"r += c(\".concat(variable, \", \").concat(ctx, \");\");\n } // Helpers block\n\n\n if (block.type === 'helper') {\n var parents = void 0;\n\n if (ctx !== 'ctx_1') {\n var level = ctx.split('_')[1];\n var parentsString = \"ctx_\".concat(level - 1);\n\n for (var j = level - 2; j >= 1; j -= 1) {\n parentsString += \", ctx_\".concat(j);\n }\n\n parents = \"[\".concat(parentsString, \"]\");\n } else {\n parents = \"[\".concat(ctx, \"]\");\n }\n\n var dynamicHelper = void 0;\n\n if (block.helperName.indexOf('[') === 0) {\n block.helperName = getCompileVar(block.helperName.replace(/[[\\]]/g, ''), ctx, data);\n dynamicHelper = true;\n }\n\n if (dynamicHelper || block.helperName in Template7Helpers) {\n compiledArguments = getCompiledArguments(block.contextName, ctx, data);\n resultString += \"r += (Template7Helpers\".concat(dynamicHelper ? \"[\".concat(block.helperName, \"]\") : \".\".concat(block.helperName), \").call(\").concat(ctx, \", \").concat(compiledArguments && \"\".concat(compiledArguments, \", \"), \"{hash:\").concat(JSON.stringify(block.hash), \", data: \").concat(data, \" || {}, fn: \").concat(getCompileFn(block, depth + 1), \", inverse: \").concat(getCompileInverse(block, depth + 1), \", root: root, parents: \").concat(parents, \"});\");\n } else if (block.contextName.length > 0) {\n throw new Error(\"Template7: Missing helper: \\\"\".concat(block.helperName, \"\\\"\"));\n } else {\n variable = getCompileVar(block.helperName, ctx, data);\n resultString += \"if (\".concat(variable, \") {\");\n resultString += \"if (isArray(\".concat(variable, \")) {\");\n resultString += \"r += (Template7Helpers.each).call(\".concat(ctx, \", \").concat(variable, \", {hash:\").concat(JSON.stringify(block.hash), \", data: \").concat(data, \" || {}, fn: \").concat(getCompileFn(block, depth + 1), \", inverse: \").concat(getCompileInverse(block, depth + 1), \", root: root, parents: \").concat(parents, \"});\");\n resultString += '}else {';\n resultString += \"r += (Template7Helpers.with).call(\".concat(ctx, \", \").concat(variable, \", {hash:\").concat(JSON.stringify(block.hash), \", data: \").concat(data, \" || {}, fn: \").concat(getCompileFn(block, depth + 1), \", inverse: \").concat(getCompileInverse(block, depth + 1), \", root: root, parents: \").concat(parents, \"});\");\n resultString += '}}';\n }\n }\n }\n\n resultString += '\\nreturn r;})';\n\n if (depth === 1) {\n // eslint-disable-next-line\n t.compiled = eval(resultString);\n return t.compiled;\n }\n\n return resultString;\n }\n }], [{\n key: \"options\",\n get: function get() {\n return Template7Options;\n }\n }, {\n key: \"partials\",\n get: function get() {\n return Template7Partials;\n }\n }, {\n key: \"helpers\",\n get: function get() {\n return Template7Helpers;\n }\n }]);\n\n return Template7Class;\n}();\n\nfunction Template7() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var template = args[0],\n data = args[1];\n\n if (args.length === 2) {\n var instance = new Template7Class(template);\n var rendered = instance.compile()(data);\n instance = null;\n return rendered;\n }\n\n return new Template7Class(template);\n}\n\nTemplate7.registerHelper = function registerHelper(name, fn) {\n Template7Class.helpers[name] = fn;\n};\n\nTemplate7.unregisterHelper = function unregisterHelper(name) {\n Template7Class.helpers[name] = undefined;\n delete Template7Class.helpers[name];\n};\n\nTemplate7.registerPartial = function registerPartial(name, template) {\n Template7Class.partials[name] = {\n template: template\n };\n};\n\nTemplate7.unregisterPartial = function unregisterPartial(name) {\n if (Template7Class.partials[name]) {\n Template7Class.partials[name] = undefined;\n delete Template7Class.partials[name];\n }\n};\n\nTemplate7.compile = function compile(template, options) {\n var instance = new Template7Class(template, options);\n return instance.compile();\n};\n\nTemplate7.options = Template7Class.options;\nTemplate7.helpers = Template7Class.helpers;\nTemplate7.partials = Template7Class.partials;\n/* harmony default export */ __webpack_exports__[\"default\"] = (Template7);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/template7/dist/template7.esm.js?");
  2303. /***/ }),
  2304. /***/ "./node_modules/webpack/buildin/global.js":
  2305. /*!***********************************!*\
  2306. !*** (webpack)/buildin/global.js ***!
  2307. \***********************************/
  2308. /*! no static exports found */
  2309. /***/ (function(module, exports) {
  2310. eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///(webpack)/buildin/global.js?");
  2311. /***/ })
  2312. }]);