diff --git a/.babelrc b/.babelrc index e40a6e4..1320b9a 100644 --- a/.babelrc +++ b/.babelrc @@ -1,13 +1,3 @@ { - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "ie": "11" - }, - "useBuiltIns": "usage" - } - ] - ] + "presets": ["@babel/preset-env"] } diff --git a/README.md b/README.md index 4b3fa8a..bea4bed 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,14 @@ -Locomotive's Front-end Boilerplate -================================== - -Front-end boilerplate for projects by [Locomotive][locomtl]. +

+ + + +

+

Locomotive Boilerplate

+

Front-end boilerplate for projects by Locomotive.

## Installation ```sh -# install mbp and gulp -npm install mbp gulp@next -g +npm install mbp gulp -g ``` ## Usage @@ -19,140 +21,177 @@ gulp ``` ## Configuration -Change the mentions of `boilerplate` for your project's name in -- `mconfig.json` -- `assets/scripts/utils/environment.js` +Change the mentions of `boilerplate` for your project's name in `mconfig.json`. It is based on [modularBP](https://github.com/modularorg/modularbp). -## CSS +[Learn more](https://github.com/modularorg/modularbp) -- We use [Sass](http://sass-lang.com) for our CSS Preprocessor -- [itcss](http://itcss.io) CSS architecture -- More Minimal BEM like CSS Syntax: `.block_element -modifier` -- [More Transparent UI Code with Namespaces](http://csswizardry.com/2015/03/more-transparent-ui-code-with-namespaces) +## Build +[gulp](https://github.com/gulpjs/gulp) is our build system. It compiles our styles and scripts, generate svg sprites, live reload the browser and minify everything. -### Sass import order +#### Tasks +```sh +# watch +gulp -* **Settings:** Global variables, site-wide settings, config switches, etc. -* **Tools:** Site-wide mixins and functions. -* **Generic:** Low-specificity, far-reaching rulesets (e.g. resets). -* **Base:** Unclassed HTML elements (e.g. `a {}`, `blockquote {}`, `address {}`). -* **Objects:** Objects, abstractions, and design patterns (e.g. `.o-media {}`). -* **Components:** Discrete, complete chunks of UI (e.g. `.c-carousel {}`). -* **Utilities:** High-specificity, very explicit selectors. Overrides and helper - classes (e.g. `.u-hidden {}`). +# compile +gulp compile -### Grid -We use [inuitcss](https://github.com/inuitcss/inuitcss/tree/6eb574fa604481ffa36272e6034e77467334ec50) layout and width system. We are using a inline-block grid system. - -Insert a `.o-layout` block and add `.o-layout_item` elements inside it. By default `o-layout_item` made 100%. -You can define different fractions in `/tools/_widths.scss` (`$widths-fractions`) - -If you want a 2 columns grid, just add `.u-1/2` on your 2 `.o-layout_item` - -If you want to adapt columns by media queries, by example a 2 columns grid for 1000px + resolutions, and one columns in block under 1000px : - -**HTML** +# minify +gulp build ``` -
-
- first colum -
-
- second colum -
+ +[Learn more](https://github.com/modularorg/modularbp-gulp) + +## Styles +[Sass](https://github.com/sass/node-sass) is our CSS preprocessor. [Autoprefixer](https://github.com/postcss/autoprefixer) is also included. + +#### Architecture +[ITCSS](https://github.com/itcss) is our CSS architecture. + +* `settings`: Global variables, site-wide settings, config switches, etc. +* `tools`: Site-wide mixins and functions. +* `generic`: Low-specificity, far-reaching rulesets (e.g. resets). +* `elements`: Unclassed HTML elements (e.g. `a {}`, `blockquote {}`, `address {}`). +* `objects`: Objects, abstractions, and design patterns (e.g. `.o-layout {}`). +* `components`: Discrete, complete chunks of UI (e.g. `.c-carousel {}`). +* `utilities`: High-specificity, very explicit selectors. Overrides and helper + classes (e.g. `.u-hidden {}`) + +[_source_](https://github.com/inuitcss/inuitcss#css-directory-structure) + +#### Naming +We use a simplified [BEM](https://github.com/bem) syntax. + + `.block .block_element -modifier` + +#### Namespaces +We namespace our classes for more [transparency](https://csswizardry.com/2015/03/more-transparent-ui-code-with-namespaces/). + +* `o-`: Object that it may be used in any number of unrelated contexts to the one you can currently see it in. Making modifications to these types of class could potentially have knock-on effects in a lot of other unrelated places. +* `c-`: Component is a concrete, implementation-specific piece of UI. All of the changes you make to its styles should be detectable in the context you’re currently looking at. Modifying these styles should be safe and have no side effects. +* `u-`: Utility has a very specific role (often providing only one declaration) and should not be bound onto or changed. It can be reused and is not tied to any specific piece of UI. +* `s-`: Scope creates a new styling context. Similar to a Theme, but not necessarily cosmetic, these should be used sparingly—they can be open to abuse and lead to poor CSS if not used wisely. +* `is-`, `has-`: Is currently styled a certain way because of a state or condition. It tells us that the DOM currently has a temporary, optional, or short-lived style applied to it due to a certain state being invoked. + +[_source_](https://csswizardry.com/2015/03/more-transparent-ui-code-with-namespaces/#the-namespaces) + +#### Example +```html +
+
+
+
Heading
+
+
+ Button +
+
``` +```scss +.c-block { + &.-large { + padding: rem(60px); + } +} -**CSS** (`/tools/_widths.scss`) -``` -.u-1\/2\@from-medium { - @media (min-width: $from-medium) { - width: span(1/2); +.c-block_heading { + @media (max-width: $to-medium) { + .c-block.-large & { + margin-bottom: rem(40px); + } } } ``` +## Scripts +[modularJS](https://github.com/modularorg/modularjs) is a small framework we use on top of ES modules. It compiles with [Rollup](https://github.com/rollup/rollup) and [Babel](https://github.com/babel/babel). -### Form +#### Why +- Automatically init visible modules. +- Easily call other modules methods. +- Quickly set scoped events with delegation. +- Simply select DOM elements scoped in their module. -We included some basic CSS styles and resets to the form elements so we can easily have custom style form elements that work on every browsers. +[_source_](https://github.com/modularorg/modularjs#why) -*[Demo][demo-form]* +#### Example +```html +
+
+

Example

+
+ +
+``` +```js +import { module } from 'modujs'; -## JavaScript +export default class extends module { + constructor(m) { + super(m); -- We use HTML data attributes to init our JavaScript modules: `data-module` -- All DOM related JavaScript is hooked to `js-` prefixed HTML classes -- [jQuery](https://jquery.com) is globally included + this.events = { + click: { + load: 'loadMore' + } + } + } -[locomtl]: https://locomotive.ca -[demo-grid]: https://codepen.io/AntoineBoulanger/pen/EaLNxe -[demo-form]: https://codepen.io/AntoineBoulanger/pen/uBJmi + loadMore() { + this.$('main').classList.add('is-loading'); + } +} +``` + +[Learn more](https://github.com/modularorg/modularjs) ## Page transitions -We use [Pjax](https://github.com/MoOx/pjax) by MoOx. +[modularLoad](https://github.com/modularorg/modularload) is used for page transitions and lazy loading. -### Setup -1. Create a wrapper : `.js-pjax-wrapper` and a container `.js-pjax-container` inside. When a transition is launched, the new container is put inside the wrapper, and the old one is remove. +#### Example +```html + +
+ +
+``` +```js +import modularLoad from 'modularload'; -2. Main settings are set inside `assets/scripts/transitions/TransitionManager.js` +this.load = new modularLoad({ + enterDelay: 300, + transitions: { + transitionName: { + enterDelay: 450 + } + } +}); +``` -3. `BaseTransition` is launched by default, to set a new transition (like `CustomTransition`) : - - create a new class `TestTransition.js` witch extends `BaseTransition` in `assets/scripts/transitions/` - - add a line in `assets/scripts/transitions/transitions.js` to add your transition - - use it like : `My page` - - Enjoy and made everything you want in your transition, check `BaseTransition.js` or `CustomTransition.js` like example +[Learn more](https://github.com/modularorg/modularload) -### Schema +## Scroll detection + [Locomotive Scroll](https://github.com/locomotivemtl/locomotive-scroll) is used for elements in viewport detection and smooth scrolling with parallax. -Legend -- `[ ]` : listener -- `*` : trigger event +#### Example +```html +
+
Trigger
+
Parallax
+
+``` +```js +import ScrollManager from '../scroll/vendors/ScrollManager'; -`[pjax:send]` -> (transition) launch() - -`[pjax:switch]` (= new view is loaded) -> (BaseTransition) `hideView()` -> hide animations & `*readyToRemove` - -`[readyToRemove]` -> `remove()` -> delete modules, remove oldView from the DOM, innerHTML newView, init modules, `display()` - -`display()` -> (BaseTransition) `displayView()` -> display animations & `*readyToDestroy` - -> init new modules - -`[readyToRemove]` -> reinit() - -## Locomotive Scroll - -![experimental](https://img.shields.io/badge/stability-experimental-orange.svg) - - [locomotive-scroll](https://github.com/locomotivemtl/locomotive-scroll) - -### Configuration - - Create a `.o-scroll` container with `data-module="Scroll"` - - in the module `Scroll.js` you have a basic initialisation - -### Options - -Options | Type | Description ---- | --- | --- -container | $element | Scroll container (with the smooth scroll, this container will be transform) -selector | String | Every elements will be check by the scroll, can be affect by a followed data attributes -smooth | Boolean | If you want a smooth scroll -smoothMobile | Boolean | If you want a smooth scroll on mobile -mobileContainer | $element | Scroll container on mobile, document by default -getWay | Boolean | if true, the animate will determine if you scroll down or scroll up -getSpeed | Boolean | if true, the animate will calcul the velocity of your scroll. Access with `this.scroll.y` - -### Data attributes - -Data | Value | Description ---- | --- | --- -data-speed | number | Speed of transform for parallax elements -data-repeat | false | Determine if the "In View" class is added one or each times -data-inview-class | is-show | CSS Class when the element is in view. -data-position | top/bottom | Trigger from top/bottom of the window instead of the default from bottom to top -data-target | #id, .class | Trigger from another element -data-horizontal | false | Use transformX instead of transformY -data-sticky | false | Set $element sticky when it's in viewport -data-sticky-target | #id | Stop the element stick when the target is in viewport -data-callback | `test.Scroll(test:0)` | trigger event, with options way wich return "leave" or "enter" when $element is in viewport -data-viewport-offset | i,j | value between 0 to 1 (0.3 to start at 30% of the bottom of the viewport), useful to trigger a sequence of callbacks. (i : value wich start at the bottom, j : start at the top, j is optional) +this.scrollManager = new ScrollManager({ + container: $(this.el), + selector: '.js-animate', + smooth: true + }); +```` +[Learn more](https://github.com/locomotivemtl/locomotive-scroll) diff --git a/assets/scripts/app.js b/assets/scripts/app.js index c4732fc..2961ffc 100644 --- a/assets/scripts/app.js +++ b/assets/scripts/app.js @@ -1,161 +1,15 @@ -import { APP_NAME, $document, $pjaxWrapper } from './utils/environment'; - -import globals from './globals'; - -import { arrayContains, removeFromArray } from './utils/array'; -import { getNodeData } from './utils/html'; -import { isFunction } from './utils/is'; - -// Basic modules +import modular from 'modujs'; import * as modules from './modules'; +import globals from './globals'; +import { html } from './utils/environment'; -const MODULE_NAME = 'App'; -const EVENT_NAMESPACE = `${APP_NAME}.${MODULE_NAME}`; +const app = new modular({ + modules: modules +}); -export const EVENT = { - INIT_MODULES: `initModules.${EVENT_NAMESPACE}`, - INIT_SCOPED_MODULES: `initScopedModules.${EVENT_NAMESPACE}`, - DELETE_SCOPED_MODULES: `deleteScopedModules.${EVENT_NAMESPACE}` -}; +app.init(app); +globals(); -class App { - constructor() { - this.modules = modules; - this.currentModules = []; +html.classList.add('is-loaded is-ready'); +html.classList.remove('is-loading'); - $document.on(EVENT.INIT_MODULES, (event) => { - this.initGlobals(event.firstBlood) - .deleteModules(event) - .initModules(event); - }); - - $document.on(EVENT.INIT_SCOPED_MODULES, (event) => { - this.initModules(event); - }); - - $document.on(EVENT.DELETE_SCOPED_MODULES, (event) => { - this.deleteModules(event); - }); - } - - /** - * Destroy all existing modules or a specific scope of modules - * @param {Object} event The event being triggered. - * @return {Object} Self (allows chaining) - */ - deleteModules(event) { - let destroyAll = true; - let moduleIds = []; - - // Check for scope first - if (event.$scope instanceof jQuery && event.$scope.length > 0) { - // Modules within scope - const $modules = event.$scope.find('[data-module]'); - - // Determine their uids - moduleIds = $.makeArray($modules.map(function(index) { - return $modules.eq(index).data('uid'); - })); - - if (moduleIds.length > 0) { - destroyAll = false; - } else { - return this; - } - } - - // Loop modules and destroying all of them, or specific ones - let i = this.currentModules.length; - - while (i--) { - if (destroyAll || arrayContains(moduleIds, this.currentModules[i].uid)) { - removeFromArray(moduleIds, this.currentModules[i].uid); - this.currentModules[i].destroy(); - this.currentModules.splice(i, 1); - } - } - - return this; - } - - /** - * Execute global functions and settings - * Allows you to initialize global modules only once if you need - * (ex.: when using Barba.js or SmoothState.js) - * @return {Object} Self (allows chaining) - */ - initGlobals(firstBlood) { - globals(firstBlood); - return this; - } - - /** - * Find modules and initialize them - * @param {Object} event The event being triggered. - * @return {Object} Self (allows chaining) - */ - initModules(event) { - // Elements with module - let $moduleEls = []; - - // If first blood, load all modules in the DOM - // If scoped, render elements with modules - // If Barba, load modules contained in Barba container - if (event.firstBlood) { - $moduleEls = $document.find('[data-module]'); - } else if (event.$scope instanceof jQuery && event.$scope.length > 0) { - $moduleEls = event.$scope.find('[data-module]'); - } else if (event.isPjax) { - $moduleEls = $pjaxWrapper.find('[data-module]'); - } - - // Loop through elements - let i = 0; - const elsLen = $moduleEls.length; - - for (; i < elsLen; i++) { - - // Current element - let el = $moduleEls[i]; - - // All data- attributes considered as options - let options = getNodeData(el); - - // Add current DOM element and jQuery element - options.el = el; - options.$el = $moduleEls.eq(i); - - // Module does exist at this point - let attr = options.module; - - // Splitting modules found in the data-attribute - let moduleIdents = attr.split(/[,\s]+/g); - - // Loop modules - let j = 0; - let modulesLen = moduleIdents.length; - - for (; j < modulesLen; j++) { - let moduleAttr = moduleIdents[j]; - - if (typeof this.modules[moduleAttr] === 'function') { - let module = new this.modules[moduleAttr](options); - this.currentModules.push(module); - module.init(); - } - } - } - - return this; - } -} - -// IIFE for loading the application -// ========================================================================== -(function() { - new App(); - $document.triggerHandler({ - type: EVENT.INIT_MODULES, - firstBlood: true - }); -})(); diff --git a/assets/scripts/globals.js b/assets/scripts/globals.js index 2be37e8..73cc387 100644 --- a/assets/scripts/globals.js +++ b/assets/scripts/globals.js @@ -1,10 +1,5 @@ -import TransitionManager from './transitions/TransitionManager'; import svg4everybody from 'svg4everybody'; -export default function(firstBlood) { +export default function() { svg4everybody(); - - if (firstBlood) { - const transitionManager = new TransitionManager(); - } } diff --git a/assets/scripts/modules.js b/assets/scripts/modules.js index 911f288..e542fac 100644 --- a/assets/scripts/modules.js +++ b/assets/scripts/modules.js @@ -1,2 +1,2 @@ -export {default as Example} from './modules/Example'; +export {default as Load} from './modules/Load'; export {default as Scroll} from './modules/Scroll'; diff --git a/assets/scripts/modules/AbstractModule.js b/assets/scripts/modules/AbstractModule.js deleted file mode 100644 index 55fee26..0000000 --- a/assets/scripts/modules/AbstractModule.js +++ /dev/null @@ -1,24 +0,0 @@ -let uid = 0; - -/** - * Abstract Module - */ -export default class { - constructor(options) { - this.$el = options.$el || null; - this.el = options.el || null; - - // Generate a unique module identifier - this.uid = 'm-' + uid++; - // Use jQuery's data API to "store it in the DOM" - this.$el.data('uid', this.uid); - } - - init() {} - - destroy() { - if (this.$el) { - this.$el.removeData('uid') - } - } -} diff --git a/assets/scripts/modules/Example.js b/assets/scripts/modules/Example.js index 15829a8..b24436c 100644 --- a/assets/scripts/modules/Example.js +++ b/assets/scripts/modules/Example.js @@ -1,30 +1,11 @@ -import { APP_NAME } from '../utils/environment'; -import AbstractModule from './AbstractModule'; - -const MODULE_NAME = 'Example'; -const EVENT_NAMESPACE = `${APP_NAME}.${MODULE_NAME}`; - -const EVENT = { - CLICK: `click.${EVENT_NAMESPACE}` -}; - -export default class extends AbstractModule { - constructor(options) { - super(options); - - // Declaration of properties - console.log('🔨 [module]:constructor - Example'); +import { module } from 'modujs'; +export default class extends module { + constructor(m) { + super(m); } init() { - // Set events and such } - - destroy() { - console.log('❌ [module]:destroy - Example'); - super.destroy(); - this.$el.off(`.${EVENT_NAMESPACE}`); - } } diff --git a/assets/scripts/modules/Scroll.js b/assets/scripts/modules/Scroll.js index c17a9b9..d93c555 100644 --- a/assets/scripts/modules/Scroll.js +++ b/assets/scripts/modules/Scroll.js @@ -1,31 +1,21 @@ -import { APP_NAME, $document } from '../utils/environment'; -import AbstractModule from './AbstractModule'; +import { module } from 'modujs'; +import { $document } from '../utils/environment' import ScrollManager from '../scroll/vendors/ScrollManager'; -const MODULE_NAME = 'Scroll'; -const EVENT_NAMESPACE = `${APP_NAME}.${MODULE_NAME}`; - -export default class extends AbstractModule { - constructor(options) { - super(options); +export default class extends module { + constructor(m) { + super(m); } init() { - setTimeout(() => { - this.scrollManager = new ScrollManager({ - container: this.$el, - selector: '.js-animate', - smooth: false, - smoothMobile: false, - mobileContainer: $document, - getWay: false, - getSpeed: false - }); - }, 500); + this.scroll = new ScrollManager({ + container: $(this.el), + smooth: true, + inertia: 1 + }); } destroy() { - super.destroy(); - this.scrollManager.destroy(); + this.scroll.destroy(); } } diff --git a/assets/scripts/modules/load.js b/assets/scripts/modules/load.js new file mode 100644 index 0000000..903f471 --- /dev/null +++ b/assets/scripts/modules/load.js @@ -0,0 +1,22 @@ +import { module } from 'modujs'; +import modularLoad from 'modularload'; + +export default class extends module { + constructor(m) { + super(m); + } + + init() { + const load = new modularLoad({ + enterDelay: 0, + transitions: { + customTransition: {} + } + }); + + load.on('loaded', (transition, oldContainer, newContainer) => { + this.call('destroy', oldContainer, 'app'); + this.call('update', newContainer, 'app'); + }); + } +} diff --git a/assets/scripts/transitions/BaseTransition.js b/assets/scripts/transitions/BaseTransition.js deleted file mode 100644 index 31635f8..0000000 --- a/assets/scripts/transitions/BaseTransition.js +++ /dev/null @@ -1,75 +0,0 @@ -import { APP_NAME, $document, $html, $body, isDebug, $pjaxWrapper } from '../utils/environment'; - -import { EVENT as TransitionEvent } from './TransitionManager' - -export default class { - constructor(options) { - - this.options = options; - this.wrapper = options.wrapper; - this.overrideClass = options.overrideClass ? options.overrideClass : ''; - this.clickedLink = options.clickedLink; - - } - - launch() { - if(isDebug) { - console.log("---- Launch transition 👊 -----"); - } - - $html - .removeClass('has-dom-loaded has-dom-animated ') - .addClass(`has-dom-loading ${this.overrideClass}`); - - } - - hideView(oldView, newView) { - if(isDebug) { - console.log('----- ❌ [VIEW]:hide - ', oldView.getAttribute('data-template')); - } - - // launch it at the end (animations...) - $document.triggerHandler({ - type:TransitionEvent.READYTOAPPEND, - oldView: oldView, - newView: newView - }); - - } - - - displayView(view) { - - if(isDebug) { - console.log('----- ✅ [VIEW]:display :', view.getAttribute('data-template')); - } - - $html.attr('data-template', view.getAttribute('data-template')); - - setTimeout(() => { - - $html - .addClass('has-dom-loaded') - .removeClass('has-dom-loading'); - - setTimeout(() => { - $html - .removeClass(this.overrideClass) - .addClass('has-dom-animated'); - }, 1000); - - // launch it at the end (animations...) - $document.triggerHandler({ - type:TransitionEvent.READYTODESTROY - }); - - },1000); - } - - - destroy() { - if(isDebug) { - console.log("---- ❌ [transition]:destroy -----"); - } - } -} diff --git a/assets/scripts/transitions/CustomTransition.js b/assets/scripts/transitions/CustomTransition.js deleted file mode 100644 index f101b9f..0000000 --- a/assets/scripts/transitions/CustomTransition.js +++ /dev/null @@ -1,13 +0,0 @@ -import { APP_NAME, $document, $html, isDebug, $pjaxWrapper } from '../utils/environment'; -import BaseTransition from './BaseTransition'; - -import { EVENT as TransitionEvent } from './TransitionManager' - -export default class extends BaseTransition{ - constructor(options) { - super(options); - - this.overrideClass = '-custom-transition'; - } - -} diff --git a/assets/scripts/transitions/TransitionManager.js b/assets/scripts/transitions/TransitionManager.js deleted file mode 100644 index 408afdf..0000000 --- a/assets/scripts/transitions/TransitionManager.js +++ /dev/null @@ -1,256 +0,0 @@ -import Pjax from 'pjax'; -import { APP_NAME, $document, $html, isDebug, $pjaxWrapper, $window } from '../utils/environment'; -import { EVENT as APP_EVENT } from '../app'; - -//List here all of your transitions -import * as transitions from './transitions'; - -const MODULE_NAME = 'Transition'; -const EVENT_NAMESPACE = `${APP_NAME}.${MODULE_NAME}`; - -export const EVENT = { - CLICK: `click.${EVENT_NAMESPACE}`, - READYTOAPPEND: `readyToAppend.${EVENT_NAMESPACE}`, - READYTODESTROY: `readyToDestroy.${EVENT_NAMESPACE}`, - GOTO: `goto.${EVENT_NAMESPACE}` -}; - -/* - -@todo : - -- ✅ get data-transition on clicked link -> launch() and add switch(){} -- ✅ add goto listener -- ✅ add overrideClass system for all transitions -- ✅ add base class manager like old DefaultTransition (has-dom-loaded, has-dom-loading etc..) - - -======= SCHEMA ======= - -[] : listener -* : trigger event - -[pjax:send] -> (transition) launch() - -[pjax:switch] (= new view is loaded) -> (transition) hideView()-> hide animations & *readyToAppend - -[readyToAppend] -> append() -> delete modules - -> remove oldView from the DOM, and innerHTMl newView - -> change() - -display() -> (transition) displayView() -> display animations & *readyToDestroy - -> init new modules - -[readyToAppend] -> reinit() - -*/ - -export default class { - constructor() { - - - // jQuery ondomready - $window.on('load',() => { - this.load(); - }); - - this.transition = new transitions['BaseTransition']({ - wrapper: this.wrapper - }); - - /* - ===== PJAX CONFIGURATION ===== - */ - - this.containerClass = '.js-pjax-container'; - this.wrapperId = 'js-pjax-wrapper'; - this.noPjaxRequestClass = 'no-transition'; - this.wrapper = document.getElementById(this.wrapperId); - - this.options = { - debug: false, - cacheBust: false, - elements: [`a:not(.${this.noPjaxRequestClass})`,'form[action]'], - selectors: ['title',`${this.containerClass}`], - switches: {}, - requestOptions: { - timeout: 2000 - } - }; - this.options.switches[this.containerClass] = (oldEl, newEl, options) => this.switch(oldEl, newEl, options) - this.pjax = new Pjax(this.options); - - /* - ===== LISTENERS ===== - */ - - document.addEventListener('pjax:send',(e) => this.send(e)); - - - $document.on(EVENT.READYTOAPPEND,(event) => { - this.append(event.oldView, event.newView); - }); - $document.on(EVENT.READYTODESTROY,(event) => { - this.reinit(); - }); - - - /** goto exampe - $document.triggerHandler({ - type: 'goto.Transition', - options : { - el: {{element clicked?}}, - link: {{url}} - } - }); - */ - $document.on(EVENT.GOTO, (e) => { - if(e.options.el != undefined) { - this.autoEl = e.options.el.get(0); - } - this.pjax.loadUrl(e.options.link, $.extend({}, this.pjax.options)); - }); - } - - - /** - * (PJAX) Launch when pjax receive a request - * get & manage data-transition,init and launch it - * @param {event} - * @return void - */ - send(e) { - if(isDebug) { - console.log("---- Launch request 🙌 -----"); - } - - let el,transition; - - if(e.triggerElement != undefined) { - - el = e.triggerElement; - - transition = el.getAttribute('data-transition') ? el.getAttribute('data-transition') : 'BaseTransition'; - $html.attr('data-transition',transition); - - } else { - - if (this.autoEl != undefined) { - el = this.autoEl; - } else { - el = document; - } - - transition = 'BaseTransition'; - } - - // options available : wrapper, overrideClass - this.transition = new transitions[transition]({ - wrapper: this.wrapper, - clickedLink: el - }); - - this.transition.launch(); - - } - - /** - * (PJAX) Launch when new page is loaded - * @param {js dom element}, - * @param {js dom element} - * @param {options : pjax options} - * @return void - */ - switch(oldView, newView, options) { - if(isDebug) { - console.log('---- Next view loaded 👌 -----'); - } - this.transition.hideView(oldView, newView); - } - - /** - * Launch when you trigger EVENT.READYTOAPPEND in your transition - * after newView append, launch this.change() - * @param {js dom element}, - * @param {js dom element} - * @return void - */ - append(oldView, newView) { - - newView.style.opacity = 0; - this.wrapper.appendChild(newView); - - // Add these 2 rAF if you want to have the containers overlapped - // Useful with a image transition, to prevent flickering - // requestAnimationFrame(() => { - // requestAnimationFrame(() => { - newView.style.opacity = 1; - this.change(oldView, newView); - // }); - // }); - - } - - /** - * launch after this.append(), remove modules, remove oldView and set the newView - * @param {js dom element}, - * @return void - */ - change(oldView, newView) { - - $document.triggerHandler({ - type: APP_EVENT.DELETE_SCOPED_MODULES, - $scope: $pjaxWrapper - }); - - this.wrapper.innerHTML = newView.outerHTML; - - oldView.remove(); - - // Fetch any inline script elements. - const scripts = newView.querySelectorAll('script.js-inline'); - - if (scripts instanceof window.NodeList) { - let i = 0; - let len = scripts.length; - for (; i < len; i++) { - eval(scripts[i].innerHTML); - } - } - - $document.triggerHandler({ - type: APP_EVENT.INIT_SCOPED_MODULES, - isPjax: true - }); - - this.pjax.onSwitch(); - - this.transition.displayView(newView); - - } - - /** - * Launch when you trigger EVENT.READYTODESTROY in your transition -> displayView(), at the end - * @return void - */ - reinit() { - this.transition.destroy(); - $html.attr('data-transition',''); - this.transition = new transitions['BaseTransition']({ - wrapper: this.wrapper - }); - } - - /** - * DOM is loaded - * - * @return {void} - */ - load() { - $html.addClass('has-dom-loaded'); - $html.removeClass('has-dom-loading'); - setTimeout(() => { - $html.addClass('has-dom-animated'); - }, 1000) - } -} diff --git a/assets/scripts/transitions/transitions.js b/assets/scripts/transitions/transitions.js deleted file mode 100644 index fd440be..0000000 --- a/assets/scripts/transitions/transitions.js +++ /dev/null @@ -1,2 +0,0 @@ -export {default as BaseTransition} from './BaseTransition'; -export {default as CustomTransition} from './CustomTransition'; diff --git a/assets/scripts/utils/environment.js b/assets/scripts/utils/environment.js index b809e10..eb7590e 100644 --- a/assets/scripts/utils/environment.js +++ b/assets/scripts/utils/environment.js @@ -3,10 +3,11 @@ const DATA_API_KEY = '.data-api'; const $document = $(document); const $window = $(window); +const html = document.documentElement; const $html = $(document.documentElement).removeClass('has-no-js').addClass('has-js'); const $body = $(document.body); const $pjaxWrapper = $('#js-pjax-wrapper'); const isDebug = !!$html.data('debug'); -export { APP_NAME, DATA_API_KEY, $document, $window, $html, $body, isDebug, $pjaxWrapper }; +export { APP_NAME, DATA_API_KEY, $document, $window, html, $html, $body, isDebug, $pjaxWrapper }; diff --git a/assets/styles/base/_fonts.scss b/assets/styles/elements/_fonts.scss similarity index 100% rename from assets/styles/base/_fonts.scss rename to assets/styles/elements/_fonts.scss diff --git a/assets/styles/base/_headings.scss b/assets/styles/elements/_headings.scss similarity index 100% rename from assets/styles/base/_headings.scss rename to assets/styles/elements/_headings.scss diff --git a/assets/styles/base/_page.scss b/assets/styles/elements/_page.scss similarity index 100% rename from assets/styles/base/_page.scss rename to assets/styles/elements/_page.scss diff --git a/assets/styles/main.scss b/assets/styles/main.scss index 394bdd8..b040487 100644 --- a/assets/styles/main.scss +++ b/assets/styles/main.scss @@ -14,8 +14,7 @@ @import "tools/mixins"; @import "tools/fonts"; @import "tools/layout"; -// @import "tools/ratio"; -// @import "tools/widths"; +@import "tools/widths"; // @import "tools/family"; // Generic @@ -26,23 +25,23 @@ @import "generic/form"; @import "generic/button"; -// Base +// Elements // ========================================================================== -@import "base/fonts"; -@import "base/page"; -@import "base/headings"; +@import "elements/fonts"; +@import "elements/page"; +@import "elements/headings"; // Objects // ========================================================================== @import "objects/container"; -// @import "objects/crop"; -// @import "objects/ratio"; -// @import "objects/table"; +@import "objects/ratio"; @import "objects/layout"; @import "objects/form"; @import "objects/button"; @import "objects/pjax"; @import "objects/scroll"; +// @import "objects/crop"; +// @import "objects/table"; // Vendors // ========================================================================== @@ -58,10 +57,11 @@ // Utilities // ========================================================================== +@import "utilities/ratio"; +@import "utilities/widths"; // @import "utilities/align"; // @import "utilities/helpers"; // @import "utilities/states"; // @import "utilities/headings"; // @import "utilities/spacing"; -// @import "utilities/widths"; // @import "utilities/print"; diff --git a/assets/styles/objects/_ratio.scss b/assets/styles/objects/_ratio.scss index 4cf9008..579b927 100644 --- a/assets/styles/objects/_ratio.scss +++ b/assets/styles/objects/_ratio.scss @@ -2,20 +2,6 @@ // Objects / Ratio // ========================================================================== -// -// @link https://github.com/inuitcss/inuitcss/blob/19d0c7e/objects/_objects.ratio.scss -// - -// A list of aspect ratios that get generated as modifier classes. - -$aspect-ratios: ( - (2:1), - (4:3), - (16:9), -) !default; - - - /** * Create ratio-bound content blocks, to keep media (e.g. images, videos) in * their correct aspect ratios. @@ -38,6 +24,7 @@ $aspect-ratios: ( } .o-ratio_content, + .o-ratio > img, .o-ratio > iframe, .o-ratio > embed, .o-ratio > object { @@ -46,34 +33,5 @@ $aspect-ratios: ( bottom: 0; left: 0; width: 100%; - height: 100%; + // height: 100%; } - -/* stylelint-disable */ - -// -// Generate a series of ratio classes to be used like so: -// -// @example -//
-// -// -.o-ratio { - @each $ratio in $aspect-ratios { - @each $antecedent, $consequent in $ratio { - @if (type-of($antecedent) != number) { - @error "`#{$antecedent}` needs to be a number." - } - - @if (type-of($consequent) != number) { - @error "`#{$consequent}` needs to be a number." - } - - &.-#{$antecedent}\:#{$consequent}::before { - padding-bottom: ($consequent/$antecedent) * 100%; - } - } - } -} - -/* stylelint-enable */ diff --git a/assets/styles/tools/_ratio.scss b/assets/styles/tools/_ratio.scss deleted file mode 100644 index 73f0358..0000000 --- a/assets/styles/tools/_ratio.scss +++ /dev/null @@ -1,76 +0,0 @@ -// ========================================================================== -// Tools / Ratio Constraint -// ========================================================================== - -// -// A tool to restrain a container to a unitary or fractional proportion. -// - -$data-ratios: "1/2" "0.5" 50%, - "11/20" "0.55" 55%, - "3/5" "0.6" 60%, - "13/20" "0.65" 65%, - "7/10" "0.7" 70%, - "3/4" "0.75" 75%, - "4/5" "0.8" 80%, - "17/20" "0.85" 85%, - "9/10" "0.9" 90%, - "19/20" "0.95" 95%, - "1/1" "1" 100%, - "21/20" "1.05" 105%, - "11/10" "1.1" 110%, - "23/20" "1.15" 115%, - "6/5" "1.2" 120%, - "5/4" "1.25" 125% !default; -$data-ratio-crops: "top" "bottom" "both" !default; - -@mixin crop($crop) { - @if $crop == "top" { - bottom: 0; - } @else if $crop == "bottom" { - top: 0; - } @else if $crop == "both" { - top: 50%; - transform: translateY(-50%); - } -} - -.u-ratio { - position: relative; - overflow: hidden; - - &::before { - display: block; - width: 100%; - content: ""; - } - - @each $ratio in $data-ratios { - $ratio-1: nth($ratio, 1); - $ratio-2: nth($ratio, 2); - &[data-ratio="#{$ratio-1}"]::before, - &[data-ratio="#{$ratio-2}"]::before { - padding-top: nth($ratio, 3); - } - } -} - -.u-ratio_content_container { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow: hidden; -} - -.u-ratio_content { - position: absolute; - width: 100%; - - @each $crop in $data-ratio-crops { - &[data-ratio-crop="#{$crop}"] { - @include crop($crop); - } - } -} diff --git a/assets/styles/utilities/_ratio.scss b/assets/styles/utilities/_ratio.scss new file mode 100644 index 0000000..d783e27 --- /dev/null +++ b/assets/styles/utilities/_ratio.scss @@ -0,0 +1,42 @@ +// ========================================================================== +// Utilities / Ratio +// ========================================================================== + +// +// @link https://github.com/inuitcss/inuitcss/blob/19d0c7e/objects/_objects.ratio.scss +// + +// A list of aspect ratios that get generated as modifier classes. + +$aspect-ratios: ( + (2:1), + (4:3), + (16:9), +) !default; + +/* stylelint-disable */ + +// +// Generate a series of ratio classes to be used like so: +// +// @example +//
+// +// +@each $ratio in $aspect-ratios { + @each $antecedent, $consequent in $ratio { + @if (type-of($antecedent) != number) { + @error "`#{$antecedent}` needs to be a number." + } + + @if (type-of($consequent) != number) { + @error "`#{$consequent}` needs to be a number." + } + + &.u-#{$antecedent}\:#{$consequent}::before { + padding-bottom: ($consequent/$antecedent) * 100%; + } + } +} + +/* stylelint-enable */ diff --git a/package.json b/package.json index c977c24..022e0c7 100644 --- a/package.json +++ b/package.json @@ -5,14 +5,14 @@ "version": "1.0.0", "author": "Locomotive ", "dependencies": { - "locomotive-scroll": "git+https://git@github.com/locomotivemtl/locomotive-scroll.git", + "locomotive-scroll": "github:locomotivemtl/locomotive-scroll#v2", + "modujs": "*", + "modularload": "*", "normalize.css": "*", - "pjax": "*", - "smooth-scrollbar": "git+https://git@github.com/locomotivemtl/smooth-scrollbar.git#develop", - "svg4everybody": "*" + "svg4everybody": "*", + "virtual-scroll": "*" }, "devDependencies": { - "@babel/polyfill": "*", "gulp-concat": "*" } } diff --git a/www/assets/scripts/abortcontroller-polyfill-only.js b/www/assets/scripts/abortcontroller-polyfill-only.js new file mode 100644 index 0000000..f1ef098 --- /dev/null +++ b/www/assets/scripts/abortcontroller-polyfill-only.js @@ -0,0 +1 @@ +!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){for(var n=0;n=t.offset&&r<=t.limit;else if("below"===t.position)i=r>t.limit;else if(t.sticky)i=r>=t.offset&&r<=t.limit;else if(null!=t.viewportOffset)if(1t.offset&&at.offset&&s=t.offset&&r<=t.limit;if(t.sticky&&(r>t.limit?t.$element.addClass("is-unstuck"):t.$element.removeClass("is-unstuck"),rthis.scroll.y?"down"!==this.scroll.direction&&(this.scroll.direction="down"):n=i.offset&&this.scroll.y<=i.limit;if(this.toggleElement(i,r),t&&!u&&i.speed&&"top"!==i.position&&(s=(i.offset-this.windowMiddle-i.middle)*-i.speed),u&&i.speed)switch(i.position){case"top":s=this.scrollbar.scrollTop*-i.speed;break;case"bottom":s=(this.scrollbarLimit-a)*i.speed;break;default:s=(n-i.middle)*-i.speed}(0,j.isNumeric)(s)&&(i.horizontal?this.transformElement(i.$element,s):this.transformElement(i.$element,0,s))}}},{key:"updateElements",value:function(t){t=t||{},this.scrollbar.update(),this.windowHeight=i.$window.height(),this.windowMiddle=this.windowHeight/2,this.setScrollbarLimit(),this.setWheelDirection(this.isReversed),this.addElements(),this.transformElements(!0),"function"==typeof t.callback&&t.callback(),this.renderAnimations(!1,status)}},{key:"setWheelDirection",value:function(t){this.scrollbar.reverseWheel(t)}},{key:"destroy",value:function(){d(h(n.prototype),"destroy",this).call(this),i.$html.removeClass("has-smooth-scroll"),this.parallaxElements=[],this.scrollbar.destroy()}}])&&c(e.prototype,r),o&&c(e,o),n}();n.default=o},{"../../utils/debounce":17,"../../utils/environment":18,"../../utils/is":20,"../Scroll":7,"smooth-scrollbar":45}],12:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var o=t("../utils/environment"),i=t("./TransitionManager");function a(t,e){for(var n=0;n/g,">")},n.unescapeHtml=function(t){return t.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")},n.getNodeData=function(t){var e=t.attributes,n=/^data\-(.+)$/,r={};for(var o in e)if(e[o]){var i=e[o].name;if(i){var a=i.match(n);a&&(r[a[1]]=s(t.getAttribute(i)))}}return r},n.getData=s;var r=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/;function s(t){return"true"===t||"false"!==t&&("null"===t?null:t===+t+""?+t:r.test(t)?JSON.parse(t):t)}},{}],20:[function(t,e,n){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(n,"__esModule",{value:!0}),n.isArray=function(t){return"[object Array]"===o.call(t)},n.isArrayLike=function(t){return i.test(o.call(t))},n.isEqual=function(t,e){return null===t&&null===e||"object"!==r(t)&&"object"!==r(e)&&t===e},n.isNumeric=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},n.isObject=function(t){return t&&"[object Object]"===o.call(t)},n.isFunction=function(t){return t&&"[object Function]"==={}.toString.call(t)};var o=Object.prototype.toString,i=/^\[object (?:Array|FileList)\]$/},{}],21:[function(o,t,e){var a=o("./lib/execute-scripts.js"),s=o("./lib/foreach-els.js"),n=o("./lib/parse-options.js"),r=o("./lib/switches"),u=o("./lib/uniqueid.js"),i=o("./lib/events/on.js"),l=o("./lib/events/trigger.js"),c=o("./lib/util/clone.js"),f=o("./lib/util/contains.js"),d=o("./lib/util/extend.js"),h=o("./lib/util/noop"),p=function(t){this.state={numPendingSwitches:0,href:null,options:null},this.options=n(t),this.log("Pjax options",this.options),this.options.scrollRestoration&&"scrollRestoration"in history&&(history.scrollRestoration="manual"),this.maxUid=this.lastUid=u(),this.parseDOM(document),i(window,"popstate",function(t){if(t.state){var e=c(this.options);e.url=t.state.url,e.title=t.state.title,e.history=!1,e.scrollPos=t.state.scrollPos,t.state.uid]+>/gi);if(r&&r.length&&(r=r[0].match(/\s?[a-z:]+(?:\=(?:\'|\")[^\'\">]+(?:\'|\"))*/gi)).length&&(r.shift(),r.forEach(function(t){var e=t.trim().split("=");1===e.length?n.documentElement.setAttribute(e[0],!0):n.documentElement.setAttribute(e[0],e[1].slice(1,-1))})),n.documentElement.innerHTML=t,this.log("load content",n.documentElement.attributes,n.documentElement.innerHTML.length),document.activeElement&&f(document,this.options.selectors,document.activeElement))try{document.activeElement.blur()}catch(t){}this.switchSelectors(this.options.selectors,n,document,e)},abortRequest:o("./lib/abort-request.js"),doRequest:o("./lib/send-request.js"),handleResponse:o("./lib/proto/handle-response.js"),loadUrl:function(t,e){e="object"==typeof e?d({},this.options,e):c(this.options),this.log("load href",t,e),this.abortRequest(this.request),l(document,"pjax:send",e),this.request=this.doRequest(t,e,this.handleResponse.bind(this))},afterAllSwitches:function(){var t=Array.prototype.slice.call(document.querySelectorAll("[autofocus]")).pop();t&&document.activeElement!==t&&t.focus(),this.options.selectors.forEach(function(t){s(document.querySelectorAll(t),function(t){a(t)})});var e=this.state;if(e.options.history&&(window.history.state||(this.lastUid=this.maxUid=u(),window.history.replaceState({url:window.location.href,title:document.title,uid:this.maxUid,scrollPos:[0,0]},document.title)),this.lastUid=this.maxUid=u(),window.history.pushState({url:e.href,title:e.options.title,uid:this.maxUid,scrollPos:[0,0]},e.options.title,e.href)),this.forEachSelectors(function(t){this.parseDOM(t)},this),l(document,"pjax:complete pjax:success",e.options),"function"==typeof e.options.analytics&&e.options.analytics(),e.options.history){var n=document.createElement("a");if(n.href=this.state.href,n.hash){var r=n.hash.slice(1);r=decodeURIComponent(r);var o=0,i=document.getElementById(r)||document.getElementsByName(r)[0];if(i&&i.offsetParent)for(;o+=i.offsetTop,i=i.offsetParent;);window.scrollTo(0,o)}else!1!==e.options.scrollTo&&(1 or
submit"}}},{}],36:[function(t,e,n){var f=t("./util/update-query-string");e.exports=function(e,n,r){var t,o=(n=n||{}).requestOptions||{},i=(o.requestMethod||"GET").toUpperCase(),a=o.requestParams||null,s=o.formData||null,u=null,l=new XMLHttpRequest,c=n.timeout||0;if(l.onreadystatechange=function(){4===l.readyState&&(200===l.status?r(l.responseText,l,e,n):0!==l.status&&r(null,l,e,n))},l.onerror=function(t){console.log(t),r(null,l,e,n)},l.ontimeout=function(){r(null,l,e,n)},a&&a.length)switch(t=a.map(function(t){return t.name+"="+t.value}).join("&"),i){case"GET":e=e.split("?")[0],e+="?"+t;break;case"POST":u=t}else s&&(u=s);return n.cacheBust&&(e=f(e,"t",Date.now())),l.open(i,e,!0),l.timeout=c,l.setRequestHeader("X-Requested-With","XMLHttpRequest"),l.setRequestHeader("X-PJAX","true"),l.setRequestHeader("X-PJAX-Selectors",JSON.stringify(n.selectors)),u&&"POST"===i&&!s&&l.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),l.send(u),l}},{"./util/update-query-string":44}],37:[function(t,e,n){var r=t("./foreach-els"),c=t("./switches");e.exports=function(a,s,t,e,n,u){var l=[];t.forEach(function(o){var t=e.querySelectorAll(o),i=n.querySelectorAll(o);if(this.log&&this.log("Pjax switch",o,t,i),t.length!==i.length)throw"DOM doesn’t look the same on new loaded page: ’"+o+"’ - new "+t.length+", old "+i.length;r(t,function(t,e){var n=i[e];this.log&&this.log("newEl",t,"oldEl",n);var r=a[o]?a[o].bind(this,n,t,u,s[o]):c.outerHTML.bind(this,n,t,u);l.push(r)},this)},this),this.state.numPendingSwitches=l.length,l.forEach(function(t){t()})}},{"./foreach-els":27,"./switches":38}],38:[function(t,e,n){var f=t("./events/on.js");e.exports={outerHTML:function(t,e){t.outerHTML=e.outerHTML,this.onSwitch()},innerHTML:function(t,e){t.innerHTML=e.innerHTML,""===e.className?t.removeAttribute("class"):t.className=e.className,this.onSwitch()},switchElementsAlt:function(t,e){if(t.innerHTML=e.innerHTML,e.hasAttributes())for(var n=e.attributes,r=0;r\n \n \n \n ';var o=r.querySelector(".scroll-content");return[].concat(i(r.childNodes)).forEach(function(t){return e.appendChild(t)}),n.forEach(function(t){return o.appendChild(t)}),new l.SmoothScrollbar(e,t)},l.SmoothScrollbar.initAll=function(e){return[].concat(i(document.querySelectorAll(c.selectors))).map(function(t){return l.SmoothScrollbar.init(t,e)})},l.SmoothScrollbar.has=function(t){return c.sbList.has(t)},l.SmoothScrollbar.get=function(t){return c.sbList.get(t)},l.SmoothScrollbar.getAll=function(){return[].concat(i(c.sbList.values()))},l.SmoothScrollbar.destroy=function(t,e){return l.SmoothScrollbar.has(t)&&l.SmoothScrollbar.get(t).destroy(e)},l.SmoothScrollbar.destroyAll=function(e){c.sbList.forEach(function(t){t.destroy(e)})},t.exports=e.default},function(t,e,n){t.exports={default:n(3),__esModule:!0}},function(t,e,n){n(4),n(48),t.exports=n(12).Array.from},function(t,e,n){"use strict";var r=n(5)(!0);n(8)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){var u=n(6),l=n(7);t.exports=function(s){return function(t,e){var n,r,o=String(l(t)),i=u(e),a=o.length;return i<0||a<=i?s?"":void 0:(n=o.charCodeAt(i))<55296||56319document.F=Object<\/script>"),t.close(),c=t.F;n--;)delete c[l][a[n]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u[l]=o(t),n=new u,u[l]=null,n[s]=t):n=c(),void 0===e?n:i(n,e)}},function(t,e,n){var a=n(16),s=n(17),u=n(31);t.exports=n(20)?Object.defineProperties:function(t,e){s(t);for(var n,r=u(e),o=r.length,i=0;io;)a(r,n=e[o++])&&(~u(i,n)||i.push(n));return i}},function(t,e,n){var r=n(34),o=n(7);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(35);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var u=n(33),l=n(37),c=n(38);t.exports=function(s){return function(t,e,n){var r,o=u(t),i=l(o.length),a=c(n,i);if(s&&e!=e){for(;a=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){e.f=n(45)},function(t,e,n){t.exports={default:n(63),__esModule:!0}},function(t,e,n){n(64),n(74),n(75),n(76),t.exports=n(12).Symbol},function(t,e,n){"use strict";var r=n(11),a=n(25),o=n(20),i=n(10),s=n(26),u=n(65).KEY,l=n(21),c=n(40),f=n(44),d=n(41),h=n(45),p=n(61),v=n(66),y=n(67),m=n(70),b=n(17),_=n(18),g=n(33),w=n(23),E=n(24),O=n(29),S=n(71),x=n(73),M=n(16),j=n(31),P=x.f,T=M.f,k=S.f,A=r.Symbol,L=r.JSON,C=L&&L.stringify,R="prototype",N=h("_hidden"),D=h("toPrimitive"),I={}.propertyIsEnumerable,$=c("symbol-registry"),H=c("symbols"),q=c("op-symbols"),V=Object[R],F="function"==typeof A,U=r.QObject,B=!U||!U[R]||!U[R].findChild,z=o&&l(function(){return 7!=O(T({},"a",{get:function(){return T(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=P(V,e);r&&delete V[e],T(t,e,n),r&&t!==V&&T(V,e,r)}:T,W=function(t){var e=H[t]=O(A[R]);return e._k=t,e},G=F&&"symbol"==typeof A.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof A},X=function(t,e,n){return t===V&&X(q,e,n),b(t),e=w(e,!0),b(n),a(H,e)?(n.enumerable?(a(t,N)&&t[N][e]&&(t[N][e]=!1),n=O(n,{enumerable:E(0,!1)})):(a(t,N)||T(t,N,E(1,{})),t[N][e]=!0),z(t,e,n)):T(t,e,n)},Y=function(t,e){b(t);for(var n,r=y(e=g(e)),o=0,i=r.length;oo;)a(H,e=n[o++])||e==N||e==u||r.push(e);return r},Z=function(t){for(var e,n=t===V,r=k(n?q:g(t)),o=[],i=0;r.length>i;)!a(H,e=r[i++])||n&&!a(V,e)||o.push(H[e]);return o};F||(s((A=function(){if(this instanceof A)throw TypeError("Symbol is not a constructor!");var e=d(0et;)h(tt[et++]);for(var nt=j(h.store),rt=0;nt.length>rt;)v(nt[rt++]);i(i.S+i.F*!F,"Symbol",{for:function(t){return a($,t+="")?$[t]:$[t]=A(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in $)if($[e]===t)return e},useSetter:function(){B=!0},useSimple:function(){B=!1}}),i(i.S+i.F*!F,"Object",{create:function(t,e){return void 0===e?O(t):Y(O(t),e)},defineProperty:X,defineProperties:Y,getOwnPropertyDescriptor:J,getOwnPropertyNames:Q,getOwnPropertySymbols:Z}),L&&i(i.S+i.F*(!F||l(function(){var t=A();return"[null]"!=C([t])||"{}"!=C({a:t})||"{}"!=C(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(_(e)||void 0!==t)&&!G(t))return m(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,C.apply(L,r)}}),A[R][D]||n(15)(A[R],D,A[R].valueOf),f(A,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(t,e,n){var r=n(41)("meta"),o=n(18),i=n(25),a=n(16).f,s=0,u=Object.isExtensible||function(){return!0},l=!n(21)(function(){return u(Object.preventExtensions({}))}),c=function(t){a(t,r,{value:{i:"O"+ ++s,w:{}}})},f=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!u(t))return"F";if(!e)return"E";c(t)}return t[r].i},getWeak:function(t,e){if(!i(t,r)){if(!u(t))return!0;if(!e)return!1;c(t)}return t[r].w},onFreeze:function(t){return l&&f.NEED&&u(t)&&!i(t,r)&&c(t),t}}},function(t,e,n){var r=n(11),o=n(12),i=n(9),a=n(61),s=n(16).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e,n){var s=n(31),u=n(68),l=n(69);t.exports=function(t){var e=s(t),n=u.f;if(n)for(var r,o=n(t),i=l.f,a=0;o.length>a;)i.call(t,r=o[a++])&&e.push(r);return e}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(35);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(33),o=n(72).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(r(t))}},function(t,e,n){var r=n(32),o=n(42).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e,n){var r=n(69),o=n(24),i=n(33),a=n(23),s=n(25),u=n(19),l=Object.getOwnPropertyDescriptor;e.f=n(20)?l:function(t,e){if(t=i(t),e=a(e,!0),u)try{return l(t,e)}catch(t){}if(s(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e){},function(t,e,n){n(66)("asyncIterator")},function(t,e,n){n(66)("observable")},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}var l=r(n(78)),c=r(n(81)),o=r(n(85));Object.defineProperty(e,"__esModule",{value:!0}),e.SmoothScrollbar=void 0;var i=function(){function r(t,e){for(var n=0;ni.y&&!a&&(a=!0,setTimeout(function(){return r(t)})),n.y-e.y>o&&(a=!1),i=e})}}},function(t,e,n){"use strict";n(77).SmoothScrollbar.prototype.isVisible=function(t){var e=this.bounding,n=t.getBoundingClientRect(),r=Math.max(e.top,n.top),o=Math.max(e.left,n.left),i=Math.min(e.right,n.right);return ri.x?"right":"left",y:e===i.y?"none":e>i.y?"down":"up"},this.__readonly("offset",{x:t,y:e}),r.limit=l({},a),r.offset=l({},this.offset),this.__setThumbPosition(),(0,c.setStyle)(s.content,{"-transform":"translate3d("+-t+"px, "+-e+"px, 0)"}),n||u.forEach(function(t){o.syncCallbacks?t(r):requestAnimationFrame(function(){t(r)})}))}},function(t,e,n){"use strict";function r(t,e,n){return e in t?(0,u.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(){var l=0=i?n=0:n/=s}if(o.y&&l.__willOverscroll("y",r)){var u=2;"bounce"===a.overscrollEffect&&(u+=Math.abs(10*o.y/i)),Math.abs(o.y)>=i?r=0:r/=u}l.__autoLockMovement(),t.preventDefault(),l.__addMovement(n,r,!0),f=l}}),this.__addEvent(e,"touchcancel touchend",function(t){if(!l.__isDrag){var n=l.options.speed,r=c.getVelocity(),o={};(0,i.default)(r).forEach(function(t){var e=(0,u.pickInRange)(r[t]*s.GLOBAL_ENV.EASING_MULTIPLIER,-1e3,1e3);o[t]=100 collection + for (// get the cached index + var index = 0; index < uses.length; ) { + // get the current + var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute("xlink:href") || use.getAttribute("href"); + if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), + svg && src) { + if (polyfill) { + if (!opts.validate || opts.validate(src, svg, use)) { + // remove the element + parent.removeChild(use); + // parse the src and get the url and id + var srcSplit = src.split("#"), url = srcSplit.shift(), id = srcSplit.join("#"); + // if the link is external + if (url.length) { + // get the cached xhr request + var xhr = requests[url]; + // ensure the xhr request exists + xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open("GET", url), xhr.send(), + xhr._embeds = []), // add the svg and id as an item to the xhr embeds list + xhr._embeds.push({ + parent: parent, + svg: svg, + id: id + }), // prepare the xhr ready state change event + loadreadystatechange(xhr); + } else { + // embed the local id into the svg + embed(parent, svg, document.getElementById(id)); + } + } else { + // increase the index when the previous value was not "valid" + ++index, ++numberOfSvgUseElementsToBypass; + } + } + } else { + // increase the index when the previous value was not "valid" + ++index; + } + } + // continue the interval + (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67); + } + var polyfill, opts = Object(rawopts), newerIEUA = /\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/, webkitUA = /\bAppleWebKit\/(\d+)\b/, olderEdgeUA = /\bEdge\/12\.(\d+)\b/, edgeUA = /\bEdge\/.(\d+)\b/, inIframe = window.top !== window.self; + polyfill = "polyfill" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe; + // create xhr requests object + var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName("use"), numberOfSvgUseElementsToBypass = 0; + // conditionally start the interval if the polyfill is active + polyfill && oninterval(); + } + function getSVGAncestor(node) { + for (var svg = node; "svg" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {} + return svg; + } + return svg4everybody; + }); + }); + + function globals () { + svg4everybody(); + } + + var app = new _default$1({ + modules: modules + }); + app.init(app); + globals(); + +}()); +//# sourceMappingURL=app.js.map diff --git a/www/assets/scripts/app.js.map b/www/assets/scripts/app.js.map new file mode 100644 index 0000000..738569d --- /dev/null +++ b/www/assets/scripts/app.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.js","sources":["../../../node_modules/modujs/dist/main.esm.js","../../../assets/scripts/modules/example.js","../../../node_modules/svg4everybody/dist/svg4everybody.js","../../../assets/scripts/globals.js","../../../assets/scripts/app.js"],"sourcesContent":["function _typeof(obj) {\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 _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\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 _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar _default =\n/*#__PURE__*/\nfunction () {\n function _default(options) {\n _classCallCheck(this, _default);\n\n this.mAttr = 'data-' + options.name;\n this.el = options.el;\n }\n\n _createClass(_default, [{\n key: \"mInit\",\n value: function mInit(modules) {\n var _this = this;\n\n this.modules = modules;\n this.mCheckEventTarget = this.mCheckEventTarget.bind(this);\n\n if (this.events) {\n Object.keys(this.events).forEach(function (event) {\n return _this.mAddEvent(event);\n });\n }\n }\n }, {\n key: \"mUpdate\",\n value: function mUpdate(modules) {\n this.modules = modules;\n }\n }, {\n key: \"mDestroy\",\n value: function mDestroy() {\n var _this2 = this;\n\n if (this.events) {\n Object.keys(this.events).forEach(function (event) {\n return _this2.mRemoveEvent(event);\n });\n }\n }\n }, {\n key: \"mAddEvent\",\n value: function mAddEvent(event) {\n this.el.addEventListener(event, this.mCheckEventTarget);\n }\n }, {\n key: \"mRemoveEvent\",\n value: function mRemoveEvent(event) {\n this.el.removeEventListener(event, this.mCheckEventTarget);\n }\n }, {\n key: \"mCheckEventTarget\",\n value: function mCheckEventTarget(e) {\n var event = this.events[e.type];\n\n if (typeof event === \"string\") {\n this[event](e);\n } else {\n var data = '[' + this.mAttr + ']';\n var target = e.target;\n\n while (target && target !== document) {\n if (target.matches(data)) {\n var name = target.getAttribute(this.mAttr);\n\n if (event.hasOwnProperty(name)) {\n var method = event[name];\n Object.defineProperty(e, 'currentTarget', {\n value: target\n });\n this[method](e);\n break;\n }\n }\n\n target = target.parentNode;\n }\n }\n }\n }, {\n key: \"$\",\n value: function $(query, context) {\n var classIndex = query.indexOf('.');\n var idIndex = query.indexOf('#');\n var name = query;\n var more = '';\n var parent = this.el;\n\n if (classIndex != -1 || idIndex != -1) {\n var index;\n\n if (classIndex != -1 && idIndex == -1) {\n index = classIndex;\n } else if (idIndex != -1 && classIndex == -1) {\n index = idIndex;\n } else {\n index = Math.min(classIndex, idIndex);\n }\n\n name = query.slice(0, index);\n more = query.slice(index);\n }\n\n if (_typeof(context) == 'object') {\n parent = context;\n }\n\n var els = parent.querySelectorAll('[' + this.mAttr + '=' + name + ']' + more);\n\n if (els.length == 1) {\n return els[0];\n } else {\n return els;\n }\n }\n }, {\n key: \"parent\",\n value: function parent(query, context) {\n var data = '[' + this.mAttr + '=' + query + ']';\n var parent = context;\n\n while (parent && parent !== document) {\n if (parent.matches(data)) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n }\n }, {\n key: \"call\",\n value: function call(func, args, mod, id) {\n var _this3 = this;\n\n if (args && !mod) {\n mod = args;\n args = false;\n }\n\n if (id) {\n this.modules[mod][id][func](args);\n } else {\n Object.keys(this.modules[mod]).forEach(function (id) {\n _this3.modules[mod][id][func](args);\n });\n }\n }\n }, {\n key: \"init\",\n value: function init() {}\n }, {\n key: \"destroy\",\n value: function destroy() {}\n }]);\n\n return _default;\n}();\n\nvar _default$1 =\n/*#__PURE__*/\nfunction () {\n function _default(options) {\n _classCallCheck(this, _default);\n\n this.app;\n this.modules = options.modules;\n this.currentModules = {};\n this.activeModules = {};\n this.newModules = {};\n this.moduleId = 0;\n }\n\n _createClass(_default, [{\n key: \"init\",\n value: function init(app, scope) {\n var _this = this;\n\n var container = scope || document;\n var elements = container.querySelectorAll('*');\n\n if (app && !this.app) {\n this.app = app;\n }\n\n this.activeModules['app'] = {\n 'app': this.app\n };\n elements.forEach(function (el) {\n Array.from(el.attributes).forEach(function (i) {\n if (i.name.startsWith('data-module')) {\n var moduleName = i.name.split('-').pop();\n var options = {\n el: el,\n name: moduleName\n };\n\n if (_this.modules[moduleName]) {\n var module = new _this.modules[moduleName](options);\n var id = i.value;\n\n if (!id) {\n _this.moduleId++;\n id = 'm' + _this.moduleId;\n el.setAttribute(i.name, id);\n }\n\n _this.addActiveModule(moduleName, id, module);\n\n var moduleId = moduleName + '-' + id;\n\n if (scope) {\n _this.newModules[moduleId] = module;\n } else {\n _this.currentModules[moduleId] = module;\n }\n }\n }\n });\n });\n Object.entries(this.currentModules).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n id = _ref2[0],\n module = _ref2[1];\n\n if (scope) {\n var split = id.split('-');\n var moduleName = split.shift();\n var moduleId = split.pop();\n\n _this.addActiveModule(moduleName, moduleId, module);\n } else {\n _this.initModule(module);\n }\n });\n }\n }, {\n key: \"initModule\",\n value: function initModule(module) {\n module.mInit(this.activeModules);\n module.init();\n }\n }, {\n key: \"addActiveModule\",\n value: function addActiveModule(name, id, module) {\n if (this.activeModules[name]) {\n Object.assign(this.activeModules[name], _defineProperty({}, id, module));\n } else {\n this.activeModules[name] = _defineProperty({}, id, module);\n }\n }\n }, {\n key: \"update\",\n value: function update(scope) {\n var _this2 = this;\n\n this.init(this.app, scope);\n Object.entries(this.currentModules).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n id = _ref4[0],\n module = _ref4[1];\n\n module.mUpdate(_this2.activeModules);\n });\n Object.entries(this.newModules).forEach(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n id = _ref6[0],\n module = _ref6[1];\n\n _this2.initModule(module);\n });\n Object.assign(this.currentModules, this.newModules);\n }\n }, {\n key: \"destroy\",\n value: function destroy(scope) {\n if (scope) {\n this.destroyScope(scope);\n } else {\n this.destroyModules();\n }\n }\n }, {\n key: \"destroyScope\",\n value: function destroyScope(scope) {\n var _this3 = this;\n\n var elements = scope.querySelectorAll('*');\n elements.forEach(function (el) {\n Array.from(el.attributes).forEach(function (i) {\n if (i.name.startsWith('data-module')) {\n var name = i.name.split('-').pop();\n var id = i.value;\n var moduleName = name + '-' + id;\n var module = _this3.currentModules[moduleName];\n\n _this3.destroyModule(module);\n\n delete _this3.currentModules[moduleName];\n }\n });\n });\n this.activeModules = {};\n this.newModules = {};\n }\n }, {\n key: \"destroyModules\",\n value: function destroyModules() {\n var _this4 = this;\n\n Object.entries(this.currentModules).forEach(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n id = _ref8[0],\n module = _ref8[1];\n\n _this4.destroyModule(module);\n });\n this.currentModules = [];\n }\n }, {\n key: \"destroyModule\",\n value: function destroyModule(module) {\n module.mDestroy();\n module.destroy();\n }\n }]);\n\n return _default;\n}();\n\nexport default _default$1;\nexport { _default as module };\n","import { module } from 'modujs';\n\nexport default class extends module {\n constructor(m) {\n super(m);\n }\n\n init() {\n console.log('exameple');\n }\n}\n","!function(root, factory) {\n \"function\" == typeof define && define.amd ? // AMD. Register as an anonymous module unless amdModuleId is set\n define([], function() {\n return root.svg4everybody = factory();\n }) : \"object\" == typeof module && module.exports ? // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory() : root.svg4everybody = factory();\n}(this, function() {\n /*! svg4everybody v2.1.9 | github.com/jonathantneal/svg4everybody */\n function embed(parent, svg, target) {\n // if the target exists\n if (target) {\n // create a document fragment to hold the contents of the target\n var fragment = document.createDocumentFragment(), viewBox = !svg.hasAttribute(\"viewBox\") && target.getAttribute(\"viewBox\");\n // conditionally set the viewBox on the svg\n viewBox && svg.setAttribute(\"viewBox\", viewBox);\n // copy the contents of the clone into the fragment\n for (// clone the target\n var clone = target.cloneNode(!0); clone.childNodes.length; ) {\n fragment.appendChild(clone.firstChild);\n }\n // append the fragment into the svg\n parent.appendChild(fragment);\n }\n }\n function loadreadystatechange(xhr) {\n // listen to changes in the request\n xhr.onreadystatechange = function() {\n // if the request is ready\n if (4 === xhr.readyState) {\n // get the cached html document\n var cachedDocument = xhr._cachedDocument;\n // ensure the cached html document based on the xhr response\n cachedDocument || (cachedDocument = xhr._cachedDocument = document.implementation.createHTMLDocument(\"\"), \n cachedDocument.body.innerHTML = xhr.responseText, xhr._cachedTarget = {}), // clear the xhr embeds list and embed each item\n xhr._embeds.splice(0).map(function(item) {\n // get the cached target\n var target = xhr._cachedTarget[item.id];\n // ensure the cached target\n target || (target = xhr._cachedTarget[item.id] = cachedDocument.getElementById(item.id)), \n // embed the target into the svg\n embed(item.parent, item.svg, target);\n });\n }\n }, // test the ready state change immediately\n xhr.onreadystatechange();\n }\n function svg4everybody(rawopts) {\n function oninterval() {\n // while the index exists in the live collection\n for (// get the cached index\n var index = 0; index < uses.length; ) {\n // get the current \n var use = uses[index], parent = use.parentNode, svg = getSVGAncestor(parent), src = use.getAttribute(\"xlink:href\") || use.getAttribute(\"href\");\n if (!src && opts.attributeName && (src = use.getAttribute(opts.attributeName)), \n svg && src) {\n if (polyfill) {\n if (!opts.validate || opts.validate(src, svg, use)) {\n // remove the element\n parent.removeChild(use);\n // parse the src and get the url and id\n var srcSplit = src.split(\"#\"), url = srcSplit.shift(), id = srcSplit.join(\"#\");\n // if the link is external\n if (url.length) {\n // get the cached xhr request\n var xhr = requests[url];\n // ensure the xhr request exists\n xhr || (xhr = requests[url] = new XMLHttpRequest(), xhr.open(\"GET\", url), xhr.send(), \n xhr._embeds = []), // add the svg and id as an item to the xhr embeds list\n xhr._embeds.push({\n parent: parent,\n svg: svg,\n id: id\n }), // prepare the xhr ready state change event\n loadreadystatechange(xhr);\n } else {\n // embed the local id into the svg\n embed(parent, svg, document.getElementById(id));\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index, ++numberOfSvgUseElementsToBypass;\n }\n }\n } else {\n // increase the index when the previous value was not \"valid\"\n ++index;\n }\n }\n // continue the interval\n (!uses.length || uses.length - numberOfSvgUseElementsToBypass > 0) && requestAnimationFrame(oninterval, 67);\n }\n var polyfill, opts = Object(rawopts), newerIEUA = /\\bTrident\\/[567]\\b|\\bMSIE (?:9|10)\\.0\\b/, webkitUA = /\\bAppleWebKit\\/(\\d+)\\b/, olderEdgeUA = /\\bEdge\\/12\\.(\\d+)\\b/, edgeUA = /\\bEdge\\/.(\\d+)\\b/, inIframe = window.top !== window.self;\n polyfill = \"polyfill\" in opts ? opts.polyfill : newerIEUA.test(navigator.userAgent) || (navigator.userAgent.match(olderEdgeUA) || [])[1] < 10547 || (navigator.userAgent.match(webkitUA) || [])[1] < 537 || edgeUA.test(navigator.userAgent) && inIframe;\n // create xhr requests object\n var requests = {}, requestAnimationFrame = window.requestAnimationFrame || setTimeout, uses = document.getElementsByTagName(\"use\"), numberOfSvgUseElementsToBypass = 0;\n // conditionally start the interval if the polyfill is active\n polyfill && oninterval();\n }\n function getSVGAncestor(node) {\n for (var svg = node; \"svg\" !== svg.nodeName.toLowerCase() && (svg = svg.parentNode); ) {}\n return svg;\n }\n return svg4everybody;\n});","import svg4everybody from 'svg4everybody';\n\nexport default function() {\n svg4everybody();\n}\n","import modular from 'modujs';\nimport * as modules from './modules';\nimport globals from './globals';\n\nconst app = new modular({\n modules: modules\n});\n\napp.init(app);\nglobals();\n"],"names":["m","console","log","module","this","svg4everybody","app","modular","modules","init","globals"],"mappings":";;;EAAA,SAAS,OAAO,CAAC,GAAG,EAAE;EACtB,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;EAC3E,IAAI,OAAO,GAAG,UAAU,GAAG,EAAE;EAC7B,MAAM,OAAO,OAAO,GAAG,CAAC;EACxB,KAAK,CAAC;EACN,GAAG,MAAM;EACT,IAAI,OAAO,GAAG,UAAU,GAAG,EAAE;EAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,CAAC;EACnI,KAAK,CAAC;EACN,GAAG;;EAEH,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;EACtB,CAAC;;EAED,SAAS,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE;EAChD,EAAE,IAAI,EAAE,QAAQ,YAAY,WAAW,CAAC,EAAE;EAC1C,IAAI,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;EAC7D,GAAG;EACH,CAAC;;EAED,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE;EAC1C,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACzC,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC9B,IAAI,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,KAAK,CAAC;EAC3D,IAAI,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;EACnC,IAAI,IAAI,OAAO,IAAI,UAAU,EAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;EAC1D,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;EAC9D,GAAG;EACH,CAAC;;EAED,SAAS,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE;EAC5D,EAAE,IAAI,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;EACvE,EAAE,IAAI,WAAW,EAAE,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;EAC/D,EAAE,OAAO,WAAW,CAAC;EACrB,CAAC;;EAED,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;EAC1C,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE;EAClB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;EACpC,MAAM,KAAK,EAAE,KAAK;EAClB,MAAM,UAAU,EAAE,IAAI;EACtB,MAAM,YAAY,EAAE,IAAI;EACxB,MAAM,QAAQ,EAAE,IAAI;EACpB,KAAK,CAAC,CAAC;EACP,GAAG,MAAM;EACT,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;EACrB,GAAG;;EAEH,EAAE,OAAO,GAAG,CAAC;EACb,CAAC;;EAED,SAAS,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE;EAChC,EAAE,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC;EACrF,CAAC;;EAED,SAAS,eAAe,CAAC,GAAG,EAAE;EAC9B,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC;EACrC,CAAC;;EAED,SAAS,qBAAqB,CAAC,GAAG,EAAE,CAAC,EAAE;EACvC,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;EAChB,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;EAChB,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;EACjB,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;;EAErB,EAAE,IAAI;EACN,IAAI,KAAK,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE;EACxF,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;;EAE1B,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM;EACxC,KAAK;EACL,GAAG,CAAC,OAAO,GAAG,EAAE;EAChB,IAAI,EAAE,GAAG,IAAI,CAAC;EACd,IAAI,EAAE,GAAG,GAAG,CAAC;EACb,GAAG,SAAS;EACZ,IAAI,IAAI;EACR,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;EACtD,KAAK,SAAS;EACd,MAAM,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;EACvB,KAAK;EACL,GAAG;;EAEH,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;;EAED,SAAS,gBAAgB,GAAG;EAC5B,EAAE,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;EAC9E,CAAC;;EAED,IAAI,QAAQ;EACZ;EACA,YAAY;EACZ,EAAE,SAAS,QAAQ,CAAC,OAAO,EAAE;EAC7B,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;;EAEpC,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;EACxC,IAAI,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;EACzB,GAAG;;EAEH,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;EAC1B,IAAI,GAAG,EAAE,OAAO;EAChB,IAAI,KAAK,EAAE,SAAS,KAAK,CAAC,OAAO,EAAE;EACnC,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC;;EAEvB,MAAM,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;EAC7B,MAAM,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;EAEjE,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;EACvB,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;EAC1D,UAAU,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACxC,SAAS,CAAC,CAAC;EACX,OAAO;EACP,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,SAAS;EAClB,IAAI,KAAK,EAAE,SAAS,OAAO,CAAC,OAAO,EAAE;EACrC,MAAM,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;EAC7B,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,UAAU;EACnB,IAAI,KAAK,EAAE,SAAS,QAAQ,GAAG;EAC/B,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;;EAExB,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;EACvB,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;EAC1D,UAAU,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;EAC5C,SAAS,CAAC,CAAC;EACX,OAAO;EACP,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,WAAW;EACpB,IAAI,KAAK,EAAE,SAAS,SAAS,CAAC,KAAK,EAAE;EACrC,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAC9D,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,cAAc;EACvB,IAAI,KAAK,EAAE,SAAS,YAAY,CAAC,KAAK,EAAE;EACxC,MAAM,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;EACjE,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,mBAAmB;EAC5B,IAAI,KAAK,EAAE,SAAS,iBAAiB,CAAC,CAAC,EAAE;EACzC,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;EAEtC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;EACrC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EACvB,OAAO,MAAM;EACb,QAAQ,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;EAC1C,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;;EAE9B,QAAQ,OAAO,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;EAC9C,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;EACpC,YAAY,IAAI,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;EAEvD,YAAY,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;EAC5C,cAAc,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;EACvC,cAAc,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE;EACxD,gBAAgB,KAAK,EAAE,MAAM;EAC7B,eAAe,CAAC,CAAC;EACjB,cAAc,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9B,cAAc,MAAM;EACpB,aAAa;EACb,WAAW;;EAEX,UAAU,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;EACrC,SAAS;EACT,OAAO;EACP,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,GAAG;EACZ,IAAI,KAAK,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE;EACtC,MAAM,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;EAC1C,MAAM,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;EACvC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC;EACvB,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;EACpB,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;;EAE3B,MAAM,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE;EAC7C,QAAQ,IAAI,KAAK,CAAC;;EAElB,QAAQ,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,EAAE;EAC/C,UAAU,KAAK,GAAG,UAAU,CAAC;EAC7B,SAAS,MAAM,IAAI,OAAO,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,EAAE;EACtD,UAAU,KAAK,GAAG,OAAO,CAAC;EAC1B,SAAS,MAAM;EACf,UAAU,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;EAChD,SAAS;;EAET,QAAQ,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;EACrC,QAAQ,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;EAClC,OAAO;;EAEP,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,EAAE;EACxC,QAAQ,MAAM,GAAG,OAAO,CAAC;EACzB,OAAO;;EAEP,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;;EAEpF,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;EAC3B,QAAQ,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;EACtB,OAAO,MAAM;EACb,QAAQ,OAAO,GAAG,CAAC;EACnB,OAAO;EACP,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,QAAQ;EACjB,IAAI,KAAK,EAAE,SAAS,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE;EAC3C,MAAM,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;EACtD,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC;;EAE3B,MAAM,OAAO,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;EAC5C,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;EAClC,UAAU,OAAO,MAAM,CAAC;EACxB,SAAS;;EAET,QAAQ,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;EACnC,OAAO;EACP,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,MAAM;EACf,IAAI,KAAK,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;EAC9C,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;;EAExB,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;EACxB,QAAQ,GAAG,GAAG,IAAI,CAAC;EACnB,QAAQ,IAAI,GAAG,KAAK,CAAC;EACrB,OAAO;;EAEP,MAAM,IAAI,EAAE,EAAE;EACd,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;EAC1C,OAAO,MAAM;EACb,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE;EAC7D,UAAU,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;EAC9C,SAAS,CAAC,CAAC;EACX,OAAO;EACP,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,MAAM;EACf,IAAI,KAAK,EAAE,SAAS,IAAI,GAAG,EAAE;EAC7B,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,SAAS;EAClB,IAAI,KAAK,EAAE,SAAS,OAAO,GAAG,EAAE;EAChC,GAAG,CAAC,CAAC,CAAC;;EAEN,EAAE,OAAO,QAAQ,CAAC;EAClB,CAAC,EAAE,CAAC;;EAEJ,IAAI,UAAU;EACd;EACA,YAAY;EACZ,EAAE,SAAS,QAAQ,CAAC,OAAO,EAAE;EAC7B,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;;EAEpC,IAAI,IAAI,CAAC,GAAG,CAAC;EACb,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;EACnC,IAAI,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;EAC7B,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;EAC5B,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;EACzB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;EACtB,GAAG;;EAEH,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;EAC1B,IAAI,GAAG,EAAE,MAAM;EACf,IAAI,KAAK,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE;EACrC,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC;;EAEvB,MAAM,IAAI,SAAS,GAAG,KAAK,IAAI,QAAQ,CAAC;EACxC,MAAM,IAAI,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;;EAErD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;EAC5B,QAAQ,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;EACvB,OAAO;;EAEP,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG;EAClC,QAAQ,KAAK,EAAE,IAAI,CAAC,GAAG;EACvB,OAAO,CAAC;EACR,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE;EACrC,QAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;EACvD,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;EAChD,YAAY,IAAI,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;EACrD,YAAY,IAAI,OAAO,GAAG;EAC1B,cAAc,EAAE,EAAE,EAAE;EACpB,cAAc,IAAI,EAAE,UAAU;EAC9B,aAAa,CAAC;;EAEd,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;EAC3C,cAAc,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;EAClE,cAAc,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC;;EAE/B,cAAc,IAAI,CAAC,EAAE,EAAE;EACvB,gBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAC;EACjC,gBAAgB,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;EAC1C,gBAAgB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;EAC5C,eAAe;;EAEf,cAAc,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;;EAE5D,cAAc,IAAI,QAAQ,GAAG,UAAU,GAAG,GAAG,GAAG,EAAE,CAAC;;EAEnD,cAAc,IAAI,KAAK,EAAE;EACzB,gBAAgB,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;EACpD,eAAe,MAAM;EACrB,gBAAgB,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;EACxD,eAAe;EACf,aAAa;EACb,WAAW;EACX,SAAS,CAAC,CAAC;EACX,OAAO,CAAC,CAAC;EACT,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EAClE,QAAQ,IAAI,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;EAC3C,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;EACzB,YAAY,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;;EAE9B,QAAQ,IAAI,KAAK,EAAE;EACnB,UAAU,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;EACpC,UAAU,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;EACzC,UAAU,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;;EAErC,UAAU,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;EAC9D,SAAS,MAAM;EACf,UAAU,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;EACnC,SAAS;EACT,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,YAAY;EACrB,IAAI,KAAK,EAAE,SAAS,UAAU,CAAC,MAAM,EAAE;EACvC,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;EACvC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;EACpB,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,iBAAiB;EAC1B,IAAI,KAAK,EAAE,SAAS,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE;EACtD,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;EACpC,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;EACjF,OAAO,MAAM;EACb,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;EACnE,OAAO;EACP,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,QAAQ;EACjB,IAAI,KAAK,EAAE,SAAS,MAAM,CAAC,KAAK,EAAE;EAClC,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;;EAExB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;EACjC,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;EACnE,QAAQ,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;EAC5C,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;EACzB,YAAY,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;;EAE9B,QAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;EAC7C,OAAO,CAAC,CAAC;EACT,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;EAC/D,QAAQ,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;EAC5C,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;EACzB,YAAY,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;;EAE9B,QAAQ,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;EAClC,OAAO,CAAC,CAAC;EACT,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;EAC1D,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,SAAS;EAClB,IAAI,KAAK,EAAE,SAAS,OAAO,CAAC,KAAK,EAAE;EACnC,MAAM,IAAI,KAAK,EAAE;EACjB,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;EACjC,OAAO,MAAM;EACb,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;EAC9B,OAAO;EACP,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,cAAc;EACvB,IAAI,KAAK,EAAE,SAAS,YAAY,CAAC,KAAK,EAAE;EACxC,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;;EAExB,MAAM,IAAI,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;EACjD,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE;EACrC,QAAQ,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;EACvD,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;EAChD,YAAY,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;EAC/C,YAAY,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC;EAC7B,YAAY,IAAI,UAAU,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;EAC7C,YAAY,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;;EAE3D,YAAY,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;EAEzC,YAAY,OAAO,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;EACrD,WAAW;EACX,SAAS,CAAC,CAAC;EACX,OAAO,CAAC,CAAC;EACT,MAAM,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;EAC9B,MAAM,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;EAC3B,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,gBAAgB;EACzB,IAAI,KAAK,EAAE,SAAS,cAAc,GAAG;EACrC,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;;EAExB,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;EACnE,QAAQ,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;EAC5C,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;EACzB,YAAY,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;;EAE9B,QAAQ,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;EACrC,OAAO,CAAC,CAAC;EACT,MAAM,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;EAC/B,KAAK;EACL,GAAG,EAAE;EACL,IAAI,GAAG,EAAE,eAAe;EACxB,IAAI,KAAK,EAAE,SAAS,aAAa,CAAC,MAAM,EAAE;EAC1C,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;EACxB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;EACvB,KAAK;EACL,GAAG,CAAC,CAAC,CAAC;;EAEN,EAAE,OAAO,QAAQ,CAAC;EAClB,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EC7ZA,oBAAYA,CAAZ,EAAe;EAAA;;EAAA,iFACLA,CADK;EAEd;;;;6BAEM;EACHC,MAAAA,OAAO,CAACC,GAAR,CAAY,UAAZ;EACH;;;;IAPwBC;;;;;;;;;;;;;;;ECF7B,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE;MACrB,AAGkC,MAAM,CAAC,OAAO;;;MAGhD,cAAc,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,CAAC;GAC/D,CAACC,cAAI,EAAE,WAAW;;MAEf,SAAS,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;;UAEhC,IAAI,MAAM,EAAE;;cAER,IAAI,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;;cAE3H,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;;cAEhD;cACA,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI;kBACzD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;eAC1C;;cAED,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;WAChC;OACJ;MACD,SAAS,oBAAoB,CAAC,GAAG,EAAE;;UAE/B,GAAG,CAAC,kBAAkB,GAAG,WAAW;;cAEhC,IAAI,CAAC,KAAK,GAAG,CAAC,UAAU,EAAE;;kBAEtB,IAAI,cAAc,GAAG,GAAG,CAAC,eAAe,CAAC;;kBAEzC,cAAc,KAAK,cAAc,GAAG,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;kBACxG,cAAc,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;kBACzE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE;;sBAErC,IAAI,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;sBAExC,MAAM,KAAK,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;sBAExF,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;mBACxC,CAAC,CAAC;eACN;WACJ;UACD,GAAG,CAAC,kBAAkB,EAAE,CAAC;OAC5B;MACD,SAAS,aAAa,CAAC,OAAO,EAAE;UAC5B,SAAS,UAAU,GAAG;;cAElB;cACA,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI;;kBAElC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;kBAC/I,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,KAAK,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;kBAC9E,GAAG,IAAI,GAAG,EAAE;sBACR,IAAI,QAAQ,EAAE;0BACV,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;;8BAEhD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;;8BAExB,IAAI,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;8BAE/E,IAAI,GAAG,CAAC,MAAM,EAAE;;kCAEZ,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;;kCAExB,GAAG,KAAK,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,cAAc,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE;kCACpF,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;kCACjB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;sCACb,MAAM,EAAE,MAAM;sCACd,GAAG,EAAE,GAAG;sCACR,EAAE,EAAE,EAAE;mCACT,CAAC;kCACF,oBAAoB,CAAC,GAAG,CAAC,CAAC;+BAC7B,MAAM;;kCAEH,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;+BACnD;2BACJ,MAAM;;8BAEH,EAAE,KAAK,EAAE,EAAE,8BAA8B,CAAC;2BAC7C;uBACJ;mBACJ,MAAM;;sBAEH,EAAE,KAAK,CAAC;mBACX;eACJ;;cAED,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,8BAA8B,GAAG,CAAC,KAAK,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;WAC/G;UACD,IAAI,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,yCAAyC,EAAE,QAAQ,GAAG,wBAAwB,EAAE,WAAW,GAAG,qBAAqB,EAAE,MAAM,GAAG,kBAAkB,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,CAAC;UAC1O,QAAQ,GAAG,UAAU,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;;UAEzP,IAAI,QAAQ,GAAG,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,UAAU,EAAE,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,8BAA8B,GAAG,CAAC,CAAC;;UAEvK,QAAQ,IAAI,UAAU,EAAE,CAAC;OAC5B;MACD,SAAS,cAAc,CAAC,IAAI,EAAE;UAC1B,KAAK,IAAI,GAAG,GAAG,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;UACzF,OAAO,GAAG,CAAC;OACd;MACD,OAAO,aAAa,CAAC;GACxB,CAAC;;;ECvGa,oBAAW;EACtBC,EAAAA,aAAa;EAChB;;ECAD,IAAMC,GAAG,GAAG,IAAIC,UAAJ,CAAY;EACpBC,EAAAA,OAAO,EAAEA;EADW,CAAZ,CAAZ;EAIAF,GAAG,CAACG,IAAJ,CAASH,GAAT;EACAI,OAAO;;;;"} \ No newline at end of file diff --git a/www/assets/scripts/jquery-3.3.1.min.js b/www/assets/scripts/jquery-3.3.1.min.js deleted file mode 100644 index 4d9b3a2..0000000 --- a/www/assets/scripts/jquery-3.3.1.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w(" - +
+

Made with 🚂

+
+ + + + + + + diff --git a/www/page.html b/www/page.html index cf5ba2c..27fa575 100644 --- a/www/page.html +++ b/www/page.html @@ -1,5 +1,5 @@ - + Page | Boilerplate @@ -16,31 +16,38 @@ - +
- +

Boilerplate

+
-
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus tempore officia temporibus error rem id, vel perspiciatis eveniet placeat, ducimus fugit vitae sequi, quas deserunt ab eius expedita quia nulla. +
+
+
+

Page

+ +
-
+ - - +
+

Made with 🚂

+
+ + + + + + +