From 534b5f2ca0be53aad697f3cf91d674b7cb995e1e Mon Sep 17 00:00:00 2001 From: Javier Diaz Date: Sat, 22 Apr 2017 21:49:59 -0500 Subject: [PATCH 01/44] Removed previous files v1 --- .babelrc | 5 - dist/example.js | 10577 ------------------------------ dist/example.js.map | 1 - dist/vue-datasource.js | 1064 --- dist/vue-datasource.js.map | 1 - dist/vue-datasource.min.js | 2 - dist/vue-datasource.min.js.map | 1 - index.html | 24 - logotype.png | Bin 9166 -> 0 bytes package.json | 60 - screenshot.png | Bin 217223 -> 0 bytes src/Datasource.vue | 207 - src/components/Pagination.vue | 116 - src/example.js | 177 - src/main.js | 1 - src/utils/DatasourceLanguage.js | 89 - src/utils/DatasourceUtils.js | 66 - webpack.config.build.js | 10 - webpack.config.build.min.js | 11 - webpack.config.js | 77 - 20 files changed, 12489 deletions(-) delete mode 100644 .babelrc delete mode 100644 dist/example.js delete mode 100644 dist/example.js.map delete mode 100644 dist/vue-datasource.js delete mode 100644 dist/vue-datasource.js.map delete mode 100644 dist/vue-datasource.min.js delete mode 100644 dist/vue-datasource.min.js.map delete mode 100644 index.html delete mode 100644 logotype.png delete mode 100644 package.json delete mode 100644 screenshot.png delete mode 100644 src/Datasource.vue delete mode 100644 src/components/Pagination.vue delete mode 100644 src/example.js delete mode 100644 src/main.js delete mode 100644 src/utils/DatasourceLanguage.js delete mode 100644 src/utils/DatasourceUtils.js delete mode 100644 webpack.config.build.js delete mode 100644 webpack.config.build.min.js delete mode 100644 webpack.config.js diff --git a/.babelrc b/.babelrc deleted file mode 100644 index f1c00ce..0000000 --- a/.babelrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "presets": ["es2015", "stage-2"], - "plugins": ["transform-runtime"], - "comments": false -} \ No newline at end of file diff --git a/dist/example.js b/dist/example.js deleted file mode 100644 index c74cd56..0000000 --- a/dist/example.js +++ /dev/null @@ -1,10577 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; -/******/ -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "/dist/"; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - - module.exports = __webpack_require__(5); - - -/***/ }), -/* 1 */ -/***/ (function(module, exports) { - - /* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra - */ - // css base code, injected by the css-loader - module.exports = function() { - var list = []; - - // return the list of modules as css string - list.toString = function toString() { - var result = []; - for(var i = 0; i < this.length; i++) { - var item = this[i]; - if(item[2]) { - result.push("@media " + item[2] + "{" + item[1] + "}"); - } else { - result.push(item[1]); - } - } - return result.join(""); - }; - - // import a list of modules into the list - list.i = function(modules, mediaQuery) { - if(typeof modules === "string") - modules = [[null, modules, ""]]; - var alreadyImportedModules = {}; - for(var i = 0; i < this.length; i++) { - var id = this[i][0]; - if(typeof id === "number") - alreadyImportedModules[id] = true; - } - for(i = 0; i < modules.length; i++) { - var item = modules[i]; - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { - if(mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if(mediaQuery) { - item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; - } - list.push(item); - } - } - }; - return list; - }; - - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - - /* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra - */ - var stylesInDom = {}, - memoize = function(fn) { - var memo; - return function () { - if (typeof memo === "undefined") memo = fn.apply(this, arguments); - return memo; - }; - }, - isOldIE = memoize(function() { - return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase()); - }), - getHeadElement = memoize(function () { - return document.head || document.getElementsByTagName("head")[0]; - }), - singletonElement = null, - singletonCounter = 0, - styleElementsInsertedAtTop = []; - - module.exports = function(list, options) { - if(false) { - if(typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment"); - } - - options = options || {}; - // Force single-tag solution on IE6-9, which has a hard limit on the # of \n\n\n// WEBPACK FOOTER //\n// Datasource.vue?28dd5f97","\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?633c2b7c","import Vue from 'vue/dist/vue.js';\nimport Datasource from './Datasource.vue';\n\nvar data = {\n \"pagination\": {\n \"total\": 4,\n \"per_page\": 15,\n \"current_page\": 1,\n \"last_page\": 1,\n \"next_page_url\": null,\n \"prev_page_url\": null,\n \"from\": 1,\n \"to\": 4\n },\n \"data\": [\n {\n \"id_grupo\": 1,\n \"tipo_grupo\": \"1\",\n \"nombre_grupo\": \"All\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"4\"\n },\n {\n \"id_grupo\": 2,\n \"tipo_grupo\": \"1\",\n \"nombre_grupo\": \"Ladies\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"1\"\n },\n {\n \"id_grupo\": 3,\n \"tipo_grupo\": \"2\",\n \"nombre_grupo\": \"Mens\",\n \"estado_grupo\": \"2\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"3\"\n },\n {\n \"id_grupo\": 4,\n \"tipo_grupo\": \"1\",\n \"nombre_grupo\": \"Chiefs\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"1\"\n },\n {\n \"id_grupo\": 5,\n \"tipo_grupo\": \"2\",\n \"nombre_grupo\": \"Operators\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"1\"\n }\n ]\n};\n\nnew Vue({\n el: '#app',\n components: {\n Datasource\n },\n data() {\n return {\n groups: {\n pagination: {},\n data: []\n },\n columns: [\n {\n name: 'Id',\n key: 'id_grupo',\n filter: false,\n render(value) {\n return `# ${value}`;\n }\n },\n {\n name: 'Name',\n key: 'nombre_grupo',\n filter: false\n },\n {\n name: 'Type',\n key: 'tipo_grupo',\n filter: false,\n render(value) {\n switch (value) {\n case '1':\n return 'Global';\n break;\n case '2':\n return 'General';\n break;\n case '3':\n return 'Personal';\n break;\n }\n }\n },\n {\n name: 'Total',\n key: 'detalle_grupos_count',\n filter: false,\n },\n {\n name: 'Date',\n key: 'created_at',\n filter: false\n },\n ],\n actions: [\n {\n text: 'Edit',\n icon: 'glyphicon glyphicon-pencil',\n class: 'btn-primary',\n event(e, row) {\n console.warn('Did clicked me?', e);\n if (row == null) {\n console.info('Ups.. data not found :(')\n } else {\n console.info('Yeeei, I found this :)', JSON.stringify(row));\n }\n }\n },\n {\n text: 'Delete',\n icon: 'glyphicon glyphicon-trash',\n class: 'btn-danger',\n event(e, row) {\n console.warn('Are you clicked me?', e);\n if (row == null) {\n console.info('Ups.. data not found :(')\n } else {\n console.info('Yeeei, I found this :)', JSON.stringify(row));\n }\n }\n },\n {\n text: 'Show',\n icon: 'glyphicon glyphicon-eye-open',\n class: 'btn-info',\n event(e, row) {\n console.warn('Are you clicked me?', e);\n if (row == null) {\n console.info('Ups.. data not found :(')\n } else {\n console.info('Yeeei, I found this :)', JSON.stringify(row));\n }\n }\n }\n ]\n }\n },\n mounted() {\n this.groups = data;\n },\n methods: {\n changePage(values) {\n alert(`Show limit changed, the new limit is ${values.perpage} and the current page is ${values.page}`);\n },\n onSearch(searchQuery) {\n alert(`Did you find this? ${searchQuery}`);\n }\n }\n});\n\n\n// WEBPACK FOOTER //\n// ./src/example.js","export default {\n translations: {\n // English translation\n 'en': {\n 'table': {\n 'label_limits': 'Show',\n 'label_search': 'Search',\n 'placeholder_search': 'Type to search..',\n 'records_not_found': 'No records found'\n },\n 'pagination': {\n 'label_show': 'Showing',\n 'label_to': 'to',\n 'label_of': 'of',\n 'label_entries': 'entries',\n 'btn_first': 'First',\n 'btn_last': 'Latest'\n }\n },\n // Spanish translation\n 'es': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No se encontraron registros.'\n },\n 'pagination': {\n 'label_show': 'Mostrando',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primero',\n 'btn_last': 'Último'\n }\n },\n // French translation\n 'fr': {\n 'table': {\n 'label_limits': 'Afficher',\n 'label_search': 'Recherche',\n 'placeholder_search': 'Recherche par mot-clé..',\n 'records_not_found': 'Aucun enregistrements trouvés'\n },\n 'pagination': {\n 'label_show': 'Affichage de',\n 'label_to': 'à',\n 'label_of': 'de',\n 'label_entries': 'entrées',\n 'btn_first': 'Première',\n 'btn_last': 'Dernière'\n }\n },\n // Chinese Simplified translation\n 'zh-CN': {\n 'table': {\n 'label_limits': '显示',\n 'label_search': '搜索',\n 'placeholder_search': '输入搜索..',\n 'records_not_found': '记录未找到'\n },\n 'pagination': {\n 'label_show': '正在显示',\n 'label_to': '到',\n 'label_of': '总共',\n 'label_entries': '条目',\n 'btn_first': '首页',\n 'btn_last': '未页'\n }\n },\n // Catalan translation\n 'ca': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No s\\'han trobat registres.'\n },\n 'pagination': {\n 'label_show': 'Mostrant',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registres',\n 'btn_first': 'Primer',\n 'btn_last': 'Últim'\n }\n }, \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceLanguage.js","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n let _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render != 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', {perpage: this.perpage, page: page});\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow(row, index) {\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo() {\n let label_show = this.translation.pagination.label_show;\n let from = (this.pagination.from == null) ? 0 : this.pagination.from;\n let label_to = this.translation.pagination.label_to;\n let to = (this.pagination.to == null) ? 0 : this.pagination.to;\n let label_of = this.translation.pagination.label_of;\n let total = this.pagination.total;\n let label_entries = this.translation.pagination.label_entries;\n\n return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/json/stringify.js\n// module id = 8\n// module chunks = 0","var core = require('../../modules/_core')\n , $JSON = core.JSON || (core.JSON = {stringify: JSON.stringify});\nmodule.exports = function stringify(it){ // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/json/stringify.js\n// module id = 9\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 10\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.Vue__pagination nav .pagination[data-v-728cbc62] {\\n margin: 10px 0 !important;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-728cbc62&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Pagination.vue\n// module id = 11\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.vue-datasource .Vue__panel-body[data-v-ae09face] {\\n padding: 0;\\n}\\n.vue-datasource .Vue__panel-body .Vue__table[data-v-ae09face] {\\n margin-bottom: 0;\\n}\\n.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-ae09face] {\\n margin: 10px 0;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-ae09face&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Datasource.vue\n// module id = 12\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-ae09face&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Datasource.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-ae09face!vue-loader/lib/selector?type=template&index=0!./Datasource.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-ae09face\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Datasource.vue\n// module id = 13\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-728cbc62&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Pagination.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-728cbc62!vue-loader/lib/selector?type=template&index=0!./Pagination.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-728cbc62\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 14\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"Vue__pagination\"\n }, [_c('nav', {\n attrs: {\n \"aria-label\": \"Page navigation\"\n }\n }, [_c('ul', {\n staticClass: \"pagination\"\n }, [_c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.firstPage($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Previous\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.previous($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"«\")])])]), _vm._v(\" \"), _vm._l((_vm.items), function(n) {\n return _c('li', {\n class: (_vm.pages.current_page == n) ? 'active' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.change(n)\n }\n }\n }, [_vm._v(_vm._s(n))])])\n }), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Next\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.next($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"»\")])])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.lastPage(_vm.pages.last_page)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-728cbc62!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pagination.vue\n// module id = 15\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-datasource\"\n }, [_c('div', {\n staticClass: \"panel panel-default\"\n }, [_c('div', {\n staticClass: \"panel-heading\"\n }, [_c('div', {\n staticClass: \"form-inline\"\n }, [_c('div', {\n staticClass: \"form-group pull-left\"\n }, [_c('label', {\n staticClass: \"control-label pr2\"\n }, [_vm._v(_vm._s(_vm.translation.table.label_limits))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.perpage),\n expression: \"perpage\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"number\": \"\"\n },\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.perpage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.limits), function(limit) {\n return _c('option', {\n domProps: {\n \"value\": limit\n }\n }, [_vm._v(_vm._s(limit))])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"form-group pull-right\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.translation.table.placeholder_search\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('button', {\n staticClass: \"btn btn-primary\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.searching($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.table.label_search) + \"\\n \")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-body Vue__panel-body\"\n }, [_c('table', {\n staticClass: \"table table-striped Vue__table\"\n }, [_c('thead', [_c('tr', _vm._l((_vm.columns), function(column) {\n return _c('th', [_vm._v(_vm._s(column.name))])\n }))]), _vm._v(\" \"), _c('tbody', [(_vm.pagination.total == 0) ? _c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(_vm._s(_vm.translation.table.records_not_found))])]) : _vm._l((_vm.tableData), function(row, index) {\n return _c('tr', {\n class: {\n 'success': (index == _vm.indexSelected)\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.selectRow(row, index)\n }\n }\n }, _vm._l((_vm.columns), function(k) {\n return _c('td', [_vm._v(\"\\n \" + _vm._s(_vm.fetchFromObject(row, k.key, k.render)) + \"\\n \")])\n }))\n }), _vm._v(\" \"), _c('tr', [_c('td', {\n staticClass: \"text-center\",\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.tableInfo) + \"\\n \")])])], 2)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-footer Vue__panel-footer\"\n }, [_c('div', {\n staticClass: \"pull-left\"\n }, [_c('div', {\n staticClass: \"btn-group Vue__datasource_actions\"\n }, _vm._l((_vm.actions), function(btn) {\n return _c('button', {\n staticClass: \"btn btn-default\",\n class: btn.class,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n btn.event($event, _vm.selected)\n }\n }\n }, [(btn.icon) ? _c('i', {\n staticClass: \"pr1\",\n class: btn.icon\n }) : _vm._e(), _vm._v(\"\\n \" + _vm._s(btn.text) + \"\\n \")])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"pull-right\"\n }, [_c('pagination', {\n attrs: {\n \"pages\": _vm.pagination,\n \"translation\": _vm.translation.pagination\n },\n on: {\n \"change\": _vm.changePage\n }\n })], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-ae09face!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Datasource.vue\n// module id = 16\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n\n\n// WEBPACK FOOTER //\n// Datasource.vue?28dd5f97","\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?633c2b7c","export default {\n translations: {\n // English translation\n 'en': {\n 'table': {\n 'label_limits': 'Show',\n 'label_search': 'Search',\n 'placeholder_search': 'Type to search..',\n 'records_not_found': 'No records found'\n },\n 'pagination': {\n 'label_show': 'Showing',\n 'label_to': 'to',\n 'label_of': 'of',\n 'label_entries': 'entries',\n 'btn_first': 'First',\n 'btn_last': 'Latest'\n }\n },\n // Spanish translation\n 'es': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No se encontraron registros.'\n },\n 'pagination': {\n 'label_show': 'Mostrando',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primero',\n 'btn_last': 'Último'\n }\n },\n // French translation\n 'fr': {\n 'table': {\n 'label_limits': 'Afficher',\n 'label_search': 'Recherche',\n 'placeholder_search': 'Recherche par mot-clé..',\n 'records_not_found': 'Aucun enregistrements trouvés'\n },\n 'pagination': {\n 'label_show': 'Affichage de',\n 'label_to': 'à',\n 'label_of': 'de',\n 'label_entries': 'entrées',\n 'btn_first': 'Première',\n 'btn_last': 'Dernière'\n }\n },\n // Chinese Simplified translation\n 'zh-CN': {\n 'table': {\n 'label_limits': '显示',\n 'label_search': '搜索',\n 'placeholder_search': '输入搜索..',\n 'records_not_found': '记录未找到'\n },\n 'pagination': {\n 'label_show': '正在显示',\n 'label_to': '到',\n 'label_of': '总共',\n 'label_entries': '条目',\n 'btn_first': '首页',\n 'btn_last': '未页'\n }\n },\n // Catalan translation\n 'ca': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No s\\'han trobat registres.'\n },\n 'pagination': {\n 'label_show': 'Mostrant',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registres',\n 'btn_first': 'Primer',\n 'btn_last': 'Últim'\n }\n }, \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceLanguage.js","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n let _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render != 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', {perpage: this.perpage, page: page});\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow(row, index) {\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo() {\n let label_show = this.translation.pagination.label_show;\n let from = (this.pagination.from == null) ? 0 : this.pagination.from;\n let label_to = this.translation.pagination.label_to;\n let to = (this.pagination.to == null) ? 0 : this.pagination.to;\n let label_of = this.translation.pagination.label_of;\n let total = this.pagination.total;\n let label_entries = this.translation.pagination.label_entries;\n\n return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.Vue__pagination nav .pagination[data-v-728cbc62] {\\n margin: 10px 0 !important;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-728cbc62&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Pagination.vue\n// module id = 7\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.vue-datasource .Vue__panel-body[data-v-ae09face] {\\n padding: 0;\\n}\\n.vue-datasource .Vue__panel-body .Vue__table[data-v-ae09face] {\\n margin-bottom: 0;\\n}\\n.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-ae09face] {\\n margin: 10px 0;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-ae09face&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Datasource.vue\n// module id = 8\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-ae09face&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Datasource.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-ae09face!vue-loader/lib/selector?type=template&index=0!./Datasource.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-ae09face\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Datasource.vue\n// module id = 9\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-728cbc62&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Pagination.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-728cbc62!vue-loader/lib/selector?type=template&index=0!./Pagination.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-728cbc62\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 10\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"Vue__pagination\"\n }, [_c('nav', {\n attrs: {\n \"aria-label\": \"Page navigation\"\n }\n }, [_c('ul', {\n staticClass: \"pagination\"\n }, [_c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.firstPage($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Previous\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.previous($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"«\")])])]), _vm._v(\" \"), _vm._l((_vm.items), function(n) {\n return _c('li', {\n class: (_vm.pages.current_page == n) ? 'active' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.change(n)\n }\n }\n }, [_vm._v(_vm._s(n))])])\n }), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Next\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.next($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"»\")])])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.lastPage(_vm.pages.last_page)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-728cbc62!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pagination.vue\n// module id = 11\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-datasource\"\n }, [_c('div', {\n staticClass: \"panel panel-default\"\n }, [_c('div', {\n staticClass: \"panel-heading\"\n }, [_c('div', {\n staticClass: \"form-inline\"\n }, [_c('div', {\n staticClass: \"form-group pull-left\"\n }, [_c('label', {\n staticClass: \"control-label pr2\"\n }, [_vm._v(_vm._s(_vm.translation.table.label_limits))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.perpage),\n expression: \"perpage\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"number\": \"\"\n },\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.perpage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.limits), function(limit) {\n return _c('option', {\n domProps: {\n \"value\": limit\n }\n }, [_vm._v(_vm._s(limit))])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"form-group pull-right\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.translation.table.placeholder_search\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('button', {\n staticClass: \"btn btn-primary\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.searching($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.table.label_search) + \"\\n \")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-body Vue__panel-body\"\n }, [_c('table', {\n staticClass: \"table table-striped Vue__table\"\n }, [_c('thead', [_c('tr', _vm._l((_vm.columns), function(column) {\n return _c('th', [_vm._v(_vm._s(column.name))])\n }))]), _vm._v(\" \"), _c('tbody', [(_vm.pagination.total == 0) ? _c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(_vm._s(_vm.translation.table.records_not_found))])]) : _vm._l((_vm.tableData), function(row, index) {\n return _c('tr', {\n class: {\n 'success': (index == _vm.indexSelected)\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.selectRow(row, index)\n }\n }\n }, _vm._l((_vm.columns), function(k) {\n return _c('td', [_vm._v(\"\\n \" + _vm._s(_vm.fetchFromObject(row, k.key, k.render)) + \"\\n \")])\n }))\n }), _vm._v(\" \"), _c('tr', [_c('td', {\n staticClass: \"text-center\",\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.tableInfo) + \"\\n \")])])], 2)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-footer Vue__panel-footer\"\n }, [_c('div', {\n staticClass: \"pull-left\"\n }, [_c('div', {\n staticClass: \"btn-group Vue__datasource_actions\"\n }, _vm._l((_vm.actions), function(btn) {\n return _c('button', {\n staticClass: \"btn btn-default\",\n class: btn.class,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n btn.event($event, _vm.selected)\n }\n }\n }, [(btn.icon) ? _c('i', {\n staticClass: \"pr1\",\n class: btn.icon\n }) : _vm._e(), _vm._v(\"\\n \" + _vm._s(btn.text) + \"\\n \")])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"pull-right\"\n }, [_c('pagination', {\n attrs: {\n \"pages\": _vm.pagination,\n \"translation\": _vm.translation.pagination\n },\n on: {\n \"change\": _vm.changePage\n }\n })], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-ae09face!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Datasource.vue\n// module id = 12\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n\n\n// WEBPACK FOOTER //\n// Datasource.vue?28dd5f97","\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?633c2b7c","export default {\n translations: {\n // English translation\n 'en': {\n 'table': {\n 'label_limits': 'Show',\n 'label_search': 'Search',\n 'placeholder_search': 'Type to search..',\n 'records_not_found': 'No records found'\n },\n 'pagination': {\n 'label_show': 'Showing',\n 'label_to': 'to',\n 'label_of': 'of',\n 'label_entries': 'entries',\n 'btn_first': 'First',\n 'btn_last': 'Latest'\n }\n },\n // Spanish translation\n 'es': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No se encontraron registros.'\n },\n 'pagination': {\n 'label_show': 'Mostrando',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primero',\n 'btn_last': 'Último'\n }\n },\n // French translation\n 'fr': {\n 'table': {\n 'label_limits': 'Afficher',\n 'label_search': 'Recherche',\n 'placeholder_search': 'Recherche par mot-clé..',\n 'records_not_found': 'Aucun enregistrements trouvés'\n },\n 'pagination': {\n 'label_show': 'Affichage de',\n 'label_to': 'à',\n 'label_of': 'de',\n 'label_entries': 'entrées',\n 'btn_first': 'Première',\n 'btn_last': 'Dernière'\n }\n },\n // Chinese Simplified translation\n 'zh-CN': {\n 'table': {\n 'label_limits': '显示',\n 'label_search': '搜索',\n 'placeholder_search': '输入搜索..',\n 'records_not_found': '记录未找到'\n },\n 'pagination': {\n 'label_show': '正在显示',\n 'label_to': '到',\n 'label_of': '总共',\n 'label_entries': '条目',\n 'btn_first': '首页',\n 'btn_last': '未页'\n }\n },\n // Catalan translation\n 'ca': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No s\\'han trobat registres.'\n },\n 'pagination': {\n 'label_show': 'Mostrant',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registres',\n 'btn_first': 'Primer',\n 'btn_last': 'Últim'\n }\n }, \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceLanguage.js","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n let _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render != 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', {perpage: this.perpage, page: page});\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow(row, index) {\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo() {\n let label_show = this.translation.pagination.label_show;\n let from = (this.pagination.from == null) ? 0 : this.pagination.from;\n let label_to = this.translation.pagination.label_to;\n let to = (this.pagination.to == null) ? 0 : this.pagination.to;\n let label_of = this.translation.pagination.label_of;\n let total = this.pagination.total;\n let label_entries = this.translation.pagination.label_entries;\n\n return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".Vue__pagination nav .pagination[data-v-728cbc62]{margin:10px 0!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-728cbc62&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Pagination.vue\n// module id = 7\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".vue-datasource .Vue__panel-body[data-v-ae09face]{padding:0}.vue-datasource .Vue__panel-body .Vue__table[data-v-ae09face]{margin-bottom:0}.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-ae09face]{margin:10px 0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-ae09face&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Datasource.vue\n// module id = 8\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-ae09face&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Datasource.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-ae09face!vue-loader/lib/selector?type=template&index=0!./Datasource.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-ae09face\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Datasource.vue\n// module id = 9\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-728cbc62&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Pagination.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-728cbc62!vue-loader/lib/selector?type=template&index=0!./Pagination.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-728cbc62\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 10\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"Vue__pagination\"\n }, [_c('nav', {\n attrs: {\n \"aria-label\": \"Page navigation\"\n }\n }, [_c('ul', {\n staticClass: \"pagination\"\n }, [_c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.firstPage($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Previous\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.previous($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"«\")])])]), _vm._v(\" \"), _vm._l((_vm.items), function(n) {\n return _c('li', {\n class: (_vm.pages.current_page == n) ? 'active' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.change(n)\n }\n }\n }, [_vm._v(_vm._s(n))])])\n }), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Next\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.next($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"»\")])])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.lastPage(_vm.pages.last_page)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-728cbc62!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pagination.vue\n// module id = 11\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-datasource\"\n }, [_c('div', {\n staticClass: \"panel panel-default\"\n }, [_c('div', {\n staticClass: \"panel-heading\"\n }, [_c('div', {\n staticClass: \"form-inline\"\n }, [_c('div', {\n staticClass: \"form-group pull-left\"\n }, [_c('label', {\n staticClass: \"control-label pr2\"\n }, [_vm._v(_vm._s(_vm.translation.table.label_limits))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.perpage),\n expression: \"perpage\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"number\": \"\"\n },\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.perpage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.limits), function(limit) {\n return _c('option', {\n domProps: {\n \"value\": limit\n }\n }, [_vm._v(_vm._s(limit))])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"form-group pull-right\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.translation.table.placeholder_search\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('button', {\n staticClass: \"btn btn-primary\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.searching($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.table.label_search) + \"\\n \")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-body Vue__panel-body\"\n }, [_c('table', {\n staticClass: \"table table-striped Vue__table\"\n }, [_c('thead', [_c('tr', _vm._l((_vm.columns), function(column) {\n return _c('th', [_vm._v(_vm._s(column.name))])\n }))]), _vm._v(\" \"), _c('tbody', [(_vm.pagination.total == 0) ? _c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(_vm._s(_vm.translation.table.records_not_found))])]) : _vm._l((_vm.tableData), function(row, index) {\n return _c('tr', {\n class: {\n 'success': (index == _vm.indexSelected)\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.selectRow(row, index)\n }\n }\n }, _vm._l((_vm.columns), function(k) {\n return _c('td', [_vm._v(\"\\n \" + _vm._s(_vm.fetchFromObject(row, k.key, k.render)) + \"\\n \")])\n }))\n }), _vm._v(\" \"), _c('tr', [_c('td', {\n staticClass: \"text-center\",\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.tableInfo) + \"\\n \")])])], 2)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-footer Vue__panel-footer\"\n }, [_c('div', {\n staticClass: \"pull-left\"\n }, [_c('div', {\n staticClass: \"btn-group Vue__datasource_actions\"\n }, _vm._l((_vm.actions), function(btn) {\n return _c('button', {\n staticClass: \"btn btn-default\",\n class: btn.class,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n btn.event($event, _vm.selected)\n }\n }\n }, [(btn.icon) ? _c('i', {\n staticClass: \"pr1\",\n class: btn.icon\n }) : _vm._e(), _vm._v(\"\\n \" + _vm._s(btn.text) + \"\\n \")])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"pull-right\"\n }, [_c('pagination', {\n attrs: {\n \"pages\": _vm.pagination,\n \"translation\": _vm.translation.pagination\n },\n on: {\n \"change\": _vm.changePage\n }\n })], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-ae09face!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Datasource.vue\n// module id = 12\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \ No newline at end of file diff --git a/src/components/Pagination.vue b/src/components/Pagination.vue deleted file mode 100644 index 1f89899..0000000 --- a/src/components/Pagination.vue +++ /dev/null @@ -1,116 +0,0 @@ - - - \ No newline at end of file diff --git a/src/example.js b/src/example.js deleted file mode 100644 index af25301..0000000 --- a/src/example.js +++ /dev/null @@ -1,177 +0,0 @@ -import Vue from 'vue/dist/vue.js'; -import Datasource from './Datasource.vue'; - -var data = { - "pagination": { - "total": 4, - "per_page": 15, - "current_page": 1, - "last_page": 1, - "next_page_url": null, - "prev_page_url": null, - "from": 1, - "to": 4 - }, - "data": [ - { - "id_grupo": 1, - "tipo_grupo": "1", - "nombre_grupo": "All", - "estado_grupo": "1", - "created_at": "2016-12-06 14:18:54", - "updated_at": "2016-12-06 14:18:54", - "deleted_at": null, - "detalle_grupos_count": "4" - }, - { - "id_grupo": 2, - "tipo_grupo": "1", - "nombre_grupo": "Ladies", - "estado_grupo": "1", - "created_at": "2016-12-06 14:18:54", - "updated_at": "2016-12-06 14:18:54", - "deleted_at": null, - "detalle_grupos_count": "1" - }, - { - "id_grupo": 3, - "tipo_grupo": "2", - "nombre_grupo": "Mens", - "estado_grupo": "2", - "created_at": "2016-12-06 14:18:54", - "updated_at": "2016-12-06 14:18:54", - "deleted_at": null, - "detalle_grupos_count": "3" - }, - { - "id_grupo": 4, - "tipo_grupo": "1", - "nombre_grupo": "Chiefs", - "estado_grupo": "1", - "created_at": "2016-12-06 14:18:54", - "updated_at": "2016-12-06 14:18:54", - "deleted_at": null, - "detalle_grupos_count": "1" - }, - { - "id_grupo": 5, - "tipo_grupo": "2", - "nombre_grupo": "Operators", - "estado_grupo": "1", - "created_at": "2016-12-06 14:18:54", - "updated_at": "2016-12-06 14:18:54", - "deleted_at": null, - "detalle_grupos_count": "1" - } - ] -}; - -new Vue({ - el: '#app', - components: { - Datasource - }, - data() { - return { - groups: { - pagination: {}, - data: [] - }, - columns: [ - { - name: 'Id', - key: 'id_grupo', - filter: false, - render(value) { - return `# ${value}`; - } - }, - { - name: 'Name', - key: 'nombre_grupo', - filter: false - }, - { - name: 'Type', - key: 'tipo_grupo', - filter: false, - render(value) { - switch (value) { - case '1': - return 'Global'; - break; - case '2': - return 'General'; - break; - case '3': - return 'Personal'; - break; - } - } - }, - { - name: 'Total', - key: 'detalle_grupos_count', - filter: false, - }, - { - name: 'Date', - key: 'created_at', - filter: false - }, - ], - actions: [ - { - text: 'Edit', - icon: 'glyphicon glyphicon-pencil', - class: 'btn-primary', - event(e, row) { - console.warn('Did clicked me?', e); - if (row == null) { - console.info('Ups.. data not found :(') - } else { - console.info('Yeeei, I found this :)', JSON.stringify(row)); - } - } - }, - { - text: 'Delete', - icon: 'glyphicon glyphicon-trash', - class: 'btn-danger', - event(e, row) { - console.warn('Are you clicked me?', e); - if (row == null) { - console.info('Ups.. data not found :(') - } else { - console.info('Yeeei, I found this :)', JSON.stringify(row)); - } - } - }, - { - text: 'Show', - icon: 'glyphicon glyphicon-eye-open', - class: 'btn-info', - event(e, row) { - console.warn('Are you clicked me?', e); - if (row == null) { - console.info('Ups.. data not found :(') - } else { - console.info('Yeeei, I found this :)', JSON.stringify(row)); - } - } - } - ] - } - }, - mounted() { - this.groups = data; - }, - methods: { - changePage(values) { - alert(`Show limit changed, the new limit is ${values.perpage} and the current page is ${values.page}`); - }, - onSearch(searchQuery) { - alert(`Did you find this? ${searchQuery}`); - } - } -}); \ No newline at end of file diff --git a/src/main.js b/src/main.js deleted file mode 100644 index 122d9ae..0000000 --- a/src/main.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./Datasource.vue'); \ No newline at end of file diff --git a/src/utils/DatasourceLanguage.js b/src/utils/DatasourceLanguage.js deleted file mode 100644 index 8311143..0000000 --- a/src/utils/DatasourceLanguage.js +++ /dev/null @@ -1,89 +0,0 @@ -export default { - translations: { - // English translation - 'en': { - 'table': { - 'label_limits': 'Show', - 'label_search': 'Search', - 'placeholder_search': 'Type to search..', - 'records_not_found': 'No records found' - }, - 'pagination': { - 'label_show': 'Showing', - 'label_to': 'to', - 'label_of': 'of', - 'label_entries': 'entries', - 'btn_first': 'First', - 'btn_last': 'Latest' - } - }, - // Spanish translation - 'es': { - 'table': { - 'label_limits': 'Mostrar', - 'label_search': 'Buscar', - 'placeholder_search': 'Buscar ..', - 'records_not_found': 'No se encontraron registros.' - }, - 'pagination': { - 'label_show': 'Mostrando', - 'label_to': 'a', - 'label_of': 'de', - 'label_entries': 'registros', - 'btn_first': 'Primero', - 'btn_last': 'Último' - } - }, - // French translation - 'fr': { - 'table': { - 'label_limits': 'Afficher', - 'label_search': 'Recherche', - 'placeholder_search': 'Recherche par mot-clé..', - 'records_not_found': 'Aucun enregistrements trouvés' - }, - 'pagination': { - 'label_show': 'Affichage de', - 'label_to': 'à', - 'label_of': 'de', - 'label_entries': 'entrées', - 'btn_first': 'Première', - 'btn_last': 'Dernière' - } - }, - // Chinese Simplified translation - 'zh-CN': { - 'table': { - 'label_limits': '显示', - 'label_search': '搜索', - 'placeholder_search': '输入搜索..', - 'records_not_found': '记录未找到' - }, - 'pagination': { - 'label_show': '正在显示', - 'label_to': '到', - 'label_of': '总共', - 'label_entries': '条目', - 'btn_first': '首页', - 'btn_last': '未页' - } - }, - // Catalan translation - 'ca': { - 'table': { - 'label_limits': 'Mostrar', - 'label_search': 'Buscar', - 'placeholder_search': 'Buscar ..', - 'records_not_found': 'No s\'han trobat registres.' - }, - 'pagination': { - 'label_show': 'Mostrant', - 'label_to': 'a', - 'label_of': 'de', - 'label_entries': 'registres', - 'btn_first': 'Primer', - 'btn_last': 'Últim' - } - }, - } -} diff --git a/src/utils/DatasourceUtils.js b/src/utils/DatasourceUtils.js deleted file mode 100644 index 3e80c5c..0000000 --- a/src/utils/DatasourceUtils.js +++ /dev/null @@ -1,66 +0,0 @@ -export default { - /** - * Find the element value using Recursive Method and return the value rendered if it's defined - * @param obj - * @param column - * @param render - * @returns {*} - */ - fetchFromObject(obj, column, render) { - if (typeof obj === 'undefined') return false; - let _index = column.indexOf('.'); - if (_index > -1) { - return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1)); - } - if (typeof render != 'undefined') { - return render(obj[column]); - } - return obj[column]; - }, - - /** - * Emit event to change page from pagination - * @param page - * @return {void} - */ - changePage(page) { - this.selected = null; - this.indexSelected = -1; - this.$emit('change', {perpage: this.perpage, page: page}); - }, - - /** - * Effect toggle to selected row - * @param row - * @param index - * @return {void} - */ - selectRow(row, index) { - if (this.indexSelected == index) { - this.indexSelected = -1; - this.selected = null; - } else { - this.indexSelected = index; - this.selected = { - 'row': row, - 'index': index - }; - } - }, - - /** - * Computed property: Building custom string information with translation - * @returns {String} - */ - tableInfo() { - let label_show = this.translation.pagination.label_show; - let from = (this.pagination.from == null) ? 0 : this.pagination.from; - let label_to = this.translation.pagination.label_to; - let to = (this.pagination.to == null) ? 0 : this.pagination.to; - let label_of = this.translation.pagination.label_of; - let total = this.pagination.total; - let label_entries = this.translation.pagination.label_entries; - - return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`; - } -} \ No newline at end of file diff --git a/webpack.config.build.js b/webpack.config.build.js deleted file mode 100644 index 23de459..0000000 --- a/webpack.config.build.js +++ /dev/null @@ -1,10 +0,0 @@ -var webpack = require('webpack'); - -module.exports = require('./webpack.config.js'); - -module.exports.entry = { - 'vue-datasource': './src/main.js', -} - -module.exports.output.library = 'VueDatasourceComponent'; -module.exports.output.libraryTarget = 'umd'; \ No newline at end of file diff --git a/webpack.config.build.min.js b/webpack.config.build.min.js deleted file mode 100644 index eeea897..0000000 --- a/webpack.config.build.min.js +++ /dev/null @@ -1,11 +0,0 @@ -var webpack = require('webpack'); - -module.exports = require('./webpack.config.build.js'); - -module.exports.output.filename = "[name].min.js"; - -module.exports.plugins.push(new webpack.optimize.UglifyJsPlugin({ - compress: { - warnings: false, - } -})); \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 3ed9d8a..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,77 +0,0 @@ -var path = require('path') -var webpack = require('webpack') - -module.exports = { - entry: { - example: ['./src/example.js'], - }, - - output: { - path: './dist', - publicPath: '/dist/', - filename: "[name].js", - }, - - - resolve: { - root: path.join(__dirname, 'node_modules'), - alias: { - }, - extensions: ['', '.js', '.vue', '.json'], - }, - - module: { - loaders: [ - { - test: /\.vue$/, - loader: 'vue' - }, - { - test: /\.js$/, - loader: 'babel', - exclude: /node_modules/ - }, - { - test: /\.json$/, - loader: 'json' - }, - { - test: /\.html$/, - loader: 'vue-html' - }, - { - test: /\.(png|jpg|gif|svg)$/, - loader: 'url', - query: { - limit: 10000, - name: '[name].[ext]?[hash]' - } - } - ] - }, - - babel: { - presets: ['es2015', 'stage-0'], - plugins: ['transform-runtime', 'transform-vue-jsx'], - }, - - devServer: { - historyApiFallback: true, - noInfo: true - }, - devtool: '#eval-source-map' -} - -if (process.env.NODE_ENV === 'production') { - module.exports.devtool = '#source-map' - // http://vuejs.github.io/vue-loader/workflow/production.html - module.exports.plugins = (module.exports.plugins || []).concat([ - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: '"production"' - } - }), - - new webpack.optimize.OccurenceOrderPlugin() - ]) -} \ No newline at end of file From cfd67b7e98a4ddbd423062801a8eb43fd033747f Mon Sep 17 00:00:00 2001 From: Javier Diaz Date: Sun, 23 Apr 2017 23:51:23 -0500 Subject: [PATCH 02/44] Initial commit VueDatasource V2 --- .babelrc | 14 ++ .editorconfig | 9 + .eslintignore | 2 + .eslintrc.js | 27 +++ .gitignore | 9 +- .postcssrc.js | 8 + README.md | 77 ++++--- build/build.js | 35 ++++ build/check-versions.js | 48 +++++ build/dev-client.js | 9 + build/dev-server.js | 91 +++++++++ build/utils.js | 71 +++++++ build/vue-loader.conf.js | 12 ++ build/webpack.base.conf.js | 67 ++++++ build/webpack.dev.conf.js | 35 ++++ build/webpack.prod.conf.js | 124 ++++++++++++ build/webpack.test.conf.js | 31 +++ config/dev.env.js | 6 + config/index.js | 38 ++++ config/prod.env.js | 3 + config/test.env.js | 6 + index.html | 16 ++ index.js | 1 + logotype.png | Bin 0 -> 9166 bytes package.json | 121 +++++++++++ screenshot.png | Bin 0 -> 217223 bytes src/App.vue | 119 +++++++++++ src/assets/app.css | 5 + src/assets/logo.png | Bin 0 -> 6849 bytes src/components/Datasource.vue | 225 +++++++++++++++++++++ src/components/Pagination.vue | 85 ++++++++ src/main.js | 13 ++ src/utils/DatasourceUtils.js | 98 +++++++++ static/.gitkeep | 0 test/e2e/custom-assertions/elementCount.js | 26 +++ test/e2e/nightwatch.conf.js | 46 +++++ test/e2e/runner.js | 33 +++ test/e2e/specs/test.js | 19 ++ test/unit/.eslintrc | 9 + test/unit/index.js | 13 ++ test/unit/karma.conf.js | 33 +++ test/unit/specs/Hello.spec.js | 11 + 42 files changed, 1570 insertions(+), 25 deletions(-) create mode 100644 .babelrc create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .postcssrc.js create mode 100644 build/build.js create mode 100644 build/check-versions.js create mode 100644 build/dev-client.js create mode 100644 build/dev-server.js create mode 100644 build/utils.js create mode 100644 build/vue-loader.conf.js create mode 100644 build/webpack.base.conf.js create mode 100644 build/webpack.dev.conf.js create mode 100644 build/webpack.prod.conf.js create mode 100644 build/webpack.test.conf.js create mode 100644 config/dev.env.js create mode 100644 config/index.js create mode 100644 config/prod.env.js create mode 100644 config/test.env.js create mode 100644 index.html create mode 100644 index.js create mode 100644 logotype.png create mode 100644 package.json create mode 100644 screenshot.png create mode 100644 src/App.vue create mode 100644 src/assets/app.css create mode 100644 src/assets/logo.png create mode 100644 src/components/Datasource.vue create mode 100644 src/components/Pagination.vue create mode 100644 src/main.js create mode 100644 src/utils/DatasourceUtils.js create mode 100644 static/.gitkeep create mode 100644 test/e2e/custom-assertions/elementCount.js create mode 100644 test/e2e/nightwatch.conf.js create mode 100644 test/e2e/runner.js create mode 100644 test/e2e/specs/test.js create mode 100644 test/unit/.eslintrc create mode 100644 test/unit/index.js create mode 100644 test/unit/karma.conf.js create mode 100644 test/unit/specs/Hello.spec.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..632558c --- /dev/null +++ b/.babelrc @@ -0,0 +1,14 @@ +{ + "presets": [ + ["env", { "modules": false }], + "stage-2" + ], + "plugins": ["transform-runtime", "transform-vue-jsx"], + "comments": false, + "env": { + "test": { + "presets": ["env", "stage-2"], + "plugins": [ "istanbul" ] + } + } +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..9d08a1a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..34af377 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +build/*.js +config/*.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..67c085d --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,27 @@ +// http://eslint.org/docs/user-guide/configuring + +module.exports = { + root: true, + parser: 'babel-eslint', + parserOptions: { + sourceType: 'module' + }, + env: { + browser: true, + }, + // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style + extends: 'standard', + // required to lint *.vue files + plugins: [ + 'html' + ], + // add your custom rules here + 'rules': { + // allow paren-less arrow functions + 'arrow-parens': 0, + // allow async-await + 'generator-star-spacing': 0, + // allow debugger during development + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0 + } +} diff --git a/.gitignore b/.gitignore index 051cb59..3e1d210 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,9 @@ .DS_Store node_modules/ -npm-debug.log -.idea \ No newline at end of file +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +test/unit/coverage +test/e2e/reports +selenium-debug.log diff --git a/.postcssrc.js b/.postcssrc.js new file mode 100644 index 0000000..ea9a5ab --- /dev/null +++ b/.postcssrc.js @@ -0,0 +1,8 @@ +// https://github.com/michael-ciniawsky/postcss-load-config + +module.exports = { + "plugins": { + // to edit target browsers: use "browserlist" field in package.json + "autoprefixer": {} + } +} diff --git a/README.md b/README.md index ccba8b8..697eef5 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,6 @@ --- ### Demo - -[![forthebadge](http://forthebadge.com/images/badges/built-with-love.svg)](http://forthebadge.com) -[![forthebadge](http://forthebadge.com/images/badges/built-by-developers.svg)](http://forthebadge.com) - !['Screenshot'](https://raw.githubusercontent.com/coderdiaz/vue-datasource/master/screenshot.png) Live: https://young-falls-97690.herokuapp.com/ @@ -72,13 +68,14 @@ new Vue({ ``` ### Available Props -| Prop | Type | Default | Description | -|-------------|---------|---------|-------------------------------------------------------------| -| table-data | Array | | Table information | -| language | String | es | Defines the table labels language | -| columns | Array | | Columns to display | -| pagination | Object | | Pagination information about the table data ([structure] (#pagination-structure)) | -| actions | Array | | Action buttons ([structure] (#action-event-sctructure)) | +| Prop | Type | Default | Description | +|-------------|---------|----------------|-------------------------------------------------------------| +| table-data | Array | | Table information | +| translation | Object | [Object] | Defines the table labels language ([structure](#translation-structure)) | +| limits | Array | [1,5,10,15,20] | Defines the limits to display | +| columns | Array | | Columns to display | +| pagination | Object | | Pagination information about the table data ([structure](#pagination-structure)) | +| actions | Array | | Action buttons ([structure](#action-event-sctructure)) | ### Available Events | Event | Description | @@ -86,15 +83,6 @@ new Vue({ | change | Handle show limit changed. Gets object with new show limit and current page `{perpage: 10, page: 2}`| | searching | Handles search input. Gets string as parameter | -### Available Languages -| Language | Abbr | -|-------------|-------| -| Spanish | es | -| English | en | -| French | fr | -| Chinese (Simplified) | zh-CN | -| Catalan | ca | - ### Columns Each column object needs a `name` and `key` attributes. ```javascript @@ -171,6 +159,22 @@ This callback will modify the data for various operations. Such as applying a sp } ``` +### Translation Structure +```javascript +{ + limit: 'Limit', + search: 'Search', + placeholder_search: 'Type to search..', + records_not_found: 'No records found', + pagination: { + show: 'Showing', + to: 'to', + of: 'of', + entries: 'entries' + } +} +``` + ### Action Event Sctructure ```javascript { @@ -187,15 +191,42 @@ This callback will modify the data for various operations. Such as applying a sp ] } ``` +### Development + +## Build Setup + +``` bash +# install dependencies +npm install + +# serve with hot reload at localhost:8080 +npm run dev + +# build for production with minification +npm run build + +# build for production and view the bundle analyzer report +npm run build --report + +# run unit tests +npm run unit + +# run e2e tests +npm run e2e + +# run all tests +npm test +``` + +For detailed explanation on how things work, checkout the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). ### Implementation examples - Using Laravel 5.3 and pagination: [laravel-datasource-example](https://github.com/coderdiaz/laravel-datasource-example). - ### Contributions All contributions are welcome send your PR and Issues. ### License -Vue Datasource is open-sourced software licensed under the [MIT license](https://raw.githubusercontent.com/coderdiaz/vue-datasource/master/LICENSE) +This is a open-source software licensed under the [MIT license](https://raw.githubusercontent.com/coderdiaz/vue-datasource/master/LICENSE) -##### Created by Javier Diaz. Translation enhancement by [itsuwaribito] (https://github.com/itsuwaribito) +##### Created by Javier Diaz. Translation by [itsuwaribito](https://github.com/itsuwaribito) \ No newline at end of file diff --git a/build/build.js b/build/build.js new file mode 100644 index 0000000..6b8add1 --- /dev/null +++ b/build/build.js @@ -0,0 +1,35 @@ +require('./check-versions')() + +process.env.NODE_ENV = 'production' + +var ora = require('ora') +var rm = require('rimraf') +var path = require('path') +var chalk = require('chalk') +var webpack = require('webpack') +var config = require('../config') +var webpackConfig = require('./webpack.prod.conf') + +var spinner = ora('building for production...') +spinner.start() + +rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { + if (err) throw err + webpack(webpackConfig, function (err, stats) { + spinner.stop() + if (err) throw err + process.stdout.write(stats.toString({ + colors: true, + modules: false, + children: false, + chunks: false, + chunkModules: false + }) + '\n\n') + + console.log(chalk.cyan(' Build complete.\n')) + console.log(chalk.yellow( + ' Tip: built files are meant to be served over an HTTP server.\n' + + ' Opening index.html over file:// won\'t work.\n' + )) + }) +}) diff --git a/build/check-versions.js b/build/check-versions.js new file mode 100644 index 0000000..100f3a0 --- /dev/null +++ b/build/check-versions.js @@ -0,0 +1,48 @@ +var chalk = require('chalk') +var semver = require('semver') +var packageConfig = require('../package.json') +var shell = require('shelljs') +function exec (cmd) { + return require('child_process').execSync(cmd).toString().trim() +} + +var versionRequirements = [ + { + name: 'node', + currentVersion: semver.clean(process.version), + versionRequirement: packageConfig.engines.node + }, +] + +if (shell.which('npm')) { + versionRequirements.push({ + name: 'npm', + currentVersion: exec('npm --version'), + versionRequirement: packageConfig.engines.npm + }) +} + +module.exports = function () { + var warnings = [] + for (var i = 0; i < versionRequirements.length; i++) { + var mod = versionRequirements[i] + if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { + warnings.push(mod.name + ': ' + + chalk.red(mod.currentVersion) + ' should be ' + + chalk.green(mod.versionRequirement) + ) + } + } + + if (warnings.length) { + console.log('') + console.log(chalk.yellow('To use this template, you must update following to modules:')) + console.log() + for (var i = 0; i < warnings.length; i++) { + var warning = warnings[i] + console.log(' ' + warning) + } + console.log() + process.exit(1) + } +} diff --git a/build/dev-client.js b/build/dev-client.js new file mode 100644 index 0000000..18aa1e2 --- /dev/null +++ b/build/dev-client.js @@ -0,0 +1,9 @@ +/* eslint-disable */ +require('eventsource-polyfill') +var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') + +hotClient.subscribe(function (event) { + if (event.action === 'reload') { + window.location.reload() + } +}) diff --git a/build/dev-server.js b/build/dev-server.js new file mode 100644 index 0000000..a048169 --- /dev/null +++ b/build/dev-server.js @@ -0,0 +1,91 @@ +require('./check-versions')() + +var config = require('../config') +if (!process.env.NODE_ENV) { + process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV) +} + +var opn = require('opn') +var path = require('path') +var express = require('express') +var webpack = require('webpack') +var proxyMiddleware = require('http-proxy-middleware') +var webpackConfig = process.env.NODE_ENV === 'testing' + ? require('./webpack.prod.conf') + : require('./webpack.dev.conf') + +// default port where dev server listens for incoming traffic +var port = process.env.PORT || config.dev.port +// automatically open browser, if not set will be false +var autoOpenBrowser = !!config.dev.autoOpenBrowser +// Define HTTP proxies to your custom API backend +// https://github.com/chimurai/http-proxy-middleware +var proxyTable = config.dev.proxyTable + +var app = express() +var compiler = webpack(webpackConfig) + +var devMiddleware = require('webpack-dev-middleware')(compiler, { + publicPath: webpackConfig.output.publicPath, + quiet: true +}) + +var hotMiddleware = require('webpack-hot-middleware')(compiler, { + log: () => {} +}) +// force page reload when html-webpack-plugin template changes +compiler.plugin('compilation', function (compilation) { + compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { + hotMiddleware.publish({ action: 'reload' }) + cb() + }) +}) + +// proxy api requests +Object.keys(proxyTable).forEach(function (context) { + var options = proxyTable[context] + if (typeof options === 'string') { + options = { target: options } + } + app.use(proxyMiddleware(options.filter || context, options)) +}) + +// handle fallback for HTML5 history API +app.use(require('connect-history-api-fallback')()) + +// serve webpack bundle output +app.use(devMiddleware) + +// enable hot-reload and state-preserving +// compilation error display +app.use(hotMiddleware) + +// serve pure static assets +var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory) +app.use(staticPath, express.static('./static')) + +var uri = 'http://localhost:' + port + +var _resolve +var readyPromise = new Promise(resolve => { + _resolve = resolve +}) + +console.log('> Starting dev server...') +devMiddleware.waitUntilValid(() => { + console.log('> Listening at ' + uri + '\n') + // when env is testing, don't need open it + if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') { + opn(uri) + } + _resolve() +}) + +var server = app.listen(port) + +module.exports = { + ready: readyPromise, + close: () => { + server.close() + } +} diff --git a/build/utils.js b/build/utils.js new file mode 100644 index 0000000..b1d54b4 --- /dev/null +++ b/build/utils.js @@ -0,0 +1,71 @@ +var path = require('path') +var config = require('../config') +var ExtractTextPlugin = require('extract-text-webpack-plugin') + +exports.assetsPath = function (_path) { + var assetsSubDirectory = process.env.NODE_ENV === 'production' + ? config.build.assetsSubDirectory + : config.dev.assetsSubDirectory + return path.posix.join(assetsSubDirectory, _path) +} + +exports.cssLoaders = function (options) { + options = options || {} + + var cssLoader = { + loader: 'css-loader', + options: { + minimize: process.env.NODE_ENV === 'production', + sourceMap: options.sourceMap + } + } + + // generate loader string to be used with extract text plugin + function generateLoaders (loader, loaderOptions) { + var loaders = [cssLoader] + if (loader) { + loaders.push({ + loader: loader + '-loader', + options: Object.assign({}, loaderOptions, { + sourceMap: options.sourceMap + }) + }) + } + + // Extract CSS when that option is specified + // (which is the case during production build) + if (options.extract) { + return ExtractTextPlugin.extract({ + use: loaders, + fallback: 'vue-style-loader' + }) + } else { + return ['vue-style-loader'].concat(loaders) + } + } + + // https://vue-loader.vuejs.org/en/configurations/extract-css.html + return { + css: generateLoaders(), + postcss: generateLoaders(), + less: generateLoaders('less'), + sass: generateLoaders('sass', { indentedSyntax: true }), + scss: generateLoaders('sass'), + stylus: generateLoaders('stylus'), + styl: generateLoaders('stylus') + } +} + +// Generate loaders for standalone style files (outside of .vue) +exports.styleLoaders = function (options) { + var output = [] + var loaders = exports.cssLoaders(options) + for (var extension in loaders) { + var loader = loaders[extension] + output.push({ + test: new RegExp('\\.' + extension + '$'), + use: loader + }) + } + return output +} diff --git a/build/vue-loader.conf.js b/build/vue-loader.conf.js new file mode 100644 index 0000000..7aee79b --- /dev/null +++ b/build/vue-loader.conf.js @@ -0,0 +1,12 @@ +var utils = require('./utils') +var config = require('../config') +var isProduction = process.env.NODE_ENV === 'production' + +module.exports = { + loaders: utils.cssLoaders({ + sourceMap: isProduction + ? config.build.productionSourceMap + : config.dev.cssSourceMap, + extract: isProduction + }) +} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js new file mode 100644 index 0000000..f47b326 --- /dev/null +++ b/build/webpack.base.conf.js @@ -0,0 +1,67 @@ +var path = require('path') +var utils = require('./utils') +var config = require('../config') +var vueLoaderConfig = require('./vue-loader.conf') + +function resolve (dir) { + return path.join(__dirname, '..', dir) +} + +module.exports = { + entry: { + app: './src/main.js' + }, + output: { + path: config.build.assetsRoot, + filename: '[name].js', + publicPath: process.env.NODE_ENV === 'production' + ? config.build.assetsPublicPath + : config.dev.assetsPublicPath + }, + resolve: { + extensions: ['.js', '.vue', '.json'], + alias: { + 'vue$': 'vue/dist/vue.esm.js', + '@': resolve('src') + } + }, + module: { + rules: [ + { + test: /\.(js|vue)$/, + loader: 'eslint-loader', + enforce: 'pre', + include: [resolve('src'), resolve('test')], + options: { + formatter: require('eslint-friendly-formatter') + } + }, + { + test: /\.vue$/, + loader: 'vue-loader', + options: vueLoaderConfig + }, + { + test: /\.js$/, + loader: 'babel-loader', + include: [resolve('src'), resolve('test')] + }, + { + test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: utils.assetsPath('img/[name].[hash:7].[ext]') + } + }, + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: utils.assetsPath('fonts/[name].[hash:7].[ext]') + } + } + ] + } +} diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js new file mode 100644 index 0000000..5470402 --- /dev/null +++ b/build/webpack.dev.conf.js @@ -0,0 +1,35 @@ +var utils = require('./utils') +var webpack = require('webpack') +var config = require('../config') +var merge = require('webpack-merge') +var baseWebpackConfig = require('./webpack.base.conf') +var HtmlWebpackPlugin = require('html-webpack-plugin') +var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') + +// add hot-reload related code to entry chunks +Object.keys(baseWebpackConfig.entry).forEach(function (name) { + baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name]) +}) + +module.exports = merge(baseWebpackConfig, { + module: { + rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }) + }, + // cheap-module-eval-source-map is faster for development + devtool: '#cheap-module-eval-source-map', + plugins: [ + new webpack.DefinePlugin({ + 'process.env': config.dev.env + }), + // https://github.com/glenjamin/webpack-hot-middleware#installation--usage + new webpack.HotModuleReplacementPlugin(), + new webpack.NoEmitOnErrorsPlugin(), + // https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: 'index.html', + template: 'index.html', + inject: true + }), + new FriendlyErrorsPlugin() + ] +}) diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js new file mode 100644 index 0000000..99713cc --- /dev/null +++ b/build/webpack.prod.conf.js @@ -0,0 +1,124 @@ +var path = require('path') +var utils = require('./utils') +var webpack = require('webpack') +var config = require('../config') +var merge = require('webpack-merge') +var baseWebpackConfig = require('./webpack.base.conf') +var CopyWebpackPlugin = require('copy-webpack-plugin') +var HtmlWebpackPlugin = require('html-webpack-plugin') +var ExtractTextPlugin = require('extract-text-webpack-plugin') +var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') + +var env = process.env.NODE_ENV === 'testing' + ? require('../config/test.env') + : config.build.env + +var webpackConfig = merge(baseWebpackConfig, { + module: { + rules: utils.styleLoaders({ + sourceMap: config.build.productionSourceMap, + extract: true + }) + }, + devtool: config.build.productionSourceMap ? '#source-map' : false, + output: { + path: config.build.assetsRoot, + filename: utils.assetsPath('js/[name].[chunkhash].js'), + chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') + }, + plugins: [ + // http://vuejs.github.io/vue-loader/en/workflow/production.html + new webpack.DefinePlugin({ + 'process.env': env + }), + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + }, + sourceMap: true + }), + // extract css into its own file + new ExtractTextPlugin({ + filename: utils.assetsPath('css/[name].[contenthash].css') + }), + // Compress extracted CSS. We are using this plugin so that possible + // duplicated CSS from different components can be deduped. + new OptimizeCSSPlugin({ + cssProcessorOptions: { + safe: true + } + }), + // generate dist index.html with correct asset hash for caching. + // you can customize output by editing /index.html + // see https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: process.env.NODE_ENV === 'testing' + ? 'index.html' + : config.build.index, + template: 'index.html', + inject: true, + minify: { + removeComments: true, + collapseWhitespace: true, + removeAttributeQuotes: true + // more options: + // https://github.com/kangax/html-minifier#options-quick-reference + }, + // necessary to consistently work with multiple chunks via CommonsChunkPlugin + chunksSortMode: 'dependency' + }), + // split vendor js into its own file + new webpack.optimize.CommonsChunkPlugin({ + name: 'vendor', + minChunks: function (module, count) { + // any required modules inside node_modules are extracted to vendor + return ( + module.resource && + /\.js$/.test(module.resource) && + module.resource.indexOf( + path.join(__dirname, '../node_modules') + ) === 0 + ) + } + }), + // extract webpack runtime and module manifest to its own file in order to + // prevent vendor hash from being updated whenever app bundle is updated + new webpack.optimize.CommonsChunkPlugin({ + name: 'manifest', + chunks: ['vendor'] + }), + // copy custom static assets + new CopyWebpackPlugin([ + { + from: path.resolve(__dirname, '../static'), + to: config.build.assetsSubDirectory, + ignore: ['.*'] + } + ]) + ] +}) + +if (config.build.productionGzip) { + var CompressionWebpackPlugin = require('compression-webpack-plugin') + + webpackConfig.plugins.push( + new CompressionWebpackPlugin({ + asset: '[path].gz[query]', + algorithm: 'gzip', + test: new RegExp( + '\\.(' + + config.build.productionGzipExtensions.join('|') + + ')$' + ), + threshold: 10240, + minRatio: 0.8 + }) + ) +} + +if (config.build.bundleAnalyzerReport) { + var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin + webpackConfig.plugins.push(new BundleAnalyzerPlugin()) +} + +module.exports = webpackConfig diff --git a/build/webpack.test.conf.js b/build/webpack.test.conf.js new file mode 100644 index 0000000..d6c8c8d --- /dev/null +++ b/build/webpack.test.conf.js @@ -0,0 +1,31 @@ +// This is the webpack config used for unit tests. + +var utils = require('./utils') +var webpack = require('webpack') +var merge = require('webpack-merge') +var baseConfig = require('./webpack.base.conf') + +var webpackConfig = merge(baseConfig, { + // use inline sourcemap for karma-sourcemap-loader + module: { + rules: utils.styleLoaders() + }, + devtool: '#inline-source-map', + resolveLoader: { + alias: { + // necessary to to make lang="scss" work in test when using vue-loader's ?inject option + // see discussion at https://github.com/vuejs/vue-loader/issues/724 + 'scss-loader': 'sass-loader' + } + }, + plugins: [ + new webpack.DefinePlugin({ + 'process.env': require('../config/test.env') + }) + ] +}) + +// no need for app entry during tests +delete webpackConfig.entry + +module.exports = webpackConfig diff --git a/config/dev.env.js b/config/dev.env.js new file mode 100644 index 0000000..efead7c --- /dev/null +++ b/config/dev.env.js @@ -0,0 +1,6 @@ +var merge = require('webpack-merge') +var prodEnv = require('./prod.env') + +module.exports = merge(prodEnv, { + NODE_ENV: '"development"' +}) diff --git a/config/index.js b/config/index.js new file mode 100644 index 0000000..196da1f --- /dev/null +++ b/config/index.js @@ -0,0 +1,38 @@ +// see http://vuejs-templates.github.io/webpack for documentation. +var path = require('path') + +module.exports = { + build: { + env: require('./prod.env'), + index: path.resolve(__dirname, '../dist/index.html'), + assetsRoot: path.resolve(__dirname, '../dist'), + assetsSubDirectory: 'static', + assetsPublicPath: '/', + productionSourceMap: true, + // Gzip off by default as many popular static hosts such as + // Surge or Netlify already gzip all static assets for you. + // Before setting to `true`, make sure to: + // npm install --save-dev compression-webpack-plugin + productionGzip: false, + productionGzipExtensions: ['js', 'css'], + // Run the build command with an extra argument to + // View the bundle analyzer report after build finishes: + // `npm run build --report` + // Set to `true` or `false` to always turn it on or off + bundleAnalyzerReport: process.env.npm_config_report + }, + dev: { + env: require('./dev.env'), + port: 8080, + autoOpenBrowser: true, + assetsSubDirectory: 'static', + assetsPublicPath: '/', + proxyTable: {}, + // CSS Sourcemaps off by default because relative paths are "buggy" + // with this option, according to the CSS-Loader README + // (https://github.com/webpack/css-loader#sourcemaps) + // In our experience, they generally work as expected, + // just be aware of this issue when enabling this option. + cssSourceMap: false + } +} diff --git a/config/prod.env.js b/config/prod.env.js new file mode 100644 index 0000000..773d263 --- /dev/null +++ b/config/prod.env.js @@ -0,0 +1,3 @@ +module.exports = { + NODE_ENV: '"production"' +} diff --git a/config/test.env.js b/config/test.env.js new file mode 100644 index 0000000..89f90de --- /dev/null +++ b/config/test.env.js @@ -0,0 +1,6 @@ +var merge = require('webpack-merge') +var devEnv = require('./dev.env') + +module.exports = merge(devEnv, { + NODE_ENV: '"testing"' +}) diff --git a/index.html b/index.html new file mode 100644 index 0000000..e4a7a07 --- /dev/null +++ b/index.html @@ -0,0 +1,16 @@ + + + + + VueDatasource 2 + + + +
+
+
+
+
+ + + diff --git a/index.js b/index.js new file mode 100644 index 0000000..8415330 --- /dev/null +++ b/index.js @@ -0,0 +1 @@ +modules.exports = require('./src/components/Datasource.vue'); \ No newline at end of file diff --git a/logotype.png b/logotype.png new file mode 100644 index 0000000000000000000000000000000000000000..4d415bf4623179929e38a04bc07e8dcee4a8a07b GIT binary patch literal 9166 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 O04)uD^-5I?{(k@|jlC2A literal 0 HcmV?d00001 diff --git a/package.json b/package.json new file mode 100644 index 0000000..9c1bb7a --- /dev/null +++ b/package.json @@ -0,0 +1,121 @@ +{ + "name": "vue-datasource", + "version": "2.0.0", + "description": "A vue server side component to create dynamic tables", + "author": "Javier Diaz ", + "private": false, + "scripts": { + "dev": "node build/dev-server.js", + "start": "node build/dev-server.js", + "build": "node build/build.js", + "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run", + "e2e": "node test/e2e/runner.js", + "test": "npm run unit && npm run e2e", + "lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs", + "lib": "vue build src/components/Datasource.vue --prod --lib vue-datasource" + }, + "license": "MIT", + "main": "dist/src/components/Datasource.js", + "repository": { + "type": "git", + "url": "git+https://github.com/coderdiaz/vue-datasource.git" + }, + "bugs": { + "url": "https://github.com/coderdiaz/vue-datasource/issues" + }, + "keywords": [ + "vue.js", + "component", + "vue-component", + "vue-datasource", + "table", + "vue-table", + "datatable", + "tables", + "vuejs" + ], + "homepage": "https://github.com/coderdiaz/vue-datasource#readme", + "dependencies": { + "vue": "^2.2.6" + }, + "devDependencies": { + "autoprefixer": "^6.7.2", + "axios": "^0.16.1", + "babel-core": "^6.22.1", + "babel-eslint": "^7.1.1", + "babel-helper-vue-jsx-merge-props": "^2.0.2", + "babel-loader": "^6.2.10", + "babel-plugin-istanbul": "^4.1.1", + "babel-plugin-syntax-jsx": "^6.18.0", + "babel-plugin-transform-runtime": "^6.22.0", + "babel-plugin-transform-vue-jsx": "^3.4.2", + "babel-preset-env": "^1.3.2", + "babel-preset-es2015": "^6.24.1", + "babel-preset-stage-2": "^6.22.0", + "babel-register": "^6.22.0", + "chai": "^3.5.0", + "chalk": "^1.1.3", + "chromedriver": "^2.27.2", + "connect-history-api-fallback": "^1.3.0", + "copy-webpack-plugin": "^4.0.1", + "cross-env": "^4.0.0", + "cross-spawn": "^5.0.1", + "css-loader": "^0.28.0", + "eslint": "^3.19.0", + "eslint-config-standard": "^6.2.1", + "eslint-friendly-formatter": "^2.0.7", + "eslint-loader": "^1.7.1", + "eslint-plugin-html": "^2.0.0", + "eslint-plugin-promise": "^3.4.0", + "eslint-plugin-standard": "^2.0.1", + "eventsource-polyfill": "^0.9.6", + "express": "^4.14.1", + "extract-text-webpack-plugin": "^2.0.0", + "file-loader": "^0.11.1", + "friendly-errors-webpack-plugin": "^1.1.3", + "html-webpack-plugin": "^2.28.0", + "http-proxy-middleware": "^0.17.3", + "inject-loader": "^3.0.0", + "karma": "^1.4.1", + "karma-coverage": "^1.1.1", + "karma-mocha": "^1.3.0", + "karma-phantomjs-launcher": "^1.0.2", + "karma-phantomjs-shim": "^1.4.0", + "karma-sinon-chai": "^1.3.1", + "karma-sourcemap-loader": "^0.3.7", + "karma-spec-reporter": "0.0.30", + "karma-webpack": "^2.0.2", + "lolex": "^1.5.2", + "mocha": "^3.2.0", + "nightwatch": "^0.9.12", + "opn": "^4.0.2", + "optimize-css-assets-webpack-plugin": "^1.3.0", + "ora": "^1.2.0", + "phantomjs-prebuilt": "^2.1.14", + "rimraf": "^2.6.0", + "selenium-server": "^3.0.1", + "semver": "^5.3.0", + "shelljs": "^0.7.6", + "sinon": "^2.1.0", + "sinon-chai": "^2.8.0", + "style-loader": "^0.16.1", + "url-loader": "^0.5.8", + "vue-loader": "^11.3.4", + "vue-style-loader": "^2.0.5", + "vue-template-compiler": "^2.2.6", + "webpack": "^2.3.3", + "webpack-bundle-analyzer": "^2.2.1", + "webpack-dev-middleware": "^1.10.0", + "webpack-hot-middleware": "^2.18.0", + "webpack-merge": "^4.1.0" + }, + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 8" + ] +} diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..0df48e49c3a05d0d9dae99286b5c4216803be72d GIT binary patch literal 217223 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

_ruW5b(5hz)g~MD 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
rC|JGun_ zd9K;*^=_D(Hc0)Ft7GAyP!l>C;WFY~ zPhhcL$V065eD1=@ru=0OJv2~`OfY)3Te%Fv2hyvtZ1&R5Sy6kN4v*AqSJ}9}&9ti9 z%gisXE&vh#RB zQ}=gMCoglPWRrSN*wCG38XDi9nGkyRh?$H=5o1t zM(6HN8lM18J?P%VSgp|y$sr;sHkI-lV`kQ=jbzwvV6yp{wg zdgN8M44tdDyL4Gj26mL5`Pz5F#F;5Glq(_>nMymW(z;}r%XR5=tMp3F@4D9LwlRnu zC}M-dE?`u}+Zf1j1H%U!V=U*kxoK3WiV-7_k>TS0B!k}{3*KLKIu-5YD?0GFu=t4P zCHL#2hXhfr)oyEuoWwS~P2vWPak_mjT^_lv*4cGAoB5}TiH?^@mMD^Xkc&?JBTi{3 z(Zc=RDJYuCQgHVNh_mop?T8O)mCKRsu6&*CW{^kRKt2A*9xJz^~9obNu2G((G)GnBaR>?$*kry7lW7{ns zj|j=tzN(_GWp}C`;0vbd_HwYftv&5% zv8CE__R^7^CM*Su;K{SM+hd0jf<*_56HN=zb#KF_8bX}dcW?;fCbgK&U2m(O7ulrd zcYFNXwd3ow@AW0+gT zO`&L-dcxVuK*K9(rj5?f0EGT~36AbARA0H*uOld@7MD;}7+uYUgh(;9+w}!n?#NXs zii+E7f8MdfnOd9djQ|6UlbM>Hw_u8jT%LA(Zm+xQZ%}$?GZP&GMw}$)vN!h-G03)5C*=y-zcJVOo-&ZRxE;Bb5lDk>nE=-W!%Ki)JWkB9mOvTa0%q2Qzyv?Yb_i9*~>`c9lYgajeiK3LtacsMfv$Amb=pgjpgIRI9qU6 zG|{(?nM7iGd({MFW;NKcm4`}GPuF}cWP6;ecJ_Ddk%!*)J?MxYpNzd41P1Wfa|3^mWb(9>bMVI)XOV z7L_EdqSt2GhoD?`xIp#X<&wwWYNdW}$6m5HKfF%+@h!Y^$T(0GE z&7+xO#7aXq{Upcb1is7OVJl^iLl^vcbF30eR(y8ly0a6XnUs@*hn=XbnuWsx4^O|} zDckGwzUE@)qvy0!t6aep(bDBpK{R2S)99|t!vt4=R(@Oac9$5-k0eV?l@LFf?H%&? zmpnF`Jvp@22?k5xYKo?sT|4JE4Ku67Py%y&zOJ~`ace|`6kwJF;nG5`7f?=oLOiSq?gd6O|6qF*-fB8xN&M;|QOYHE*B#>)yZksX-;7$u?aAbB*;}&obadh* zy~Ih=Ibl>sOYSnC{SG`H?+Jbjw*TTzd|lc6fVZAbFc=u5mdj*obaj?BlZwgWd^;%- z*L97}2`L(X3l5!lNPqx|jG^Cbe3|mEe*Bz^iY9`PuzFs(9*r%EXZB!fp%6M`tj184 zakKKU>3F=1aApd!-|QwKOq8(C1CVffkJ%Zf%?MReN=A}!%iBAU z4o%f85sKO+hdb*uH{JLUYT?ki-5oR>5q@;@F|qPIGzMpUbv-3jVuWLXOUB5S%k_P& zC%~=Mvba{amXgESWA=HeOgt;NkG2R2D3}n1vy-^)CfUw8R8Qo9*q5Q@Fmt z+cFijy^M>FDhnJfoNFfPdGNhtf{~r{9704u?+O|Nl;tA+3SgJL!(2=$T5)+^o~KJy zuch7AQIP_M8#z`7SpZ-R3RV|NjuYgvQPU<9@6sk$MQiYiQ#=Z)X8h!!u&}C)OBGJT z^9#*56Ps}@>?>8XgnK%q;u!NnZR)9&c(h{ik&%eOr=V-ERANr8Qc23qwid=L7-l$k ziPg)ESNi?N^aphp88y8axqr$#xLUFKu>C|)!WTH(gBhp}&Pbx`)*4k>ri2Du zt-SJy+^+(rxQ=2Pp|1s`p~fkKDmvLmn3+zX3(6r|v0^R?2p{n*JV@$+Lwi5{fq`70 zYZz~z{yG?7IG6x(A{B3wd~zv=u$sHR4{|Ac#~)jp9sH$~hN4YwwmEb1ghnW2l{J(g z2|Jho(7;oTe5PcGNeefOQ3V}{F$kbeTGfaKx#y>e^RWil^M+h~RNTG8SlN6$CCxP*p0ZBxt?7foxO)Yi(>QdVq9CDw0q8bLxp z+*s;u-vNzHk0(Q^x1296mR)I|eg+um$EkmKv7txHOgMrF=}~_ALp|(@TFfP31Am?7 zeg$ZLl_&%tZ&iS`+cy`N!3@rt5+y5^OcaSy=pPy3N&gmbHY_rOa>Q5mQ%075>2yO6PNTWv2rZyMQ9v_rM8#1oS@e@BL_sBZ zfe4F}>><-B+54mR(nHVyC3E7~B-3d@zZWSZW&OJPFe(?M z6vVBbKR1?B?NKriCN^-xhreDagABfB*;LMQEc4|V5Kl-hkbEmB6N#|rLE)6@A^g(U zFmZ(h(jom>^1%c7XMlwSD)xCPDdKt~mrWnWP(Y|9QV=l*$PYW5CS9t&hngnq@vDCZ zBT*RGLk@X*0C4gbMfu~zNP{UmmxB)!^*4Y+82NSH)M|0|I1)ff&vstmi_^uhYhBso zDjF%Z6S3eAkn$D9PiR%+w3MkhpypkAM{k_qp5P?!+8Vmt*4TrolhzVf5B*685Pnr< zqTmyAdNZClQACu8IKfoMOs&fU;)uzLV4TBtIAnx+b}|wmQy@Gx ze0thx41lqF>^MhDq~{y^>+AX^8i`%Rh#wna;Ns>CP{8wdgy+PH!8lGk`}UqzJLUN~ z5WK9N>itv97fEIqL2!BoaeewbQjB*$9@)qTNOPMJIrfhOUiZ$Rw5r<4#5_~4jT=6H!l8lQ5s!$0@ zD4^{7!1ns;>SIOu{vXr^loF_)w14Q)e@k>Tdx5W$>u6Ku8cp{u{qT-RyBG zF;O!Vp)~c8K;<_2_yH3Ta5iX$=)PKg5PS{XwwcDZ$LEKHq>bOn-W>tfr{5EI4z%0t zXOu{eJm4ASt@BLOlk9up(S@RN+E7sbliSN#_?|=2CJX19HE{xJ`1-u!S@@%%hA7?2 zY%>0rz{nxAK6=N6rW*0=XC9065cf!pCC^SoVrc@3r4{6&iT6i0OhBJE;z~{>vXm+> zBi?i7yKNJlt;cmX%dp2iQnLH=w$pyyu->flY{GKq#*Pe1@4c(mUM2qSW!4mL0{)jG znO^R=y*@-sbzNBqX&{|Q!c}9rOEo2kf4o5Go!=ihMHqj?F-KDxepHYYTNjXH&T1rQ zD3TNAR^VL(#bi~=&?Jcp{>pJ+mhyG4$LhrVV~8e0eL*)8_%+Tl=r~qigo`VAGqe!R zU}|w=_L>RqryJJ=1cBR2Hvd8=iLCn*GozD_^zkjL%jx{}>&;z7hmlIxPy_hyCm;iBwtpu^RHIhNE-BiEbhb^Dn~ zpn>7w#YRlCJzlgu#*j@eKln8d2X!E7D=Dh- zr8Ds`VwzjEf-e}y?H&i@sbkbZmJ3352DO{?O)0>|Ow)a=bcPO07IxGwGs#&g0~SJI zo-nC*A=IBYFFNUcmoWDUNcMq{Ai)e8Qo-f&B+zna46l*-y4aE&X8$~-c|7`lwlMBJ z9)^?Nei`cw2FvkvN#4XJ$ot5H31U#ByPF5${P8z&u;kQQh3{PRw(ZM&^ZhwG`nBU$ z9A(fqt{zoVhpV9f15gXg;^p$pAuOjSfA_{?laCG~g9rs0@JirfeTPf|2WSLxBA>rO zKoJA2%ge2X(@2PCGI3$G&B$rO+5ul2pJ`QKn>UH z&LB1RdXiH)4SNGXM$?L&RvfvgH;0UoN?FVl(Ex@)2nD7`BS|(4>gZjjgd(I-yNH}4 z>CBalQj-8!|ND>acMI~8-+6hnaRB#oRNa)J`)z{ysw>XIL`gW0*7Mc9I(XH`?d3ZS z&cVwK1R}^7!go|1lWrcVok}WDOo`cncUcvkAb4lN?>4l<#CDwoEE?7pM92jbB18qa z6c4Tju?$Bj;5X@jf~#EA^>))rj$NbkeZ=`QLMDju2onyGf{_0>32jUU_TfcH$d3|k z&TkHkVOKUuSnB=cmBO^F(@RXt<6guMEWnF%JOJ+k{so8u$wxd`dw;{=MHjf7KOKYW z6Cus}I`RP?6ij@AxpGSgJmA>Co1ltxMqC70gsgE8!q%gNpjmP+KWIrvY}Vm;2&d?F z^%^n?R?+2{oh%cXDc7A_3)i0QTmH|(acPAO?wE&rs+V(_UrZ5He!{tmKWQ`Mu#$YD-Rn(>kO(JDGP1~;SZJxfk%@d6(Y^22a zr06s?ImLErddt(zvg>3XHIZ9JssAp-?PBPYMSFLfagIapsPJE+VQwugj(nK0jgNl8 zmrbimb2UkHUN^7aBLqs_^kXar-j&y2Al7^nJ8vty_O8D0A@jq+zsBUkXK#-!O>rDK$0#FLSc`0??cmHFa6&S3d+0i3*| zc|=L&l%ka}_H@}oK}79x0eUSB8Aln7aQWP#iFKhiX~5FokUgOO^uK{y}<@%xOe+?0Hf=Qn3qxEQ%v zuKW=Bs#0Gu!S^|Uf$RN{og4tzfE5H#4i9a?`!j@JV|{y%3BZX5fP8q!LREA#QPZ@w zY25Gm{*Y=@s(KdlPL4vmOGdt@LH&nm-K*RPuCLdB$Htmh%ms0S7i-SL!^07QX@9M9 z0QCi2#5)F75V%oEBr-%4rcD3LM4fMPg2x9%v9n%0c?5)&knq_T_ZFKPbksV!t)FOT z;4RjIIblZ<{oYi0mT+#6&9!w+v5y@-EW!Xw955^0*SGYH&!-<7vqgm8va3Tw`z$_Y zcfO2@a*C<8rGZ#GIJm$xZp^bVF*0(q7!&K0VQ2;oDJlcVyXL?qn~@bCdH!&C^n+J0c|ePf1PU2uMc;zeC$^Jpu} zr=NdxD8P%~eM^VpH?=bm!|XOY1J4#O>-p|qnRvLTvx!@s>$(hLQTOv_sY>DV89Ob0 zo>O}})u@rsuDaMN3Z8BpGNk+0e)WYq)1BTZRhoPS1BPb^qkDw4y{g_+0B&V zk}e$q1{|pnw)}Y#RO1Pcjo(U(b&5V&ErhTvE$wh^sj7LK>g5a)6Os7W?J+@!*1j^1tm^kcJ3H*J2%rhd^H>NgO!zy@X;v7eUJTl>gCb&4si^;2>-%%8;wX* zutZ@99xfrPz@z46&)tl!IA~CGVwWZ<8Q~=F+<5$M5E`XsBFd>1*9RhdI5>KJY)Y(LMZuPYic|`_Z)xe_ur*M% z36bq7vA`*jU?(drBj6SEUnnAJVBllZEDn#}8wC&LNl3b4arTmwbt#zP+Uy-OmtwP( z?N`mr=zuM%Kp4X84V^148Z9Son(q?XUE>`qP0r?3FBlLU20yO{xr_R=%7*zNi-XlJ z7X4a0RBCvPxYm&Tvb*hqj**ZYAE(|(6O3|layM9LC^Sr1WHOEtLrYD;DpVXUvCvo2 zvWz99n5CYIJhI;Q&an=SoGt|Z^J{OK)ayH?<>O=^cludVF$xWQ4GCKQe<@OH@yxWr}g5abnoG$i!r@)^oC=L3h4X?mf=5 zU{Gktynwu1k#uA>dF0oB;LvF!u`B-UCqiK;-UY1UTg z?8cFn)Jll<6aZB~Kpb<=Zl<3jGe%`WOrK^UP1w%)#DyYJvb8v zTq=8Ft`W(BkeZxGP-rd7%g9VDOX@y61j?MVydE5E-n}C(g3sf2 z@g-{`weo@eO4!LkG(a>Tbbe=hd4=&(kQo|ExhgPRoIcFe=br#AYHmsaBG@d1inc5e z=gRyJTaUQWt;Z#QewL$FwwK^e$@JTO&3Mg9eI4=Sw-F@ZW-g`RKveRK%tYV@Eh{XsmUZ==GmiDoU=u&|EY*XOCS* z(Nn!FR*^Kk@(F^U3ZdP4bY{8?Gcr>&zdn11rm@Bp3cZtPNh7C4Wq~LO2`PxQiDadt z?WLWW;3xZIOETCFi-zerBP}Al$3yuM7|DvnhNhxm^H+btp;_N=Mg%IYe&!R0>(jO` zlE{sW&sI|M`qQY0sdpH+7daV3&Lwv^6!Ho8{5EGO4jdPp;PGhu-A0VT%W0WOCGm3e zbaF7XA0?R^m<|t+50A3&Be&F*v(N`0n_J*$88O@4!4|x3{5#X-mU2geX-1eJIKN(kNzPo<_^4Fotx1`o}-h!>& z2vTHo5^CvD@-_@_zSx+Iq?k*=M_1i2NDy@wJJ7S^}}SI1b}LbK{U+#dS3ZDJ`BpXtpqE>D&Un3Kp>n?aDsOL^_!L&o# z%;g+gjx$F$#M1N*aPnG8jW*nKcO$csA0xp?Pg^pNUW_ZUdX+xvuC~{cObd{w(IUq| zXydjJA*m7O=U^};Kxvofd2A^#YI=ksCxD3Omhk^akY`*GQR?Mb1nwiz(D{Res1cSnEL ztvU5KGm(4`I$;B17&%dLjk?#5=I5L^`bE>{ z?ZG4DR4Kw0e^Wuci{v_wT|f_JKw!2oqtpwN0ZymtmSHV^D51Nvp^y+!m!g($>OjK# z<@!PvIMTu;n>~Zdy`1-5GKB4QU3gLt@&n$qSVSs^QO8Gr&pr4zy|oQxG;h`u7V^@p zs)H%$_=|xa%-vY|c{$kqwQ^dN-isBE5W?K-_&7I2#T(Y^D0bVAyvKLMh4)gQz8k%E zE371pPslE5^0?4lol1?Wn7;aTUn9eS5NGtKFZg7SQ|H%~-(Dt2P&@xk1^o^N_3l+% zxgzS-gofT-!{IH2%pu2+GGj1&)=_cg^l1<&S-UB?cAc6MZG^N9<44#Fk=IsO>A%74 z9;5ZR#+&xJDe|Y=<#l624BFMbX8eWS1hasm2%^k(7pT!A%{o>_9KO&5`iTDq0 zjzqw41lK@82$9`#hJHcHO|+${b3pw8*Q%e=hxOZ+$b?q7jYAxI1Z z%5=3Z+$dvCe!8g{B#zC~;D;bZh=0u@%tx7#PSsysXMS((H+nnXh{8I8Qd1PfAO2Nc zfo0T$kJLXW)JVg*27f?ndQQ#-Z*|8mdm}^z04n1pDo$Lxj*CP~!73 zV)(D1)AZRf8Z5aMy#*Lh;DUtqNgk;KkY}-~blNV{@?bMe-bS$qtipi;KB?b5;%0?U zOsz?08?@OGd(;U8@g)TG z6+)CB<_ZYU;+626KgFaeaOiRi7Dvw)6Jg!9Xz!@Pcae-2v9Xgy*{$$Ck1WvRv&#n&@8Vr&bUT&J<4H_MDBtLJ;!(D;iUWP@ zlxo?;ksXRr9-g+^x0@qON=NeonglM_@^()h+P`3E5+@l5V|%dd)6mx#;Q3k`R@*ot z*iAR-SLMWvjYah3Zc$$01|gHkv*AJ)4@(KP%i{*Fq+$aYVu(llH%~KD4VW7W!cLPJ za6o)R0GDnAVB68+?6YvJ%FNSEnVAp6PYG`bB$)({f*A-6p!(zT2m2A+ zi4y%2*!S$${`%l0QWb&Vr}etOjnE`yVb{J}w8(*}w07=KEZcK3QVWDb^b9BZO^BHfS?6*e zbT$Yo4aMgSTR$+urN`PCA_SUdPwobg(os-(L&xFm7~{s+7jEs^yL$ZSA=VIp|BZ8c z1DxvPoHufKhY5@73045oK;EH+_zIRn0Q&f;Cm0Btg8()Wow)>ni5oM?7gr}r!UUVA z4(^*Wwo3!85mHEf$#xR=0oeEr?CbLjG_#;S0-!&<0ntf^Nf^BbnosVP?m>VHZGW`M|_0v15jVuq8C3len)of9~{`g9;992R^jrl_@dNtrI`17sJd zV$Iq2f4Yacb4UU(8Dm5l%*U{~>i8DePGjQ4`^RCd!L`c~f7?QbS;7ZxMBhECrXfqeO66UYlw858*Dg@1Q!;I{qW}R>nP#SU_j3!_9x{P5!MOZ^5rm zLq5Bz6J5%a)-m$PW=_mV1d_R6kHNnITkYH9zeRUp1T_ZQBNRBApEWZ zNxm&eCmxiDg@Q-^D4#IkH5$qC4H3uR?Zjs1Lb8lqA)XBQ9PhnEE*mh^8GiMwCZbu ziDZ!H%!k5p^Kt4t0b+rjjaa5oAO|1;T+A;B+@2;jFZZw|pb%1I8H?4Y3{Dmz_AF4G zA1E1m2YyDVI>fy-1r3bcZcG2_dwSOP!^u7#<8ZjZ^_r)Pn%?7D7G^p>K#Q4V92trG zXi9f*56g^gM6Ol)%lOMcItvcUgQ(%xX?Y{X>^#FT(B+@mnyfq45G|fgtOLP(Su3tb zpb&$+hXDp699EWIW!`02+#rI05dot=ecjzygWftfO%c&h^P2CqNn)};ko;r*qG^k% zJnZTPkh`a>brdiM&R`sPhcAm)Fbfbg3!u*(q7kOtu*DW4V z3AWE-o!i}$qsaY`kQzu%8=9L&qQ3t^N?sl-$bH}NigubOLauv8(W|Xh5-=u!2A*|Q z*QO~PgMB7kw_}m?etK<}m!Vm*a;de?L$r5zoMT&QbB$1}3Epca@^H_3{^b*}jVh7x zcB9Ef^UL>QJWPNI1_m+3=FzlevmqK8Q|seaIFF`Bb9HrLu`Aiv-MW&oIR=CbVM55j z(SW+Hl3}Gpg8j)>xpV+?%pcv_bBBho8oS%}L1QTPBxwy>S8tWCJ)rQ))-IP5JN+#C zx)aUqFyg+_6nvh}S^}aWOoH8oYbo^1sH_zJ!#`HOhifJu>W9e}HsHY{saL)q%`z8t z|0o^*9v^o=*2)q_k5h4ZTZrkEoEKVN)4|1)+VZ$scy__KQ__cfsTN2q0;Wn;L>T(} zQ!Wn>FxWx$EndsUa_t%O2&k{2<~VR>`7r6ZzOJ1%3+RIdyR_rH*PAzJQ|kvvAtTc% zf~R4CfR1cnccKHOi)^+WUCf0Be*1L~a$o)eQ*<<*4*!U>D^G^oQOU4^_;)yVeQO<| z7Ep0^)UGftvW^W}QA;>WLcylh-%5_kZ(4RlbVo|IHyw#ILh=zs_Ip~PT{|y%KVR01 z68X5(MAy+awVnjX5YjajtDaVuo2&G~L!Yf9VX!{XX#`>o$LY5A8t-U{ii2Z8Vvm*9oSNmyfzc7+xqXsNBGG>P|~`(cl*K98zf7PH{!Hmf2Q zvsO!rEDui}L?iD{LfO-Sz>IcAH|Nze=^R|g|A@o6*h;5dcWoCv7bK}&j)wDTEO9z^ z%iv2$&Gkh-PrBBU>sw0vhr^~8fR8ya$Q1N$`bW5U0Eb(?HV+t2?ONkUyc<2F491_Q z(>0^CYii2>sw8`Td?i3+z0k#OS5+P!o4%M<1k}8JymU&tO~ii{&k5e0b!qV6WqjpXzl8)Tpi^$ELs*C*g3=F-lagh;0xn7P$GRZ#BwUeCJ$A;1I zsb|5uk^%g2UO|qptjyA!DqF6$Y7Fz`sRSBdWOu0bP79w}Z*7zwO!w?GU2Zov zUs&GpN0pBF^#y`KaI$EilOP;*S5uQIMwH{|>Ly6=>#bSm*QbkkZrN&Y#&Z1R>(yb` z__$T0vaJ7i)YH=+oIG~*T8PcklG16-?6aKmw-ed`0cDt!!ryM@`CZ4{=B-5C*HPtx z2DjOAwdIkb+|#`&-#IK|V&|_y!EcVWH%)mi8(;F(g?2mFZ^V4eil=AxPKU<*qmV9h#KH7 zwt^>~U{@6pwCiE^Mfy23RGSbTZ(_OH=p!BhK9b1|*J8KV!&isBuXzoOJdUvj<`V~y zAoW?anJSfkm$MrY*R`ILO~&H)q;-`Z+IZUCPIF){g7*P`#WwCPQMT?^K9_NPM25RL zv{)N+JJu2#>KJmgEU}yot;xb0rx%(X*JcCHxLS%V7?b)GrWS2~Z^gZ?$x9zbDtsL8 zRkN*H3%uR@G=m=&a@#JjSTV+H2T^6*(f)!6n52ac&$pDISEa417<-># zAp1rR!AW`C(9zbB?weGKMKLWIqTOmr_IAHk{2X&^x5u9-8FkK%B|-W<@eh}Mz?iez z%THi${`fy6=I^?E7H4!*;^|#{Qzt*Kw-MMrANGH3Z`uu}j_=;K;dbx=P#uL&T3!|= z^+A}Ob-s<1bMQkUnW+b~OM5HJ?K3D|cYUu4GMr6FBTRW`8c7N(!o-b}MelyBi zm;Ty@^E~DD)Z)Fb#@;?zi_11g(d=VxCQ_E_cDyW|duzla2?BMN(rb6p@4l$*%4vPS z)!w?G9UpPMo9~Q}R8o+$Xr<3@VKL^)5}H@V>l-@9%xR&1I2B>ryHa(HSvl zrpJ#42cZ&`~bCpvu zgADThz6VBVUXmzRh&dl7K)FkMnoJmC=ZLT?+1aq%PDvB*IA2+=DJBT1SzXUpp;0$d zE|4@~qp?R|?QOW|KR{wJ>*IFqESatiJ3i60X_@w6vLR!bcdvD}T4vwU;W3&Y zmVCFcb-_%ZlU6bl_XAiJWrX<*?O)lKt5u0!V*oX&tm)#BqK0@GTmAs1yEHgHz8EGr z$*uT#BX6cgX`NG2Th|8(#uEVys1}|cJgwxsmOkSIIY_hUT+W4Le!-P3>bu5{nRrr)di~z1OG!#gc3-+JUYIem82RvOrV?Nyo@xq^! zQb|#8a_>7wTDVsWQ5Jn=LbVDbCK00~BnT=ib&EBXnh1SVo0f$qg%jgh^5c}rsc6-+;^3$p0 z)mtnH7jwHcs&V(PGccjWhBKRPS6g{L zkJb|V;KZ4xUGp@kA@cxQ*9$V5oaFhAU(eq(Jx%(rZ--STvFat&W!bm2<@}V&X5yfL zv@X|flc}lvwz#8xJ=^PP7i1jBbenB6Z6J|y1~)h@Q!U=|tGhmsIXCMUB7E&Gm#-cb zJj^tUwv`q?N>-|1Zo%pVgR$Ikrs=r|{tf*<=~HBlxdRY_1D;%#RGl<#D2Bg{&FvG1 zrrqj!a21OMyUL11fp)H2AP&#tsPmO+&cM{H+v?tJ%a|~|jmsODS&YrwKQoM3<^_kc zr&Y`BUfmVzLr5h#TD=`hd!l>wA(l_?0G7DzUe`6CDqyD@^vm$>Kr=HRFQr!qlC;~k z<}3>f6w!+L^5sV$1Po2nqEtpwJglu9FepL9x}~lBGVBvrDQ zu$gjD_xHc#XH;pKnZKP5=tiC}%GF2%EOU0%=0NdanKnB(_vOkr_Y)&NmF_Ja7de>G zB~R6tG8^4vgj~$5 zUNQz;c4#d#8jA!az=T>Uu~lkmBQnO-AF5XFTr#izN+FDl5ii}0Wg=liO0lRbzkQ!~ zfY}o+rIDp|HF}_o<%5CbDU|y?oeH~Oa<(6nge4E6iqfOCuCGS6b+&f2wX?z_Biq{7 zHZ!x=m!m}swzhf|Q~;Chpl9QKoPa&E*quI^=Qk@qc3EVK zrg_=!+&&E9)f9hCHN}At7*oNJ%#f zx}1<xINYv>6&z{#+q;EN z#Cr9aJd(q|uIHH(F zuB)qlfU@o>+v8Bdi5uLIE3u@5)z>GeBE5xM^U0Sfcf)Jbjz$2+leeyqNk;4 z>O8Adm%Xui45rwelK?LWLYbeX*)xX6*C7&5Xt;N*$#bUL%cW9ApD8enFg|bCfHa1* zDw)3fpSDbnrsY(C;eA^k$KwH8tTG0RC=aAkILPQCiU>5$@KB;a&d4QG*mdzB%55a?VM3Z?#dV5p6 zvF_hrR8#ge>B(A3$4=I}9fd6g760yLfOz!M(~ZX-J4m5<=+eMQcqQh2)tSKSOp-ZQ z%OdIB4(6ZQv^YenY@B!7*9x5u|x-%NmSL8^GdT~iW@cAPdXf9SHiHtb;B-eh9nV8~>&`aC@5^Bkjb z48(z*<_~^MUaw2;uyHh^6e}oN?>N}amgBnbq_-1*QlnH1T!bi{KAS4>&UTnGCDoy( zE+W6+TVuE+#}N-Im66HO!_UMZBP;Ee71Hf`w9+OT(2 z{^1it*8Q8M5lfghk)q~sw3m*A9C#r`m&KQnsGa>!n4x`OuZ-L4@oHZ2&F;r20r5rO zuKxJDpR|4Wcx?5R+#_VA>=CJ;t){qn?FEO|scE6>K*S? zlV$|9l#Bz;P=hXb0b~Kw2Aj)qpcFd2ZqK`3fPj(u)HX*O6}?^3nvSw=HAuDbF$ZU{ zU}m@VZcm{z8fWpA_thKE9|IeEdz+?NST0#U*XQSIIR3!WxNQ#}`W)vhqU*4?bAd;^ z8vvCnQ|XPgvT(5Oa0Yn*6#+3OD>%2b$$^sfGs=EdKBv2;PE@o@QraU;#K;L$jnHmGcBj zucEGCD9~;i&nD#vARP9A?inK1iLZkPZ!Yz3+Am&f;ss}20WTdhE#gvAGNNJcDQD*X zIfikd{%aW;J!U!MaGrrotwMZ=dAYj}C9A{kec(HyZ)oomta5n_(Y}H~kx(rCwSz4P zJBysI%cFu9ztF$YP-DpJ^+;g*Vi5o9F*W*2r?HV?_uRoK6Sp||y{OYPX4ml~82U73 z40w?EfiOtf_&5cR-N8kTcmJ7YS_XzrlqII1fCfeQAQ4dZ5rH#NLuhm)#k8=_Q7pTk z`C0>Z!9+{dtH3v8y!Y-P9R0a-C8YCYAWYC^!$r^5TBAlJspS|WR|LuifuCg&7Ur}qmD{!cn-)vyqT6F zLI5I@&f%yWW>nf2BxLO^UVuJDO`+^Kv46e(yCy&Ui6M|MJpc@jNZ!kl2MvQ<2L%M8 zfEe3QsJpvRX{YEFoF731X#kQUT}4&HMg@|Z=da~NL5BgWyi3gS^7`|{0yhUb##OpX zsxrqkn3_m>JOUXPSb>LHyU5{I!;hW}9B^2~h+?CoCt;7>`NUs%Q>x0Ey0PHk8Nl2v zg~ZC4S}wby9U%KIY4e($`pNROwr8J1pu)9=O1O-UH+a6D^txqRdo#lC2aU{+ZmClS zu*RL{;rQ`oVL={va^j#61Zt_g(N2!w-MLvl?ihX!^;AnZ+Nqg_`~ad(SDU1hxPb1` z7i(?LQ`6K77yLC-5&*(rW?kYFpnT?cZdK6|F;=Bh?BMp;?oy&bG+xfHl)wseh6(E1UC<)Se?F9t%?3(KD7IHGmC zG}b$qz%bHf0t=*vF@AJV5HfK=6firU#4shCT1CjkYpJ(Q-D-c2Qd74qehJibU1&Qi zqpn)Rc%|jk(@B(!2%arG(-&isY*SR)4_3QX@k?VY1WCY?KH^w5VtaR-|v45dCf@A?9`VC_;#I zeB)$aMKiP%#+s_xb@eD2&{$+jDJegl$IO9vX_-~Je?>Z0KsvZRPx}lgFriAyBrHo$ z^5H0{DVfW0rgf()d9i&3km8w=;h03AgfXP@NL0hZMEQCS7y7N**0sL|lg9P&GyRAQ zlSgW&W3Q+npe7-RcI~2-;2lJLL46{D^+~c?MF1r_CGtfB-)@RyR`W8qf57vJU_p=y z+F4!%jSOV|L>wGsTr*EI2hIsu)_Q+|gC+uBuWIe2-)Ff!Bq?pR4Kaix)G2^rQ}U-t z(#p95N1+CH-C&9i0@@eSt z`!O0hlToKc$W2d^vO9(opX{&O5s@WcE@Ko;?LJG=^=^IJL?Ek0c;%#XvE9&LUiiL_ zsOpXS5uvTozHFj{7hYC$;i@KFhBD+e9Qcq%@egGI(WM^pGc#h+k*WDT_#ygBO+Ef` z231huMoDc1n$%;euS-CUthVRHdS=d&qy&bi7==8kKi@OgG@03cIiOC4+MAa^&BeL0 zJzw(+OXCaCPzWZRC2@u4ix^QkE=HSg;?8UjL=+BtL+9)?-*du>(OuI|Y;EL*ROd|6 zgeF(oc`Z~0Q|hFGYMN){q?UpVF}s{UbszcK0f@enrjewa`V(yS-UPve9yzp_sXDAF z9cJj3eYn;Bm3q7Vx@>VgKF9^*AWmZzN>FV$`tsf2RM7kIyzNT1I_v$@rT_qvWIRw# zA#IedtOthTkp=}`h*fWeMgbbS-=|6@6fVvp+uZC#BrGdq4mT2^HLXy{5egCY0`;#d z!%*e>Sp>Z)UTt?(K3zL{(Uy_ti_|E{r2$>2L$zL*QTIre$DA&}Z_{V{a+`{tu z84SVX71T>c|6|BPpc(P4+y-alp#eLO=2M5wkr-y%jpi+YNmJF1;UBlx)pfY20Vgy4 zoyw-`KLD1;urjbNvLp?4-cRS-K6WJ?$Eyp0MDsA!uus2|x%Q8#8LKC;U}cAPO29hP3gw z4Q#r+NJzuF+w6N|J>`e{u+k5Q(~*?LT2v~)Wl*d1{pOg{UJVGkNc!S;pZUfnG)?o{ z_+{=F58%&zt(Oh*$Qfl!#F($c_LE!k41RTv5S2pG-3L*>Kcjl#Z{h){2vxpV#eH^-p@)BujtiZ;I;i`G9#Hr1UeaD=}zz z*1K+-2>2-%?ujDNV2ut_6QP4K-gjA1md9VU4o>m`fD`9 z;b1TfEQ)D2wwN)fpO^T&tsaLzUj%*Oz$rHW;%b`3UmnLEUB;Gliah%v1Q`%gj4S8n z6hRWr`Mnc4Bl1u}l)57p<=r(}%IYlnGWZ$BQF@GorzVwM8|taKCH_WU@Pz zC;R^_acjMe^zsqe{`C4VPDNy@FXFNYtN7dDj2LMcFPHXs&*ijh1pOW*AJG0(>S@I& zs2eRBX5%?ASnrimUr0PH13zHqe1lqgkG3PsNlv|C=1SXp28 zcG4^(MMXE@dY?yBi(jG2)fo&dUvFCfy6*aXjNUr_Ja2j~;Wv{801^twz^U1FIobu& zaI0roKQ$Ls8Jya)-hB9Gv`v|SFhpq72o8T$R!iM) z)1w!1C$-q88QmKndiMJ!k zYm)KY0=d4C}}A z$=jP8V<3kE636}zUGEs4NziQ#&tx*OZQHi(WMbP+?wFHIY}>YN+qUgHcHVsFoaemX zpLhM~?&@8&tLo~$`s%8^*K(9Zn2mG9v|nWi3v-}=nXTn8ql z$OOU8ZPop@xp~`wRdf0wlrmvGdmDLq$F0kC>WI*%xbI*4Xx#*r-mg?E0lEVP7HwPKS)$ZXjW7QQ^$ev44UW7&EmyV$av*bvgH| z;$oo|D&CD<(7HF}K7uv+nd($D)5>NK3oPmn)4K-@q%4He9T4PrYR z>%=rDd?R%|nXPTTJK1DSDpI?!cQDdI{sW9Yo^3D1IARH9-9!o5wsTXA$;p4uK2SAs zHk?_>hPU1@57KY)#f4{rLWYwJQ>e^Y!O6(5rP7sF0*D`NXiilhk9=YgW~%;Ek#qbm z;WK!$6EOb)AB>Ki(J~yf?PcR|`QyD{02C@)qDmHa`oRfaTmle_R*VE0=9hrQEB1S6 zh|4pngEGzE>Cr2r$X(c=OUfEAwrQDXoCF!D3?+e;3G#$C&_$B^>1!A!S}zC9YRq>n_x)3)z{(}Nv>`qZUGBQH9QP2-xTMh8%eJi0odE$h z3NFeGxk7?7^**BBiD*h4hZM{O_)Xb!uP=QUkR4yDqHXM9$|Z2OvYf9~zY+}tldn$x zBf%epDB=`%uvNiKY58J8U+LOOSpnmrF2*dcy4{X84Rp&9;7G`q7y@0;l(*8sv9ij} zI6uG1xQp5VmmC_FTgHLqkwIh5 zq2gfY=fj#kXuF@SO7e@1;=?zl9$&5*HIGnPx~7D8X5kABnp_xhrXs@d4d+FEYpI&8V zxz}}6NgQ>$)*Csj^70)iokd7tiWe&8Au1hns#p^hx^gP(yJS;9*9iS}E`rVCaF?%$ zKY3KvjEs1Sh;)UGs-8h03b{)%P0*&oJeCA#__-8SyBk^?TbuCyv|&3%7)MYtL`P?& zo)RumERXNE3eS%gBTG{10n=~N#vb~es2cpUKfo+03@scHX;ehN_ak6XE)a`-Tb0SoUFx4U)g+hcwO*`}vCFBUUG*op##o`{|;Nl<(q2pCD)PGB~F^dSR zEdQok+v1~QvxId)1wN~*?XOSr=?E7(xI0+TCPvpZ|F56bJRndE}A(cL~ z?)J74v~2eYXh|RM?DVJ$#qZas111K{UB9`8`vvi{)6Mz&^<`%`9i7bE@U>`=i0W`me-#WXrsd5+d$tHiH`ZI@fN;b5p zxFZm=rZ8zy|B5-4gkn-yx^%P55q z3w`$$8+(dS5p2_0_?nU8#;pWysK>-r{`Fl{6(TJ_W!x{UxY=&~HBnvx5GBveB z%y9YIh^2D@M{)I?nVol#;<5i^XkJ3!Ke(Gu6{X7?O!S1W_7uAD8Bx$s)BzP9+J769 zh|<}xU`hdD7akM{1%R-O7FR>A7??^LrK7gHw{l|{2C&ocaGgRqX}6-|*_pU8T~*7S zSFj>Ut1dJOa9bx%86g&-_@S}eF+*bh6`;AXPEEUZt7$!y?1U`M*o9nr5X$F)*38fH zn24a?&b7>HetiO`MloY5n%bufU}T=_;%ca?k7aX0@jQ$R?0zfZ;rFZVk2n!>rOwDa9;-N^?cliZ?X*x5s#1Im~#(5Lr{aBP#og)Ske?gIS zB_%Bzwc@sQt|i7{0Quv(6I6a|#`&ctc^!0p{avOg9d#=gH@=umlr_!Ib1EoW85)uC zNl};j6hV}%$f6%&s)`yx9>ZyC;O}+s`{Zz_X9rlQEbM&4W-2(_navx^YmE^XT<(tH zvY3!T`rpD&9qO1mx`LPFkLd2f+-u}sZ8&Bol7eVhXSNnP0XAmY{GkuuJd*->NF)4Y zOB!NEjIFIT1p?x;L6xvBBuK^*01J&$;bC}Zo-}l8ae17E^LtUce7lO~N?)QfYR}#G zUTuvz?3}-a&M6J0i$Ie(XUlZt<5UTXvN|+0j9PVu+)3JzJ`82>h&U!JnE0djK5N)8udCMBJggIladVrKAb*7YQNu>!(1*iRmxk^*S&s~IE`f@5H)gY~Q zun(r;)p<|HMoZQydih9ZcP;p3P4qYXhw2>9=*+U_*j@b}vxlh1=JByVD#oizX&R}7 zcx`mT88=i^<6!y7*nIsUdvF<*baZNUt$9UDtw|GKzyhZ%mlZ#3aH#|CS^?m7wFT^b ztJ+i6zj1)Wi%tGm#gUrMN~@%ASWsU1xR?3VmY$NaqIi)^WbMS_#Ba#oI%Gwy%5Ij{ zeuJ@*t-!8Y(WHshHHAtjc~i(=kHOH`I5(vw)P(XywnWWRO_iQNR+MabcNhT0t&{?`$a{ zE$Cug)a<=swe9dKlL?E;C#(+Sel_m{qI}#t=c>o;yO-;}06%FMz(kZ0Tyt)^9rOcN z#9{Zc`0jp=+~Lo>%Ul$M2%XXywXE30{e!?kehY*=W$L=Wg%iFr>_zQf-9(Uby%P&? z3g^Q?UMCN;q5FNquxD~g>y;{+eVA3w?~B3p)@i3w(&D7Y#WMe)z~X^lsAo`nLb{nJ zvk?$QM9{Lsj!%>6anK`8v~wvS18>r0UQdn%p$Gcz@JpiBot2)igMck4fEk|N7%OI` zy!&;Q{-m#NC}I-wc5&KPx~`%bxQ*X=ujzY{dS>)Ho$LAGs%x5FSFB zbZYhw|EU?}pB@2*HBT=_~$7apZj9zD*P85%>Yv4d57K|vqt9(Gu!0ui__+&RT zFS=1ym!9rf(*>_@6&p5E91yfj0V(xmdg9NKCkKQ?Ns6_YsJq+TtMUjAD1i?ojU0>I zk8)@+E&!nH@)Dolzxm@P5ln+i{#Pgf+V33nz=2!9M+uIzc91*?jTQ}UT^hhLSy;U` zA^Gca4CeROU{=j-A=7szN%fpXRm5$Wa72OUfT<ThP4YtmLgbar!i-3`sqHQ)VA*5*yuK$B3RZqixj#U zY_+dbGb_^R?$+iXG7xE;-=~4dC3;pPHNaG`FBeS06n!bIyDNIQT zPu&|gc~emDjV9*1-r{?dsR-V-)!umN^s8Zyd$+VXc*;ldApCV+Uec8BXOABCVPrY@`}s|qY__zrxE408->%duNcrth=qJ)y;XJ05(e8dY(F$lw7LuF#|_JqrbgCYQry>KJ5HV3E(uXCmt5C%*PdnFvQz^3ncNg@mtPP>AdyJ&UJ^n4_aGPwE|~Rr zkl*$oc>297C(K?e2P3yP@Trt*TK?gWUU+`+0CWt0QAxzqnd!kX3J##+I2@OM`|(Ti z_Ax1DPyk2qcwB-EI53?3MSfZc3h7HEg8Zfl^JAJ(56Uu`PV;>&bQ}L`spqstPXyU1 zYri03G+9i>Eh*7-pE+vvIQ13P?Mj;Qr=cFFSR5!M(x=m331I?3|L;>0i5LPwqO|`$ z{#QXB<^SV`*VXgGq(G{0&ip#OfrZn5)%>p-@3uJ*J5eLz;NqWfd5~2RLq>dbgb&q8 z|Lft#)2~M%1C2oum~OM|L!3_u!Qn@(!X!9mF7@sGzq|45{nsEQa=wD#-E_Ti`y!tb z0hCaUqVP}re+*)7EMoRz)R`XAyT1Y^1^k^p)Bn?d{{Z>O?IFBEo#X#IjxGcV5vBhf zq5ro|(f>En|1S7{-iQe)`rkG|L(P4zo{84!KGv$dO8e)JIm$qU|G*4?{lxdNL<5b= z?bQh&kG~^5=_6$YdE4|a>X%k>ShuY}k|j524hOQ8C2oH~=|4thDspR{RzQ*wXhqRcj%sOzIq5mqA69~>wYL9o|^Z) zR(xygB$21nMZRuzu3Q&yb9_+jdW!aQ?RYR_C%?T|{nboA3FHi1mCpttU?_F-N3sWb zJFwXGcBR*KMdpP2$MbQ$V7y-G39aqN_k6|uWS?&HJX8%^wCQq zZ;mp6e(%yy{8pTdhZuNhy1M)VL+d9cvd=;yJxx55-+VRA9fpgMC~?aWm79G$1K~uI z_SYU06|4PTkUK$7pKShEwg&r&j%_M-HBcjL+NEDP2RH_9)v{?z@bw#v3KcepQjlzX zMU)Q@Qd|*4(r1GPQkw|Ri~#3Lhj^GgFP0>D>}J~nO1K`K-)jU5n#S@SI_A^-Zc#cv zqL4!C=P%3$gbaxOZ@S5E2!W7|Hw=3lkX%6)3Y`<@60etj_tm`BQfE z1N}t^e%jY3>PuCr@|rk38`HFaNhlJe7!$U}fwGbAX#w5xL$qZLv)xDHSjKBIgdWdr zpOm&kUF{VDNFQ|JSynjk<+7YHZ z*aMn_Jb3Ou6G`EfCZxk2hY3+Nv(sRQ2@jiyi`9ibfc$;s`A=y)ob!Ax_-1@3(*%6VVx8Bx0-Szy8fBt|Hq^GA#3;Pl+lGh)$eLulZ*7>@c)^)TTU^x7j z{oy3wa^vd`s6Ml3lMuzz=>}WO=GQFvynG64()&1!dl)$f5BEWzKTygVBvp!g6Ve4o zdmj(i^*(|?FwLz81}%T0S6@ZQYC6w6dQjqYM#7jkX zeN16K5nT9Z8k-8P`=MJVQ`^e(=b{0Afy@mNV@si!M= zUxv(7aFJSx()O2Y@Etoj|6z8k1yUmi z+uYi_xvcK<9{cnPqpfqx;oN3d%8&CgxDLk(x%62Vt_AOFvH26Gf92;<8T=Ztmsj0@ zmt7H((IZ=a9|PY)G63ejP1~*9IFoT)?kZ~gG=61N6pz=JoNs{O1nZj~pK9@F3NPP` z*WHKbykxkPsmo$EZ);|@=lwW5_dbHmfvxx91YJ4Ehql<=Jff_hJed(TcFGzAgq2K@ zhxOP>0X+(oSiTblA)kx=qm)rQa3Fn~vHfdb{>qgTIvS;%uYZ84RD$NkZPQOD8#6WZ z)Ma7qL&^KDhFKgghd{xyp`5pbep{s^?ZRiF9i>_Aa#hPR;CVz}>urWgNwM3gd_Kh5 zala*}-2HAc|HSdm_xeZ|0!N=~Ky;ED$t1mF>q2Y;^ z1ecZDH90M-g{f6BRvWj2C3&Q3t!uszo<^SjCP@nSnKhJ%fi6D&J1SKDNkM#lB`CMR zN6*GD;(@ot12Ee5wz!;u5u>?1amek;xHq6%9Q!c6^}Qh%cZkc?g6rz~^!wfu8w%}p zojswjJ&XleXVNp0y>WrlR^~yp5xQ{_##`=~4{pXiJQS=SNvxkkFx%ojg@>7ly`#OK=N^QRSK;ROAM>?s9rPt45GxxoRPy5p*Xzn$lWb zW_v~(eUgRaXke(tljTV1>>p{{X@Bm$fI(C>wwc9ub0(5)2mR==&E?rm?C5o=iN;yK ztlkFAZ&eLnlbtPr@Ce;ZTJdlKWIb+kR0d*#>; zUcphiDLBHJ>*FX}k4ulMEfuEcRb|?&0|BpijS+7%b+~Wm0KZp$tdwX(jOtP9@|g0) zu^OCXwPCJcBhKJv)SPMMzF$_hPw!_mbvQZW5ugW{ry9L?=h6}5{k+)5g2J%|Ro(70 z!jL~DN)v=3uP3}D%9C9iog3#rc|50biL4tgXL}UOa(s@jh>VQAZLK|cNd=Db!W_fJ z9P#z`Al3jMXTlG)-S1*k6Wd=0y7Gzhd@j}5lpl6oYU}TJ*;}WyZ>q3J_k(+c^!Tzh zAO$1aw`KILOahmFf~4mz7|ujCJH?bO`1s-5*=L_+y71`;S@tro9!O1T&2SA%iG=DU%yQty3+JJ zXZWSamp>aUr?F^S0cZ$Ms2w zNJwY@*k$VDp7kiT09hm=o?K2dC8~Y7l00m>#-UELY5$bB)4@Z}FoRbwI_B{!c{*Ag z64jjY;G)~amu2W}@|4~DN9=mtR7oBX2~5J~9jB`7cse@VVjbgu-TAlv!7>KF<#9~j zJfuM3_%xR|3vsAt{k9mX8`g8oZL4dm_ZJex{|`vm1B>pd`rrYul{yms2k96A$Ky`r zId4c%hIOZ-Nzb$>@6*5E)?H+n*3a#bl=+h~5nO+Ie4Ej548f>uN*_vEe>K(8K?7uw)aVnOomMKd$$`OO#lVw4O zV`5%oyB|w&PZ~ntXh0K6Ep59!3_VL37d;8ir{MdSnZ)!@!Q-E zeFO-+{x$nLcyhpv-iVOMKr+-j-Z}28--IjM`0YP5ITGV(YnT$+F5w>9|Coo3u}US)z~72bEa(p}JN*{kEuzrP)#A9Y0Uzh`>tp60#c>MOq33$li}DJas-3j zi9UR57IZ4$Ob|OB%seL(OI!&A@*%g--+olRLgupObkyaUvtbP0}MK&{`%zY_SOXdYzG7~lFj1 zIeD@gcf8ytP93^=*_(~$qj95{3g^w)A{z}oOR(T96ccXaV1%8ia0_2K>2NE^}95ZIABsG7XLua7U}5{I~*CXRI6iNv&_Bh|6QEjHf9+D^$xW zA4jhICB_IT(fajbheye74l9OAr?A7sHCWRjz^rWP-SM!ro_sC$EfZR_>3Oxt?95gv zSWOzJ9CysDg{N52^J=zc*X4S;v;+2wIAuz|=f#*MfrN#u{tQsw_M$9;yu4~z9vZjOr_!o zBgp7uw0HJEH(sSg9xgldPCJdet#&#>jzpbrYsZ6AAbB^XMDKMxk!8J#yazR`>goGg zulGJ5j4L8oD;f@9Fs0mduy#egzH%<6QPHxjEbw)*_xpD!V}H=kExg)3eM!#*0O@91 z@+jqYyeLEuU+{~{!W8w_NJzMWOdC2nlB#<5h_%THD@{tue)vICD-%)R5!`$EE!14R8mc^X5?zl;;gM6G7&b+ z8hv>v=3$Oi+p@ne?046;Hy|!kwrYgJq`8q#Ko-nV=0GSkDQuVfd?`1RZoGdE>9#bR zm0IuI4e6SyO1HrGqaoD*2AEmq_-fdz*i?>?lXJguzWL3=jx5645&dq5TS%+FwVcY_ zP*Y0?F6N29`cW~1aYyBf&(}$gkFH#me>|N;?Vm6G6N9YsajqX+o~N1K&cWXL-;kj8 zfNe{=m@3WGZKYhjtBbiQX+KN6Fz-jk{>}KXe0Hfa>;t^Gn~;se6{mfN`qi~wEUx$N zi&Ah?Yl9TbiM>dG{vAWf+F3P?=ONvpm<)I-o zZ^wV5t(PaCW4E-haP_^KI!YDs0GzzawXVBB=5>UpKF0_&4tL}D4kX)axLR*T%bEyg zD(Yqopa%VSLtIHEDeD0b5bslws+*?Zr~bFlZS1c^Q4mJwJ-H5~44&{xCG+TB{{2Q2DpkG>#8 zF2SKjQiozO?eZTDtK4-iv^)3=uD6XqD(@CMw^&gX&Z#(JvnF&?O428w37F7{^mur^ zy?Ji;d@*I&=%0C-Y{q4RDd8BHOXR%-38rkXFR*_o{NEzk$a&SIr4`SlosL^sMyo6aj7~<^U8XF%Abb8MvcE! zY{$vys}h7PGt8Bgr8EoYIwpf$plMep;h5T}WX`&qpC71bQAem)R-0Fubk@MVLQlLE z1?@kUaf0DG-sezel`1CXy!ItyBg{OxBUP*Q#S)jD9>6ss>hkSI)U=MrC;qOqiEYJW zg)eC&*{Sv>4xTy`9pJfdyLD1w9%8ieQ`- zvysn;?oN+jK`S5N{Phj}+L>0g)lI#G*P%$0?PdDQ%iB*S{XSg=85HJh<8u4$?)r1x z_oK|RtJ8!m1Sv%(_s7-@c4Tlrw5uIkuyHGDps9%dKdU=tYA?xJ*cN$=-DI<3kc`|C zf!_JgACqoFYj%ya2aC%G)P-f~(V)a}c?*`cLo&K8*NK4k`_jcEE&MLmyQ>wh5IznJ zB)n-7P$F8bkJ0?91y8$=4jW<9KO?1XVFv0s+7-T!OO5b!ycfDqw-Ca3DIBAF3N<7hPTbQ9NKMXl*N8vdf1ChZ?-p+*qXqZMGR^?VEsh8wzS7+4tgRy1Hj5(7e3O5b!t z$1qcsaI{G~1ivKV z!i3A@jBS2AA-~>$jP;=HBT>j4rSOrXBq#bra0^{3XJ@}><-SXR7%w&~-&e}jK0ZD^ z{8S+6%Nku>9Qn+hFg(4@67mRMs0^p?QVbn^C@x+m! zwC2J7oTbKz9`bwtWiV7ITcn3rzy?<3^y-ScZKra(KyHKZqCS=hKRx}T(&WWE6YZv7 zQT^cK32$#np+K*`av#v$o1xfyxD^!)?-{g=l-*OLc>e3Ux$1%wu<_}z#klU?Ol{8P z+CX=Az9O~W_|tNE_7`WE>}sE^X!X}BeAH6n`#jqm^n9{Rs6ApVHz3syUA4XndcmPuM%+^*<0 z*fw^Nt8(w~^lG}F>)jeg`?CqaXDi>WnTK9q?_=D@M)pTk%d85fQOVQ{rxeL0e3>xG zse2ngo5sZJuU;$G)aG>Cs|Hn^s!8akW>-7c%U}-cbKo)RT_*e*Z?)Z@atY_t*6R$1 zy|}#(%>*Ly8q>EMFVGU)oy_-CtVpclWm@nxJz*AMqy`5klH5{>peBjcpz0 zkX4(xaD*(ex7$74fT$)erV4!%$`1G?-v zn=H_J%KcmL<8mRYs#hF#BR5ZV1T#F}b=#&@JR_Uc zRfGl`Ef3Gs(<&v*wG)$`Fw=MGw*);LV1$1gAX6#JRb8 zR{$WO1E^x6O3|jK&-vzT%!7It_Prqe=1|SGo$z9+bu{gki62IYKZy~vQ+;n<*dN#C z&dFx0+}L#x zKMR&gPP9D?JWZpU9o4wUnQ&%(nOC|!F7=m|v46crxFQb98hgtYK(1!H;U zHX}>~VWj8Rr2;n0gymPh$zbhrb4*XnOa)c@XJh7BQERzb3UB7x6B zn<70}g{>i1JLoyK}eKd{5`+Iim zXxC)>EWb(qMa?&y8L=V@ASJk~(EApjHG^`UH`8qnT2AB9zOGEgtb8vM1ZQ2+dv7Pc zIDf~v4~lE7>+z^R|1n3?!}Dgq+443_#@RzeK?VF9jU1Am6j?ouC)JRrldh6ugRNA< zT`@z#rHbn7eNmyR&J9r(bhmU_L*Av5Svh7*$|h?Pl67|x*Zt#c;;muudDZW%dO3fg zsb8WTCzWheH+wX0x4Fq+J1uT%dbCVDI(;PR&W5&?l9`&Gm71v|O);Udu%^5|^4v4v z=#M6FaUE?>3d@aBe!1MvE2V^nuAPQqd#Qd?OToPi+~xO~NliFs4M_1?^I}SZ0$(mN zJ0@SVg8_^6N)M7AGL)Rta!->L<=o8b z90a)1J-sw&Wt8Q%vy+>WX?-V@QmQKUkXJEx_Y_LfKDtD1T3K6X-BQbv@f_mfU0dPl zLDV5kD9(ZoLV_el{5n3swt5+zuBKPgjF$?TYY?J)qK%5I2u#3YMc2f_J+sV)a)6Kn zM{5&L`i)T(Cn=?!wy!u!G6|%~lv0TJ0bxZ1SpuFYV-InbZt-%Qt(Rt!D8@QPhKXXp zp_od_5FeipV9xq$*VSCF_no{SHg>nun*Ibn6a?lmym@|Awaz<{njB@%jBA4|*hv@; zM;9U6&>$ZuxH86kN{_@IPa2Yadx^B_9glN#4{RT>@;xfb|( z$LgP#tewp1@f(kW3CE~YNIPPE)lSDmB*G}`ZCt7|+|-wz?>SH~`-&kS60~N*T?Mf$ z9KhV3+416llYvX2_z5CL7z>h>Zt{Ul93Su9xsUBXZab-lOpV;xkNl7LDw5=zTl+^B z?9G~&INlld)fFy&Mk@R*!3?6A>cuhH->*@K@0`e=Au2RM++i&B!t-ub8smfiYB|d4 z6OVIgUGZe(VEE7Q;h_qU_)U#G|n@P^m3il$SHh-hA+>?hs zac|@pr5VW;C8;sNC1Kjs_r>pdjk~!Ndlb4Af%6@H@B`@wB!l=Lq(nf{;YyT^YYH6m z-O*%vP5br5I>6;A`r|nB&Sm;yHFJe`bG~(5qltv-Pbv~=oZ%GbaX^Hp!+v>Nj@XHJxn)pUTOBViV^hj0V6J`Np)vDIQlW zR6R_LOcV!0cgu=qJDFM&k9pZ_;y9_$!^G6s*wNfwKT19mqeV?@{)H86$72s%TRl0b zAw$YRlR`8a9&}b!71Y{%n_pf>YwrunX1htOsrBBI%bvepzG+~}Mzn2k3A<`on0dGu zS%y(By=>(LHHmQIA~1cTH{-Gn=YrC)HBCWv1TDJ$>>{-^7Bq1D3z-rnY2Pf9AElzc zpX*JHnQgaG3T0XJsRSsV-=dnVTPR~+KDxCGp0d@^!pe>p`3twRzw*FYG_?Z+)3eW~ z#vDzH&-TJ{DYj|r8N=IaDk!wFPTSUa^eMKSjg55MG^Xib;mMdDZ6@Gh8>4Ga3q|3Q zhm(n98zaI+KkwB;WPwL*wCWTj+<>~Dq_HqneKgWML2tJoF!;!8M%ScP?L?gGjUWhL8Kyeo5~fwn#tX0^J;zd#Nr z!Gf&ErHY3=+Dtk9!^!HTms@G|lmXJBWdAsz;U@NvzOQ#XR*8yS_CmMiPpdKRPl&YU$0PaeA6I zt^D3cnLC%54vB7d1#4(s#l+L|DM|{Dp$z0qRTWpoLOj932)|JTVOC2x+zl<6)QPd^ z>to!?ichx4%~H0aggQBxW0TLK|91pylGy4&I5yV=(oMd791-!0jH!I|Ci#eCe&Tjy zCxcOC`VItL7YiRhGZfqU_9iq<4&dXEwl;iBG}{UctxYY>&HdI<0Va)k8RRuqdHTB? zB)$Q7EGG0_kHd^d#zrY8CJRV<&&KXFL(L||r=1M}%h=p#H4Ae@_^Ba(mMXlO zZJcug8;pxWE-Ss)Wb~4VnaS5B$Lmf!R03TpvwDBqsLBOykLr6-46KKju^pUaq=)A67yoZge@7PCmv`*+|;)Bn7xNx2p=VrqZ#{ZX%nCiXV;mF1;9HH(27ezY@ClM*NzS~@0MR%4@ z{&shMzfkEyBkcn?*{3VTd-pA_#e=~;hDC!kvv4l)GE^f{6VJzJW_Q<)Vk64DgO^(4 zMdHJQ?8}P@#>IA1dWMN;_UY-Q+O06~BORfH0tN$ZP>T- zH<9qA^@}#VqW^@zJw%gBFtM<1F|!b#GQHEKq@ZSJV`swp(@h?n%zj7iIjJ^rP2}$8hEO&W zuy0#nSeD|W>I6q!jI&wj_^3IxbQ%zxta}|mxUEf(y5OmbBS$-A8xJCK;6>EsbRSBw zdNUT6RopIZe_d=JAAnES_KCC%Gtxc|>o5S%cX5u|d_J#OxBZfvJY?;&(gQ+~qp7bN zGT$Cj9hRSbTed#~tNO)>93b=iI~V!+rn`X2zKW)Tj&F5CB?-?`>I({vcR)Rzu;lm4 zrzcHd@$o7ik8Ae5?l1Nz9h|z3$E7OeJv{l)a^Fveg8cU_#(fKKQWT~bUA`o6x1Nt{ z?<(H^{Nbui_BuB zjcMNQ(N`9Y`~HlCvrdxob|>E^;zT#5tV;_EKYkAQa3Qd{aq`C>Pd@J<(=X=1ypL)= zM8s(j5PF2qBey~^iIPKUah6NGO;rg!gB+nO7+pJT!cs(Nx=>;cm7M*iLWB2R+9S0) zV~#Aj%`0;6|S(@)TrP4D5qu5qaETW$Fe@K3}oJwu!kb4(~M z#W5&1;zN9ugbt#AZl=AtW%gEE0<2iEkdiL_(PI+6Bkde=f+bzar2Q#)5efH3lm9&p zCGt!0w%XK$kwDD}L*-Fg`aaH2pfzo67A`Mrqu9I8IK&q6Cu|Z!s8B90fxwB!s-dRz z+EK$-z0&;ljEFjJir7ia)lcq%p@;gy%xmw%+h*U_yxw0+3P#q$4J zkbUG+N$us{F0J2j(~zi%>-!=95W^f#2BPfWLi)&E@K_@I6oQl|0VN_zS!!H|VI&$h z+tczY@j;~hNwZoK@FO12DWQVom){vp_UB9(GRqE6O)My)>ZN4aFP~rz<+Q4i9kmK22oP)KhtVIS#^ywb z;Wb1X@(>*iq2YdktuH^MPhqgm{&4JWCdlui9Uq|!GYT2aFqh5yAIUNI^$jYSi9r_g z_lrB?8&-b@rjj)X!)SG*{wi zoUtNCZBUyl_A@Q%wOULDclWg|a#4}U(E;A9L_S%8&E4K9mVh@BkObsP<7c1jSAJF~ z3;8UFfrYWpJA4|O4P+8#@On5hE>`1~e@rHx=K15$%FeOiX=r5VsKbfu1q_+b#LO90 zLqlJng*PvI*_-;)+;Fq5;AeUW&{LD69Ur5q=3(TsGX&fc`~&9`f|AYRb205rIF@g> z8)rQEEC3$OUoTF&L*LRQfL`eAl9g@q*Bb*pWgKY;f66}x&uH%O?)#;#1`<$P!idpE z(mpKsX!D;^jnpGaUJh8KWnJ<X|R|25AoU6iOQswKOy|)FDMU7EI+7I=qaQ zP%)UK>6LK$c)-*jbJNzG6FBDf{2#*3DLB)hUDp#knTc&qY}>YN+qP}nwrv|<%!zF$ zJNw{Yd+mc&>%6<)lefD1sk*QGy4!ca{~e)^*^RrY@fuZ{JS@aSP~rbjiITeR6pju_ zBuUw?M~;jF>ClJ7 zfHUx@EIEP5Mn`|PYDNojwt^8+m6GFB5==9O@&!4e)I)B^nAL9nxcK*jd<^Mi*ElaqhD{fU;TBsd(q`?zob#iR=MrGbXnjy@!aT(&&f zF%?2uup(ITdL_)=gQc!9QpNcziQ*pKS0v{tI5@nnB6!#jK&WP%tpDn89K{p`jgpwu z{GRZKD~Ek5(^kZ1VPE&!8+z>_5f-CMN1^5JBpV&r^ay;Aevkd-2~r`>Aa$2d;-6~A zXKO>zO?6ig1vEe@oH_ILwiP4PGWh%WCW4#xsx}C!n2tm;-M2Fit|2*)_-#Ii_ z^FR+@QwBcpuNvVWY>e!O#_-qic?y%lfWrDOi0IJ8J{#m5G(O#5PRSqV&m1Tkf#T3F z-pY-?;&m~zAxBZ>E(z0&WK~l9it-?lZxHgb1_qXlxTyI9MNG`%A-FLD@)M6KcU7Yd zY(jDLtlQ3xh~s4`H@^&cs->Oa5Mn3Jg=O_@^t6b8;qcq$W8NrPLxHIfrnpEd-QJ(z zd?@=RSF0x{0`UFoAaVJAaR~k4qcAdfq^aAX2!tTG?k=XfA@q@aSGrNKb8!k9Pr;AY zOCT%jRyl0ho2w)i=YD!0`M%)s z{YycCAF?-YlBD;nh>|ii9VH8i(#NUj=W+*ZR<}V2{`-J(F%YR-t6|4~4|--cN}56Q zu)JjPIK|tRN3%ScM6a*)5RiT#mX>_xbBxWV z72s93Yf;RoWHCVRrrPuKX2prx%su>=1Ul}=iW)3o!O1lBFSHeu=%)2_`jYc+0sb#b z{i_Zl?0KMA(Xhxxq_jYg2`NRTy6*+vUSBv_XY*n7J#x?2HEkQ1E;hR@hOi1^{C+~Y z_zeJ%M*WiG*Cox7X6;3DLV-Z_I=9oKZcC7V$hhGTo_DgJw3r?v89?7?kjTlw!=juK zw+AVC_o%GS7vi1iIebi$RU!U@&{el>ztOhn$lANx4;SUuxu%p3JSyV5uv9<1H$U$1 z=MBiNy?!RL*R57CGdX6|u%jv>HFqbuoaj~==@(*L-~C?eChCWHfEaltL$Pfq`fuDs zl>{rkJb{h4$oI%VhEhBeuMm6(Bb#XdyJ;{|4i= zcV4$yX33ZYK2zETDJ2}OQ+F_$yuPb1!GELi*xN&+W#M6?u<@s1;l(!~p8X?BgstSu zhs^joGy2SvLGq7o)vfB;L=w9(C+Xbra4Do`a@zk){G5amJjzJzt>2Lj>R7K?(YhYI zhyPf1MA?+OE|;vUjBh?M74T9%8xb?Nb&~{ z%Rgr(t8tlyO46U+M$4^sir(aM?sB1<3QxC0=;^BEA~EloFNYD`sm>(1z+@%CgDK!doF{~ZI@&kwGYLwex3m@8{wD8?07w>R6^v8^8+m^?&~(Ax#IVI zZbjzDYp8@ZpFOU%Lb!%m`;ETiMKj))d%67+EAQ)LJ@`&;HGugsRv&6AX|I5Yv8%9Y zp*r)-qU=0_#beUdifWD;4gfCWmwi)@WOzho1qgH#8DRpP5>y!~>{Koo-v6V)n|m58aI`ecbboJT%p=w|kr$6Ahd^ za88u_@E-8`{3ejnR0xB^bKY)+-bR?$`tvip^OInu&4in(s3#B6z-g9S!N>tmm&zh= zCo#7k8t7&gS*dWO6o1*ES3DmDqn#B!zDo#M+mg18B5Gi9IO&aUk*%p_=b>)%Q#vw1 zBq@5BJ1e|y>tkw)K~dB)im^2%s=Qe>4akACfcnvl~MngoubPS{~JD3Gcj)`S>0eFty*iLoJF**#Ebsr!9MB^u-Q(l z*5B0wflOC(>Np>W#^o9A^>lQv2=PmVCl)3Rpa$4FO^5YFz-dNgDcIdjJeEMsw3#fX zFhKAut^B;1fMFy(RLyHhmXkmnAjOb@XINx{t1iG) zxKvLUFl%&!J9x5l`MfHKu7>T2Fouc2!C6!91z&7le7+iqZbipX%xG&gw-5bE$HmNm zgj$%mh%ot#sn#JP<(USVVB-(F?Z}Ar43GZ)s&zFeO#Qz7jFfh7&tyWnG~CaqNVwrM zw0=iVSE)1g1goCMct97VxJ}P-1az`1&OA{c!V?WrN9$DBs>@j^W3e1@KJyt z^>;gOc!bg|GVzd&u8t3fm0BHe=uTLp0PCd3f|;w{{tV4*Q^C0>I^%r=8^qtU|rXz7@Hm&Kfb_lF>04jI2Yu+mQ3&5Q6e zEzK6|8T_Nn3= z?Tk}OmvUb-eDIwl<-^_=7Lu2~{?Wn>pAtbSsR_eh7i;Gs%nXh7PI6h7r~K+KJKfLX z7^v({tI>5}B#H>#r4G=bz=;5PUoo<$y41o2TMpBI= z=*Y~DSvrbh%f+fyx_RgJ0?l+ul8LQx>3hl`Ly6?9v@|SrJc%VVGh?5mlcUINOZ9o9 z)P$6;p!P=Eh;oCcCIu8|Eug#~@8}QIZQO|VYc((TMHJlU2N~W9lY39^B=3sLp~y}F zyXkZeTupyTrj~|Iey}CBj@?lzCh7(U@QC#J=e;(d#%Wf=0dQGiNB!LVQ$I_hm8q+f zV~(HL?Uf@5Y2gDhC&9(Bv%z>sPNRW&q5J1G_>^MpY)4BuLjs1;8%}kD>>=k)``ocP zt!l`~{a&d{uMH7nPVc@M!rXr}Z7K zkN#a~Xezrc#{Iy`J9hEC!`r^*ak<5`(hq#~_emd1Ac&8IJhh`OH+>=(CBhrw!v$pQp);ln+1zQe?baP~@ok zUZR$AR$tQ4odo`05&;60d^-vzpDU+s`%&Ew{i&tIV-c^m9#Lfk7{($XcGvEwM1B;^+k!=nve$E}9>-o;#nMWf# zEeYejCRJzqU>OXUf5dG0?t|ZvLY`_zC?)wUQRJ|UWucLW^RRzv9MRqkZ>Pw8<@d^l*9$=j)( zTOa^Fr-5T7NbN8X!u;e!YUg#mr7TZsv#Oh?fot3S)oBZoc1DNIy(O1fFS6P;*Glck zT%$78gp;?XMtk5ixCaX@Qv^xtWF#1d`yMKJ@E`(F8&+S0#Nkj%`q_zzVczcI&Tl@Q z$KzA!QjdvcTfw`7Mk)abj_mufkTf3ACa2ma9TrUFjJIbAG38Vi`~~PedIs=3qm1q2 zT&;h1{CyYu?bSqGY2ljgTy9T}dC`8e7ahK&^l@~WI1R(ax#RgIvB9T#&^{ucrNg1C z%_zPKN2yIl(;QmZKf*YQS;GEz^LsMacMe0YfCz4s#_3k=W+eD*{m&W|b=Jqtl3ARp zDH}OGlgERawOT47PS?|IGf;RQpKmrPqBpBd_9ZMdvRL^C;qobaq7zMnvKgK<@?{0-Te+Mej~2Y1Ntd&|`0d*UQ(dGUDq$+qRZiv z@9M9I&W24Y38;+SPD6IOO-?sUn!~E@Kr3#Asiokl&fxFsAinLB>$;8y_00Bs9Ibehnk&Xc~^9z1d=SZnCg)zt}r>n@MY1 z@H#fwgT~Z>{6)$xV|O<9w>LY^Goq1^V@Gd$YYR77f93+d$PVcjxP&)85 z{sSvm_3_AmVH>;TRX6J$rtvCD@FzHyFR15#=^i=$Jl)Do3bR_h`v@*Yh# z*DNa`{p6%RQFYL(sk`M(%N2dlP;pWI;^_u=swNLIgYZ$NRhrg8z^kP7NMq3;!07mm zcBQ$tF8+LZv?jJ5+~(|I97Yg|gL>JbL2W?+cGK;%(^T_B>A-9&9Y%W*QP}r2@e~wj z(3fsTxIkV^C0c0CJUTd z9U(x%o^3H2DkdAJ!uwc?Gd+XBtNBgq_`=JV`y?VXB_yWX)x?Y**iC;+E)J*nYkOEn zyP~DGrNqZgzoqtx)im>cYZ(n23x%dP21N!m9q`-JWJ>yRKpC4**# zDW*#3c%7GRE1z z$!K)3B_pGP#5PQAPZJ3* zNGMdi+#KvL>9MqShxdHeoN|d`WsB10OYg^OQ_4lV#APW(E;0i;IFY3vF`CDDu>!ZnV_f~37>BRFFWOFOf7(@jk-O857 zE!IzIx1T>^2&KC`t>mw@pZ6IzBDdhXySV5WXz4u~iEKY-x;J3_#!W9dA2vloH(7Zq z=}3{JBwmLQArUn*()a8%Yq(V$3)b4rBZ;_{Sy38|JCf7$Q?7tiuE%E|>HYoRaBB=^ zx25v0Pm22+0wL}c7gny=n<_UC8W0r^41wSm)w0`*HQ_Hb6aB~4EuVVoIeF=rneaxV zN|q8HvEaK~W+SIt;HW9>+M#9oFM(ektw z4z(<;EwRX0c^!?#r@9mkLu85uf|@@arC_gj6OG1TT@=%H)p1fYaI*~~E&&Lo1;Kg5 zN*T!sSvgmD>-tWcJ64zE-pz&%W@l&Vq92>4zz|QjKe!=S-xQe`M%*S?u08ZSxmlR& z>o&L7Qx)2tg9mA?Z{={Nz3u;uDD$w)GZR+%9vue${1OaJGbYc*oH$oq5lutWCFN7q z@3GkKEd!|L=a>g{+8vAC`hb;Gme`mH-TuqsD<>irdIm(vAz=UC){nSux7DewN7PO% za4_k$UWT(+?-K`~m)`X8Eo_p23$`xHObQ;}dcr-|vfpjdzjZFIugtp~x^)|>D5u6L zXBbCPOG?Q=8rtjFdY!gn2014-Srnc0tsDph&=nXyi#eaUTS>JsGJm{Bz-{)MaV?j9 zjhYf%r>IsYPIeRm>DA`LSS&quW`Pt8yiBai%!m{l?^BJTt*D%PQF~FQfkm2>KHP%Ki-BC_^p@MS)bPf-H)0QR;f6;NE%#BOI(c>6O^O2>Pf*ZZtBl$ zMWJQJ&}}!LR)CbbRk}~=mSWsB1EU{h)moFKVU1+re42E~D&I99@#Su0=r&i|c*T%V z;`7a(Ac{K;5-t`-x_)w}hom3aUH)rN&UVWBk5*Bwhs?OHID2aCY2Ckj7Ugt3qXf1G zn~H_Iv2I}aaCd)`tr8izjZ{r z3??!MUg+;XDc;lvg2&co8x{yx^nvs$0r)i)mQ80;{< z*mDDNH^SCA8*QY|i%=?QH>wRE6m0FP?pJ<1xW>PM{ftc*KMnyMz8- zpL(nO`z6^~ZESLnY+UoNleet#I6Yx?DZk1@4sf)7#`^&B@qoUNgZfnmv%F&ZV5ZtF zB{L;8b$;{oTyXIrSQ%5)ElxK2-v-i_+~pFy7Y=pu@T{6md7&xtU)8A-s&BI*AdHe# z`T&(!T(PC>a@))EE11z~^($Br|H!>1dq)NEZn`$&grV1)f5nWYgKtq|h_-uR@T$Gw z+DuUlX=cLlb_)LP?$0!jA&g1!YFhmZ^@lU^1MioJuAjTG!HXIa5LAvV_(Lk-H7gi! zua;f#)OiW)9xXMZ_Y&E5QZ&^Tw!KSeVX;0Y`UM&>-8PNp1uojBDU|y(wFvIgu{e9czWI=Ki$> zupL8p(6zy*QFQ&$3#ZJmV1V*{P$|Bl@=~1_x@;wtya#fy-_tV)GOTBkx;~YNY72LK znxD{uRn_DG`un1cGm^4#;WjED7if+*;!zP{?FwxWnjtf%`d7c*Abl}-YM>|SMZ0!( z!MF%=;PWIBdhj3#a|fv#w{9qy&;u(>AW@iKAcXpF2LOW^{(!IOK1BbT5y#XF5Qy)8 zvn;1(;=9gY6RIw=%DxYo^4}$B@E-e)&{{&JLLFE$x@k*A6q5p*hzxAG?t6XpipRbT zsje@(HrzRViWj6e>wYhC^M`pI9fB!f!ui)&n_zG=p{N}i>*+ULdG@7e7&wP5=B4ZB zorED%Tx5-N&aWrQ_J#4Vqx3q+yM%vsB}w85RTkF?1b??}hd4^ZG|6WeqEL+5h-g*8K#c67CxJ6POj=;=_1BNT9buz|{NIO{_ zi`d>D;CS=2=djg=?_BC+vsG)9xG!{e)+cFfW1201jflcTBl0g#DY4-xX7d(2 zx9Zy>ztr`_>q^WlMd3I+_YozF!=yU{xHlCMGkS7RQ{ z*`QKP878V4-aC~R+#v?AFX`Lf*KXk56amBhx38!6*EuO`BIVbS??$liE!oQ2$G2SC zR-}lV;rj$!lA=9iVc{Pk2V)YtjO%)W{X2YG85=gqf}sT6$bhbUdfo##wU%KqM^$HW*a1@^ z81JP_YY3itIu35v$~pT7!1gWl`*=rpS17nmy8!qM$qwMbEpw9fWxDNE$XBT2^ORAx z>A^0|FKkC&XsuEFLCi@5kf;TPM5@Zih^vm2 z>N(7SkHVBox;6j>YoO)K&b30Ub*e4}{)D(+jmePCH&l_!qgodYd1 zbGP1X>DnzoC4&niWd3^vwuh*;Tiq%ELfTbHa^cJ(VVPBOrQW~{Jd!rl$XSo8{{#+s zoPT-#oT)%6F3zkUh2KIPqi^I9JexFL&7WH(;g~KvS^q@yfN}y*I1V|$_vbb_`InBu z&6#D#?$T@_6cC^<^f*9Xb9}p3{U?h|yZw68W#bB7xM;8`=4ze$u>bw(?YmR|?ZYu9 zT+lTCJk3jO#__pPC`xNJvGQl0Jk}7r%}v0NiO*BcQ+u4mc$YVW@Wp5<1+i*e^KHUa z=b^5!_w6=RmBX~BdoA(2%crV^!g4m3E$MYf`_#eeGx53_#rMIr_sCeP^$d&GzTB^p zO3F#+{EzNutnX>|+f8roKFXuWgoP-A%+uhq7;$iau-=3<1Hm{$qQ=9zW^FrjKf?E| zZjCc-mr;ntj2WGnsB)lAHEL7E2lT@zXj{g%(7{T;wC~$x^x3dbPHIuDU%)PL^?YEc z(e51@a1WL^1+k&@#?43Tb6JcKcDL7^0F}TQq<(!d**}*u5FNh$ab?@)b#ylUymBGp zfq-9V*%la)2a*6zftv3dyk2_mv)ou(@#i4Aa8v0X=UU(AJVp%j_Fv)S^}nOMp%FS( zo47af*)*L7InAN<^6*YqR0vRvRX=K`7BJ?(MV-PMM8vomhae3_C-A}^Tt@}()NNCah zxO$<#OUA*34$|cgiDuP8F93YB;$2yOP4g~Aba{n#f}<50TsM zl$B4xoa0Z(MwTwN+f}T`GXn1~eKsZmTC4$Ap^A{(fsL zeb^W(sko=WzI;HB$-t%L+F;{zKgm1R2<$#@Wc2nj%DTYX-BjBL9e}_VPny)HwoyED z6Laj6vAp~Z`q0K$T6x}t5}HfxuNr8%14YHLX5V35e%FV~iCqoG z-sAfhKgE7^e#M}x6#Ny9>Jy<_ws{%!69C$hhxAtEd=Y$4Sniw`-b zO9?0`#i&0OCz#X2d=AJ1>W45%%1p@FdKB>GX7HEV{C&GeJ3XS|a=c=Cw2+WgYdcrx zm)7L#(U8?~LZ@9|BnC_fJCq9#Qau~ljs#FVV*FZte~pfQeItvRllw&rI}SVNil<|Z zs~3%yKP42)NX0#8(R@+(?6%eU1kLliGZ}4m?+k}|OcTmFJqs!lF-8}5)`zeg-|??B zknBvu_sc{0(J!JtRCXHN2%#!m-ny9+@pn^i-&+B7 z{+PX&T?G{zn)tNt`6ju#5gG@3747h;VMB)6lW7wYhP6$Ao1tF1E)1pj&^~M%1{)Q; zI5x7bRvd9wbOVR_PmF>M3VTGvfUa3Q0ZF7$FbBuVMpj!V?efx^fC%V01xMXT)_X9R za^`W$U{zVY$?b8UN%7?j_v>X`(U=yk)I7L;`|3vT`(Ff{of+!PE2Z5$*BtUq1tD5A zMV@2f*nIxgRmj?!zuzkskEI(qBC7j)3-c-KY);RrQo_I}#`k*DOZ52ax`M88&Zhui z`VG{%(Ai@#ABV(T&^gr-<^3)xp?TC6!z_Hn&w_$sas>Gim;R+6P%wlo6){d(D|Xr8 z@DNZqAk!jqZz3D9mAEI{?f!HDM}QVNC&Ni;PeoQ9+IX90A)>&A8e@oYI9#*iqSI~i z=n_42=Zb1ZcpUgAis2oGaj0aSa-?c)d-xDGiUEVU@zPp5GlznvA*b7;nce0jt%Q=L zoq7J&E-5jwS!uuMBZ(C?417H)8YM@UIj6GOiYa)+gm_XVQ%1|c5GqR(^DD2U*=q;2 zIt3P{V2q4V9(6H8ikNk2jb~$-6KUM2Xs-Ey4D6eQws6#KB}dcjnnzK4<0|8Ns8J$9 zYUt4{Dpc5h$So_Gn4+a2ZB9+vLZguQmj_Wp-eBQ!8oIunxp05uM-CG`erLB!vCgDAN0!f$n@~l zX>*uxn@+Ocx`!DFh|nJp?F*_rFLOMt^h~SPDeGn4mMae&6|ip{s5M? z)6~u_tlB(=)pm7%3Ysd)n5v80ThdiIYN=Lx@9)4F$Cq83WL_nZpj1>sDT(9ZM43uH z9B3b7)=h!wF`q}Pw|9DVU5oA@CcMIm-fZ<`GyFlFn^4nHb zbv0efrL#_Sp3pAE0Hv8`Dbi}*Jg%-uI1FkFKsYp$oesC_YbKkR;l*es6A8c3f{f77 zK_|w6ee>fDz*>|b!*OAvg<1Qwe|uKf-|W33&~*2$l9hD= z*ZpOL{24*D-Dyw*1EtjnanbAu={9fVJL}vNNBiO!XipU$>Q8G*ZXazbqcPKM&#k)X z*)aZ=0k=ksu&Jl?SBC}d*HSHhG&FY1{99>Il1L%Gp(3d2`B0prB`&^cM)0xM=Q(`T z77}&!l@L)8udi+I`O^3_01)fg;Ya4@F$BaRBLx>tni%?r9}2Z^muYZSX&0ISbl8V%Lf1GES51wy?&D8KH zW-KO`kU>ePU3tH|;!U$ZU7(h7crdHmNN#ZU+CUb0FVeU?z^-eV5B!^pm{HZsE8#e! z$$%|Mmzk2!GK>Utf4W>E-`~kJGK0>+5nw%L>Dh+K_c3##fXWtIZfU;fY*0BY|(+NN}U+RZ?jwqZc$C zwJ2b^t+N>wmUBQd@2wihc`W*pP}YxTBo*H{Io?YRzNACpRZYfk?O+-Iy*W&Q;>8e8 zslQrE+$|;rXG#Yuxh&s%Qa)(0;bYuEJ3REI8XR%uPLA~<#vo#4X=G()=j5a=K4Guw zUev8k-|@}nW$iz?Z>p=)fRJKo>DXrY&uKm=7aEZUKA1+&ztGzf7{x>O2BX}SlR9rfnvN zK9AM>>rk~wbU-oO*?L@z&d7yoQ&8W`TQy5{uXapkVlAwUC7B(+#!hOw)$!ma36QFw z+&H&CGAj0;DcQQ5orC$4GCn@bEFMp%PkEP4+95)S$l5!0WWCkN&6^DuY**RYR7MUU z{lC>uHNV?Qg3AZ2?&lOp*{DayrCqnM;g3`=S9OkNUD8qC);o^MsUZ-QJK*B=l#a)q zip>q>w^Ncc&HD%BNf=pa7o{fd6lvXs!T0j}@-eQiE^u;Kj%~foWrNjir(G~gJT*JX z3QxDYtSI~SMRIox`(Dhn8ay4fNhz>X7#;2+BE8;z^xzw67UMHSnU1$=`1~7@&|Y6s zi$^qt}t^c;_Tz!j0fg=ReyxP?>gos7fpzpIV zU(H!$h5IQwIniEfj#jqo{S=y?({X}Nz0hCKE!~xi1=Fmpu3|JIVlQeN5aY{?XlgXh z2~aiPQgGIMQi+&r%T_H%AU4h*h(@M8pK54tOf-_Vk5btGp5HKXa%=GP{mH@B{W~~n zT)kmw#`!i==B#bc0hES6Dq8(<|7TzZ=Oy%c3RynEExrnuQyQVLNPTv%|O3>1avupycSES;piqK#lIH6hNrKE zhljtC$HznM(_B(g)ZUcVMm4oYQDrvX-EpaZNqwpTroYmRM{}%$WioXNr=q0|FxFV8 z^&Jo0tT1z;i6JfLGa>}~z%kcRnb#nmZ6+Pp#!rN1jg~ZjZDuWI>i07wicvyHb;FqjrgJ(Frevq=~*BifPiO^s} ze3R2sOw565W^x|8A^mo%Na=&bR=^j(o}FEpq-R*xOf!!N7RYe&H4Ycm!L_!+VEJdu z*3`_jY?Oo+LiU=(tZc~~ncY1J{yVjClO|SqQvL`ySMumU#nr~2cBdGjmDyS9C!iy| zCIV{~N=bI_n55v7pbe`f5flPmg4|8Y#LYv;5sQ_5zLJ_zP{_(La(VuYt(G}G1{`Ck zMJ1%R>8@^0oDZ3&nmqRceZSb;8u=HbM98!)OUkXF-f~^L*;CgTm13NYMr1GxBZ#Z> z^a@2UuH7MRJQrf%MvCNF}aqtepvo1 zpGc)-I-OI zu}kx#Agx@k%tY*avt|N<@9&Q$R^y8yg$hSAiYS5tb|KW;184irpz1`ZBu<2`q7hll zOH9-106L|8p%6ct4+7tm+!_T^aRLDZsSDP5A%Q7|^l_F4zv=6HGX;L}9TH-s=|U-L zFDrQP`7um22BQ3>P}`RtNE8TCUP2N6N5mTY-NI7;WV^j7BuPj`MQJ#`^&1qbP;a3? z<2G8UuU77SSBNReACgSjzr=rVX$#0mJmA#*?B8Fg8Q?RB#dy15YfjgTg|5R_)7Ik3 zcQJX)Xc>@5*1vX_)G1Y_P^N^C&W_-2uGm~$!UD{Gt$lkfxO`VP8PNF^KwePbn^Y_B zwck!Fk5iVS5!n_7>3-$rDTGp|MJR15aen1t7JJfm(?x{9TR^mg(7;u(5H-cSOyPk~ z1ItWuKr1o%yBVBrY<7(W#NN^#OlR;YY7K<=)tEhy8kqyj0!4OYuxi^NY2|qy;AO;! zN^o=Fz+8a?eXMkb;7xcy(^xEwP#zI-`+Zq^`gX=ugpfA^dDgp+<_ao`JbUgpu4$lT z;rolTQ_J0gc4~o$D|M=g_KEKie1imf@_HwiyHoXNzD8^n4w3}I{DgU~h$PIzV!w$q z^7HT%yOEU$5`s1|`9-De{9AOt3aZblSph`@QLJrK&@Uoxx@mYYAemFmxt_fy^N(8q zgjEV48TZL?2Q4`#z6$Z<@(HDY1?j8niW2!s7V<&F@^QH3yz+p^$hj4IGgf3SDJ1|% zwGC|1Hl~N_O-)5b+^*M)TF@D#k|H>nfGqWZ*0hng^m4RdB@iiO?Z+V&7_29gPpCsV z9Mm#mis7gb&l+Sw)p~Q@(YV3cO(7;bvRl`iMMK6T^ae6hz}c@QF%Ta=*5Cz*O9WZD zTJX^JC2vfM<;wnNnX9U#O$3qOLWtn%X@&5S?iKgz7Tksu@xK=Qq4QWU+wy_WANsWY zhBi8xfu5wwXX7?8AVZg>mN$ zgG&QR_kv?y6Gs7ZGlf!Aan(!lClzxgGZ4syxL?XQ?}L>fNB3yXF76z)Ls?ebkNeOY zhs#dnq%UW@95<#s8<}h+38SdkkV`-YSBVW^g6BYqDmgW(OqA0$YA&g-x>_w-XZ(O^ zh9^g866`C3#5hUNkV83Pk@^NN4bL@Qr!_#4FGy=hZY>?Osrm9%|QQ0v#Odb}r>@ zYpc8F+}XUCzYlQhJj5%4$n|o}g|)F}YJW3)Y`Ia@BNr$;961c>c}>H|Sb&MeUO%f} zXsuA&A=r~uB72R6pd2F;{R111?r{uARdD6;Z6g=_=l%**>!skYyM;6{=^>!6dHjTT#bM^Mp!a;^|my^=2nR-P} z|N8=xfNiZ+4DF3EOp{U8m5CkpiE_*I>+9m7hN$*}N+N#QVe0uW#S@0lT|c-(>+V(K zX6X7*wQ27;Hy-|7tz5Tl_iAAECx1aZnG4s+;T6g)_vKe!-@Vx7E&j0E4W+k-U+1^U zv+#zjZ}t1;3y#m5W7n)A;d?08wf6Kg`}&>Yh~l+Hwx|2lC*BU(90b<-XDRn8uCFir zb1|YcXpk(>?9W`1Xs|LSYZV3jgl|t!*M)d!EMnS#**s)eNC=JnyVyLVPtILAsMICJ zKcM(!DAYQE+-^Q>Y?X@R0>K2$9TYUE7Bg3XiDHQZQkS#|yb*Ur#yx;hKZ5v%O}}NW z`i$^)6jKT+S_bBr`OmbFn+H%LJZ?#z9a!#6LQYn+h(?s3-_1Y&Fw%ikED+<MIU=MwAY~C!8N^n92vX{11l+nF|FxY7ih`@$igR(_7mWUogj1xJZwV z`TrQq7b)_HF(|^_wC8ArZC2+Ra@axiD3K+z|2iTT826xn%JutrC{T?egGuy1pLSE? zisCL%KK`$TvY`JRd;DJ+Nyz_i_3J7@Bvi_QF&IsLFBoxuDIZM&xrD2@K)i5_F<4vs zk~U$7s7XUym}5Z0+pu75?HKT+!@g>lGKxa0XuTY+81yB@Q#(E}TS{u3W-@<*1u0Zz z&lRPd6BHyp!C%)(o)4|CQ6$}uc-&MRDC|k7=a!AcU{IWRV%~CA4+k_Mz84Grub&K{ zuI+cg0o$k`g5iSs6~LR{kA*a>KuYc(&IY(R6bpg=5>76K0M|e`vNTezr7J;rtdKyz z9WkP0TvQ6_HMe{5_noKnV!FJ;0Fh2(G)`vTu%#PsYeT z^#rmc_41Ok)fI6WU%$pvlzej@VIWm=EWO`_ zkdlw2S>?r{M$~hZh=Pep`HqwFaOo}T9?5vFkgZ0-J6f?+KFse<5qNbLOgtBxViVQw zZh!N!VMYt9$N&3DoN;WJIK5lFaTXz-d`@pPr_CPEZ6A6K31y)mhmh)X1!bw_U&EO* zL}jt@Z`}__6g>q#caX^Xgj_u%nK4Zm5GQw4QIQ(ZtK_3c@Wq_pcYf~fO9lSeYDNydZ8@;i`Plx&{c z$z0|jYnw`B*S~fW*x4EAqg)q*9Jf*3AJME6kas|Z*SB*o%`mKQM*&??r&8u5 z${Vi8rd;9j9`P_yG1JKRV*9R4KQ~&hXRCas#VAsM>A^NyE2{b@R?ng07%gQH6cMYB z&aCgb<~y~lw-TQWHeb@imyYXLq zOYx$O&lfWonTKo^=1+0NHU}rWKMG7N;DpS!>-*W1jByL2h}>e)A=lmhTGRIL5H~fx z5Gk37L%nB+$xuG!HJ&c{i|fw1kfGQ6&s{JC^L_F7o!k8!6+<*R13G9@^qek6jJO?m z^8gAJ0Lm|$a$P~QA+sRHnc%`~dUSDd@wLj^csw<~)>yeLR-L>gLd`r`&li9%=62ov z%o7hUc1_5*+4GAp<(y_wyLn3)N7q#uXpD}w=JU#%RwqZ^>jK^OARD~k>?t`)c9pif zwGl<^3(hkme(U!8sTW|}eb>!8W9sj3^8on#d`DvbKJ{(SB1RHeNj=Y(YTdTXaTq=5 z7{~zB;w6KzUUhr=&fp}H;e5_aE{ki~*>pALo8pdlf2Fp@#BnY5)tGZZ#0Z2-%jE^8_paRFYy$&^B zYyDNgtrMJheA)6n-wZ({PAf0F3!WtLUweASjRiZX>v`F)1WYDFs7zfk1G*Qv@T8T( zrP)Vwf082_ryr+V{D}VbLx#27y5=c9%=9Obh|(!w&ItnHg8JACWw|cMggxZsq2|PQ z`Js$8<0ax)DGE2nIKjnYV(KrSyxs)yTVKOFU+0DMQ@k9hn66XYS2+byuc?%hLN&o( z)I~pUtmH6zWPba2B`G)6l2Gsc2*b6d8L1r(Wrv0(NHrd;Sb>g;4cjd$C8_1lm%x;- zscT(&k!)=o?Tw@>smEZcbkj0lqT3hwt?dN`zp-gayQ!I%B6j0(C0E6Fj%r?A<@kyL zFx&SFA=_*`Jav1=&3~IZD(Oy@_02m((%o*iNjVJ&G8bxh3PlR_kneOfk;D>IW|n5| zzy7qR&K?T2n2c&AFp>nRQ62Gt%>}$^r4csFq>g)Hc5a0UkO7EGN=(w1cQ79p>(NVS-w%9!C5^GZH*}d=un=i6J_GNs z3KB()_a0+n_Oz$8oKLGTTxDag=nCe}BFH|44(E}Fp9TU_Bi343DU6?9BY?rAG)o~m zO{y}o7y&V)5G|=H*+8j_sKipoGdW_v1@$+yEU%q}vX#B}%KV+9qiu!v*w91=I1dyJ z=S%+m!%}u%*s)dLV}zen8uKy(LHx!3}^rG4}@ipQ4m9htAVm{kP`X< z+^i!TH#X;yz!K(UOaXl?)#YWt@{}E1oChVl+?j)FumJ~NlS#c70?Ph6Ql72roe)`d z!YxLHilXvp+H%(_Nok%NyhQWu(2oWAVugs!-=cYG zhq)!UDxK#4L^|pZW5w!Qz)`A>5AUbBdfLq>I&cBH>-UHTV=i%q)YO~_&&?V8>$#Sg z8%U*jHN5|3u5D;&+$&sMl^}6Cm;V(8ukVCGcuTRT0TnmKbCF;RIkNTTGb8YUf(N$O z*EIFqanaJ0_a+cT$;e)fa`?)o?rlFQO4qqe-=5_3t{;k`j)e=2a)%CA6VUVfihu+b z?OlfsjgHTvFMZ?nx_;2_+R(n#yfIG2V9xliymL`?B)7UE%Op%=}f zOa3#S%nGn!ZfLjIxUW&+Ag~BesGdmZwpXN9$ifGdB4kIjvBJY;(2_P zG?fDVr-gBfsY9?JL7Ov^D7d+OCUzf2O)(h2Kap^-#;~xmz0f+HL8DVer?7F*$Vog| zwg@Acu)H&|IU>@6yLr8^{UPg{(R2g&UZvMa$>sv^#HM^M`%>9{hyEx6cYNr(^q#ZQHhO+qSLAH~%&Bt+|-1vsRrtr>gF%ezo_r zwYYGI4Vj@w8D+jtWZgJdal4+!*-2}ri@CdM0RU^`Q=c#I+fSdb)BUiIuJ^J zt8T&dNA|bu{>zC5p zE>LTD*4EhDe%TXwy}qGWs)uCpKp<4Gt?O5voTtecxs&bJJPtLthh0_fq9Y93@AL1( zHr2Kco_f9dxZVr&==13-kI&fuJ{kNZyjkR0CGwTUl>gNux-4v4t|Vd#PlbhC)_>)6 zcD8!0f*_uVPW}?!9nndNqd1V{hK+(I{C>0ZdWV6`<-0Y2S;Mfg)c_O~j*??rl6N*( z)}42@0Vxy>5mQHFak6%7jV7%X8B_72dVG9+8p9i}XVi_$cB*7D*nb~?4{v{1k)%1i zD;!;{U=6$DZ+o=#oirX8XpiS42df6JdlV;mtf!&-2fF4KSNRNQSgqjL*yyg2S{q(- zoxw*Wu5Y^fC~!(ewB9DQbyeEAnKm^wagxc$M&Mq%(25|&OcDqTT*0s~Pk_crzwGo6 z?@yiRQ=VnDI~I=;i}N+TZF{o`$7f|7tp#Jw#rVSVR$1#7CDs%_cES%eeQr~Ig6Qt2 zU_k00Lv$BfXuKub(vR`jnKGG*RS6#}C z$BB_;omyOI-2^rTZ(nOInHIKz;WJl@2&^-?UOy^0DBCsd2V4c|**$hPq z!L7a{H1gplt%$*)zA7@3!} z8ZQkJzRddqkO#Kj)CAX2P#;}+|22%9{zBLg0eRBOeG|f~&yPxWK zH;W8!!&~OoIfh9)(YnmXOa392dpyF46ItN89nUIJoSd{g_ZGk>#!x@wv#j&1J_<4< zKvz9;pRCigeQ4#19Bik$&2Y4#J2i8cS!zO@GgBoPB5I-7|KauAI3_b37ks>iT{&bl zDk;o$WOrK;TgPcz<|-7gbtB_kFS0^>?%RC-qoRSkj?=Qv)ofE3;h13bh}I0R{J$J1xqh{;>V|${BPow{~i+XfPDzcH#4Y+**@?xyGqF zcYK_|aZ`FzvOR?9a%0(W8)9Gpn5B6B%IP&vYJlgv#Jvae2IlWynD#=n+I{a!Vof0! zhISqeYWP2kJSPr;@FD&=^nzf$j_esOt_fhWLtx8zJQoqC^G1MPPHRbrM1JaIOC%&_ z1)HjS{rLjf>b&&pP29#olSA z@Ctb5r|Kc|Z8^>P6k-QGUVA7RaTfX5obgEko_1~&IZUJjE2qNlTE|RD*&Z-FUeG~_ z5f;zluJwRZ|NBf=@QMVlJ@5O#zBrteOKZHkA0p!OwaZVQ%e9cB^}SKTJ-+y ztJW^-0TbQU=idB6U$J}?AItc3F~`G2d>!h9euG97ffBQoCTtdxbmJ1Pzv@?Ob#n@z zVQ0rxsH8gxlU$W+z~zs`Rde;^Q7_2QrrcB93bryRh~W>Qt69z=iUkWBE$%e)J%gvw z>6INjZi|kpV@eQGiU>3eOC29el?s1J6i4|=5jnY3(p)YoS#?L|4O+B*=AMAKA!E<5)KeWiZ`@2?Z z{PfJoK}xWHj5rR~W+}{>Q;hr<$-2{#1T?1@m^i2BEv%>vSrpEKz0)^m2RIIdhj!j8=|TRy5@F(z5gE8`;@O z`LkoQs{yu=HbRSFoiI^!fJwFhHhK@3SD}w%GpHrZ`EnVRjIkaSm5d4@D$=KW>fs@Z zDJ{>Zqf=l?|KQFh(sX=c2*ugf@k2~3N}4#T67KbryylL(u|;ZS_Lxpr8)HLL)^oKg zj~sg-nQl3YTA3(C@zyYYgjH2j6>g};Au+j#{eC#wOB3Z$lm1NolAEJeW-p7|s0eZ= zhXk05Dw}q5C5r{pY%Z58C%=rL$Yk1W3WY&cmJJ#}IgR?^@zhqu#Aar?{hJwz60MWj zKZjTpN@We>2^Q|UCXXAvs?}R*ip!x&=;d+;ukn3q8yP~T%!(=wgS?@kr#o7$7Pnh7 zlkng#mZ}?GH!?Z-fleT#!9u=EqQ}!TO;N=|1ewc<>XyC|soW`Ax=zo-1hO41cu{#! z*1{vDOkNKf@rECN978gXuH%?*cutC|%ch@R&Bl)kcjJ}1*r6k0zCIw{h350=v3^?V z`1((zb*p~qgy-EvSjR;JO})4+{jn*zLHD=ccp63Vx-IgrdxHW5J+1T+rBdv|sL50^VuAqc>tQbpa=Y!h zPWZFt+dj==B)BgU)Cj#KQlsGbWU9JJu!JJDP(e8~T)SU_O*n_QJo#<4#a2mhATLXZCKU)|@@! z1xUbxxz)49dN})9=OEpl-#jlq+b%G~LLWw0ePACtaY>2VZcmMANTle7`pVv;x9R8r zJ)ZPUY)((cK>I5A4zKE~01xL&ViiE4yt>0M}iaU>!_N%6(Ua4XCyu;(V0Cjok@B@3Ei z*{lwiiH_z5oaN)K4o@C&;Trqvqot{*4S!@=pC^;S!8@8#1rZLFqU8>WL^6IMI@u_- zPJ2TQmBT}1$}-zOvqJR78X{#-0ZT*RPYLS6Chj`J0SRi2_dmcLU!3G<>>rN!UwV;mFr8Z2nF|ICgvz;$p|A;Y8 zU4{I@NG>)iID;7Z%XJcSh%?EfRYN^bVp4!1oZ;i(q#mo9QFU}F7UodyWyr5Rg&44* zpk>dpJs_7M5by9bc4)ZP+19p%E0UTPThyC-xocm{Tu&o!LtDY6TXIYxLnF)Kcz6cs zSWx@43r0%CtqoSm{CPi(l|O1+SgO04S3rl9XTCnJwrrP2jT2=+(}O;sB7*L?wNNa3$TEgc4whgbQ%qyyXK!L3q8x*q$( z{ya~Gkcre{L~}7%2BG_p;vN$Acfnt)#wrU6w{_9v^21xZz*q}sJ{$W|41F!yHX`k1 zE@rq?CsT*p$-zYW%#t`E5PlygV;dbR4(|#jYD5)TpDR!hX(pJyp$>lC0qo5TbtQte z{Ng(!yM%0zcNFs7mnTSIC{R%JT!?qX_g|RckT%lXHaNmcRPdvuLtNHWIJLxn$@7F$!q+#6^n zDMXN&7}=k@6@sb@By)PEOe7U$rKp_2`@q1I#3=y15YwO#kc1(GJ4Xhx# z#h^ak#`m{J?B(BHauwI-dCH?08E4QJv5EAT4 z!BL~8qXRV|kRnr|EJQ#Th*6^_kZ60nSX?W5%H|sBa%oM|>kp+>?sw(=^$maFj-f^Z z{D@;G-ZR1Wgp4PpkalrQi{BU(30DIU3zjpIcqN zbCb=3b^j|6`B_T_w}B1P`D= z*-pcBqrYIV9KnDc%vSa1+}9ug2z^;|F#LIL?e&t(6l@mpyB%PH4DzG5aYOsH zHaKV3+0Kxu^9gT2<@vTT(bVWs;6xB(#R&rl4qGi*35GP6$8tPV;ra?7jH=W|uyZOL zC7~R9M}d)R89*eTbh#8#8IfxJvivA2#m5$KsNnqac{H*t(5_oq5m-p1$7+8VcJw$k zG7GGKC{b$YM(7y`xRnAgS(Ds9^_W}N*WXrx%f+g*=Vzz5dHG9#B0xcYO`U)vCc>;N z9pwe?xw)qSKl7!eynv{wqtybou3c5RTsh^(0CP0kdt18ux8)%0=xb_@lJO3WeC)Y3 z)`sSkWwV&dA5xcHm3PNp8>v0IDK)l+#=U#fkyw5JHOT0cZr!vD$zbGCJBcW%; zhJd1P6OSd}lfd3t{#{GQ9A{PkYb!vSH}3cl0h6;9QkZjfo$4AUP2b&_lDqUhf0BFFlcD6(k=%p-> zmhp5Vfo*jonCqseXlLP=RaAOdpWX%36)8V zcR$`iS9iai-J`lI0JD)jCoJ84@3Ntx9h#`Kc(k$B9DEdq1A{^^Wp%z>P;YzPAMU@M z?%pEM^zjRU34_4QA(O|7E1}ify1Q^D$U7@=vvM3Kkrj}I%Ez{zJ&jj)-`!!;=}IMr z69DPv@a(851@96mo<$|=c-}WIcPlFA#WLOousj#X^?GY&e}j9!vF|ux{N$AGRuPh2 zu6^GuF}+$?`7jaN9SV8{APa%|4dv&W!F*&!5Y^(I5WlqE9ic%Upx z+KHtpd~Q(Nc0HYGPGzS?am*USBYbW?lcx_#4Bywsa4w?jelF)e zHSXwxfDAzvAocgz_z~Eqz#;iW5aq8@%WZ+6U#B8WvrvAtmxy=2`+A_w_&f?M*a>EF zY|Hf~Fa($|wku6jY_snW`KH4@-A(}1QecpMy%2cR;9W0n5i4*%OjsRevbsapUh-sydPNLx8j68E5UKfT-F<=|Ijn?yd#i)fdHNc}7A#}3yws&9; zG9-B983;t`r*M2994_m6zg8~WCKR5%23gSHR}N@M7O^iaGEvD&EK>4F4Z-{_PCj@+ zM>}fDI2ElELJ1lA5UdOk8?D6ew6Bcm?uoA%>-GZLM{=_)b7f3<7<%6BP%`kNz~Z{@ z1vqyU&t@ov_s=z)9e2GiSyp#Ad@A|F6z?++dyg|=qi>qGY!|UR-zxx+=vjgHJqf)x z#Ys?v=_&7wIF1GDpuc3Lb?+$ta^W$V!ZHOC5gPBMYn>4ZPM%x69Cc!WE&QU9aalk=u3-OX0G_ymc@oAP zh7!u?2$I75gc7rV=>n9tj1AJ_<`OR}>l|YT5|R$X7jP^aUR1ESO1vkDXx;qWUk(N? z#@ZG^L5l86kZ}bglA$~;BU?9vCE45bju`ti+qnC7&Kerr>i)bAV~j8rAJ7Z&)oH;PJkoP)M}MW2s~$xTcuxo{6```1Um zuKYeOUn&VGV}8x#7#iw(HdVUDiH*)t&+1Vi3^$Oznyl+B_e^;DOs8z(s%2-YZIL2F zOE&Z#HhqO%eF@7e@B^}71M^Vmd2893P&2RaQ!zE0IQ-eZF4tat^96Z^_x8qwEcc}b z?3z~mfrW#`QIgLSXO=elUTy|#Qa~x=x0Mo$Az)toj`#)$#C7U%gn{34j4diDuCg+4 zvDKTw%+L-NYYZK29Eu#>pqhhlFgEwb zm(FQaqZ!hL`#{+I_6yO1HOuvJF>x@_r-X5un3)X_=Oe>|3r-YoHCM3JTz;8Z=}RL1 zNQl0)jrFLBprC`GmjR1EQwlUS{7HgbYs5a%W0}J5!In*k#^eKIzAnM>d8R;E=p|rd z`N{iDtzLoS`+$nCEsoH5t;{iC?i(D!+HRj`3!`#&NXRn_CV6hg{h3q2#k|QM%w3PV znJ+NkSUYBb_ZgNQ07(8X*F)1^ z2K>B~Ob6(sR)A;tsfnj(DJu{2uX&In3I)>C2`z}fsgrl`rmrbt6k-^0&asW8%~XQq zcfb2lA}#-hw^+Jc82q!~?7KPq-CeuzRpPf|o+?2cBp^Beb3+ad1h#Zs7!g2SNgN?q zzfK}f^~b$6P0rNg`e0&YX3r$Wpw#U{bBby8M(>ht?U|Wf{N-aWtv><U_uw)0uNvg|xVWOd9ET1rIm}CFT*zx_TN$7!nU&v9q9{SN4By7G`#% z(1nL+DFe3<6;snv2YCrRq~l^UHFFus76`kstM0NxVTwT_tMd?uMCyhPZR*m$Sf2x1 z8#3nRtU8_RTrFfBcAq8#tlR>49^+>B?zh(;#$SC{#YN*)9d)UyL zTm^x$!J9W)JhzC#{^bj4sK~g;v<);baJG$@DMT7^_d9HWwycKvM&NljU|)>PM84EWYF?3sC`nO+F+Nd_9$4LhvC(b;9o;xN;ix>Pb+&8O_dhkv zJtfC9pwu($y4}-hE|00mm@T%nv?RzA&lJSMLh?!0kM4de{#x}qeCJUDVhM4{`SJ!x z4KqvX7^~U-77lV^#G;mg38w(iC@?_-!+$csXa=Df9ZG?b;?kvLT9WNq}_B^#1s|d8A46Q#8a$v$*+qR67DdiXv0go|-R7-5pb?np#pq zY@Y8Pk|7TSCBs@mmf;eDu0El#aDOB-A>F1g&nvf31k=4QSfS>;SH4Qs#~ssfJfSRt z_~_&Ue?d0c9HYWtg@+w2m8_KHGLT@*=s?2O(iQ?)QB834j#2hiv>&%1HMKaHZ8c4f z_#pYX!v6aFr(+lKah1}6S^ri{UtD5Yf8SRL{`_*kfr$^P zKUl^En5&d^wzl2}B|UQ+Xyk~ktZ1gH7d1qs4`#7s9ZT$W7984+h0Lcp44Ba12+oW- za1=1JN+eR@jQ0-CanVfDl63>!TijiV|Jsf;YESi!$L;8gB&5XuQt%=+pSUr@Q8GHl z8Q;!~?V&~O#sBLcfr{+X<}Mgq$p zXzxOkKQJ~uRv%#c1mRRWx?D#`s@?g>NF+w6{vl{=PMISoekC5}Fmj@kh`rv4eRCu` z?LQTwV8$jSqG(}aYdjfecRJ?}JQ%Y&yg0v`_37XB58(p$cgdkBQJGZkVH+WTwI<;= zx7c()WqRU*LB0g=k1)J$frCIMPHX*P=C5TNZCcasJiqdQ&QtAjr9NzKC&9d# zC-QHK`h2h1hJg=@?cpgvH?NwfD%c69=o{!|%ufKo4P@E33PLn{aH+#*u z+sxJmyK-_Lv2It)dJQ_FIKoJR2TB!t~?oend)K znVM*~2GR89I(C{|rSUWN1{y_XY{f9$-}c{m@DP_F$h+xV{7?J6B-rxH{?Oq|>3XrV z?rY=ejMBNsA8H_>*r$z%V$dYYo#p}7uKdwj6wLhrq*(g#PjDy>G$Klf-T_cQuOLpA zdrg{q+xGtMN9PfYQN9)_q7Kcc-=sr#*B|+PZKy!NJkT(x5rQcPmg=vQ47Y6Jvn^_5 zo<8-ybO2jxQDhOjFrk@ie0q8TTJo;9aUzO0RBcfj#IBD^NpToNh4f!Q+0fpiP1S#@ z^N0kFZ};DEd9W#f<7qIXzQgHkzEHPe z2DtqQ*#6HrKP!dp!SunkMcLv&|Gz7`Y5ad?4x0DhA^-m`eEFEWiF&#Zm+^c1mdPOz zZr)Ebd}5+$gbKDjV83~`cU?_*y5ENU8GP1#y&&WH}en|~j& zh3Bz>_RGISyaN0CMlgK%BG_pH3ilY&1ciuD_PSDb< zlA(YZvMZ0GHz4~FLXExaIraH&ZqRGWwy6y6h!4O=zC_4D)N5$oqt+EKxB-xy(TlVoaff_Dj! z?Yp;ldWK>PM7|6HFt@O&_kMvV*--v3TR9-!J!b-veUH**#Q zrH&$5ee>zeDWydAd)n<7?1&R!duEt}fv&dtNa8QUa-lWs?e*wt+DVxW4AB5z> zw5a^MQ(%9Y$8O?xFk#Uf6`S!~9S|JK&2KtamfML0t3&w+0q949X4(3WD{V=P{c_ks z<6&s_`Z>;@!6-41ZyCa-vC6rh(~k_<-A!hzoql7W>dWa(>$`&M$12f^@Y0&143F$K zd3do9QE!q2XF>@-VQ!|Y05Dae!UDh$nY)P z?K;)d*U!RyjHvr3)pUJ`CLRT)E>tmz=~O{oMs5M}2s+@{*YLj+*+>6HzE{k@vLK+k zw7BpyM=3H?uU|&b1Pb~0c9Yp~9{Z>-1DP|$H@p;Q;cz(_mAraq3ua`d@^Q7&h3{9L zKCNw47F;+bLVRT=ise`dx)(dX7z9em5ct9yN)5E{-`E+Xq6q$K1U(1=2os}__sIo6 zaAvgQ`SjpN4xF%U2Xml6$zGq-xDFo%L8gL=x-A6~{_G#Fut!Bnz^8ikInW3xLyHyh z;rKduf9at3g8gJP&K=sl?57Bj0S&V0o$@4aVunf@Ga@?7{IGh7Fd;84-MMslAvgmA z3Fue4EnQz;%P;X=^r{GGgIu0B@Zi~CkR%~+LWp&eCvincb{KZ)7Tzd^dP{obo`aFB%=lzw$2tDf8mfela^EUT$yDWOXg((!?{rn-m*xRTUEU-vk z-96yP(Q}1)4g% zz%=W-XfYn`_=7k=A)zQ&%YyYSKISXnf5pP}?z?+7hVcUiU13FgzGfqkYt37UM;IH= z@PottVFwf!Tr z=9d$22qkGhcxk=U!fg3NpB%vN=b!Ptq#Rnre>VL31wZIN4VNG>`1IO?>;Pic!#|A6 z1rZp=Gv;36W;SdwFJeY7@No)3Y4S~z1+6y{U#x$M@ta24$<0SEbiqc@np4I5RV0@X zFWN`3jhk&B-|F8?8%kdcMczcaS38+xz|9*ML{^6=Jzs(Bhl{Rm4~bi)0T2S_Aqhl% z4pK3u9GL$vY*9X%z#aea6Zqmzog9PgK?;gCV-)$iq_>(GEFBp!P4 zJuJ}VBd!Ayqv#=CAb30IXCUn`x9SiPd#7t|^v`M>$#(J|pbb^qEPOU>{%T4=peCz_ z%c=>$r8B`8EX~`2dtwf7Dm@TFN4l?Jrx~Uu+a_XX>r5o*eu~fr5{1m`fv@_>n&U^Q z%1=K5m?o%kaX_o18$T{K&CSEr$Ak^SBiEN{k1=YBOM|X;d11ZYzx3H%9{&Kc83hp$ z-}E!|vrHO3L5Fi?8BxRnU>*vB!pdc|zNZ-Mbi0(FejLXaw}L~zGN2I%Ol<4xod?eD zF5UzzDn}FIlpXWIX4c7hraZ-JUyhVUOk7RuKqzOhdU|qkin}?|_H@w<@Zje4z@)?PSMBw&k18a-Kuk)3$sZ7GWMQMm$!<0hUw7i-;K^WRcc8L2IIKR zCI_;H)%##)ECvK7q;WNurg?0y?kLR;dIrZak~|}xI~lgx219Oz~e7jpF1;(O*Pt7&3a)XC4t*k zPq!=YVKZN`sxGBezNtn)rTgdDsB(D`f$+d>Gf=B=fr13(+%9a4#`fBWQIAspzygaZ zpRy53h?Vu9Olriz)U$ihhmDP!65aIVKM@ty|A+~&zz;N_}PhnaPIse_~%Gl+lH+4a zvyDmS9$&Nh8!kTUBf-p{D~n96jEEiFv#X5_2jC<^R43p4<2Q}mWeQ@d-TOUT=9kH=BT+dK-c{}?p z>C|KzTgs)2g=L$ar${AH$+!D``u<*DnntYs+FW-*KNK?JZg9vClDfv%% zhnybCNavwwWdN=HSyUSG#F*IhOW*+Am_%D*eqV{Lf0S?NaoR}-FQ(_$J1@oJE6+=D zHVaJQ_v<6@QvK4*lC9yR>69u8$w;biWoNl1I{~+jymDIEf!TCV|I=S7q#_7*bUeI^ zpPa9vy{q1!kyxfyztS#T`EbgvF37?}vWO;C6)&TWw*65a)p*qOYy4Cl75&no^I>7z4^OTU zP$)X-DN)qhzTK!!56VU3YYTU)DiQj3vGPfd44I1orXfqiX>TTG(oaG4!&2{rcm-c4 zQ)<@ZeX;1?PVAZHZTIzWN3#pdGHUO^eMNKm<`-he1HvqbEA%SVI^NjwJJjq$(DVTMTo>T z((SM4eB|8uHaq5{2@yhlqeCunD=)|8A5$Y1e}nlyRq|R~Zksp}uu{5+w2KaD1lQe!65U_>N`)W|Gf&O&wd0Etv^(WM7XtTXQ&EJ3 zLG~65ZNEkrg}lE~U_F}NI5QCtwKO1;bxLSi#@VkeypGM33KlINM=>$eX7)z1?u^J7 zS}qV7n%t=!I?C#LNXRoIU^4|h2yAuO((?xLvl55@fWU1ybRJc3bnrAZV3Mh8OH|R+ zoGF?X>wWz-4Sld>-!D2#naJlNcWmaC`QC#LZiZ9UWQZVilV#KUtT6%e+$ndHw+W?(}e|$wK zH8dAbP<3yV>Skft>0z8gDF&^KpUgx?RGuoNEWfpJ@0-e0|VK zaD2U*R`&m{PC_=q;V+RR5dfZ}p5}V&j8yc+y?*G#Pbz~#7XBDu()*G#tEjh>RC!3Y z#c_YA_p!_x@j8XTJ|+k!BR2ZzpLIk4c9QW&=ne9hhX^v?7TM4Der@Ibito7WezkXW zmDy!-H{fH=jNg=w?@j0ZaO_`u|K8YA*5g@SqR;sF@M$SZds)wJj7}~ncy5c2%i~i9Hz=H7c_@F`&HTeBV{wItk&2$Y zmaBodArrDHt!ULz&j`nh(_usaaGJdP+*V(6;b;`g%_gTG0W+YIlOV~(Vbc7A6bJjz zyoa~Y)NaucwCVWP3D8WUfS%~m+&=GVFzFO1njtkiIGLv;?d?;GUy~aE})fJ3eC!MVh0*9E{NM%o;9*Hu^GITBPMAB!*ih>DcW>?wPb4$ z_VzO8(TLm50JrJm`}rI3cJQhx>G#2qqiQ@!sB>GhvswSKhGnTo2dp{7w37C@oo~3) z*0-LY(&@PT~?^Dkmh6is}qQ+pzHv{N(5`;8>WI#az- z$+srcHWAg$rq$t1>a>T66RG=radPwQj^`3yGG%-ISCQA!r_y{C}JO*pJx zccz|>@&MPfH^_SSjv1ZxR*WD>gl)(H){heJfnssgc6^>Irt_TBn~p!pvTI4K*N<<-`!`X~m^ z7XeANdY;d_;L>=;;X|yq{Nv2!Vq!B?jUxHse5GMGhXX|CJxa0~m$z-#6S0w*B`V)PW`d5-oaCMDnv>61s(A|eap~ulmzt}Om9Smg zjJ;#dTdPxTh#m_ZUpo8rHgeZ8jZ057qG~)|_V2ppuwR4Uz@UKxqI@;Z2$W}Hu9oj{ z{c9@AX2dj%($>|y{>qZHrCS3kCW{#tQ;I6W`b#b+?vabxP{t(VBwEF9Y|YMmS;Le1u%lW zrGI!PV&M&c>ALMJg~($|Nq=A?{N>aovNDTekLIIwn}4W@8M3O}n~G*a1ODCE{RRns zNlq*F9G=Q<5@UdAp#umsEZ1T$7L$}8uEFFx*$#`8&(UtTDP-yUmh?CC2yxNF$)jX- z*p;^l!Bzka5W~9O2A6H{nZg#aFbRrKU~kXK%*7p6Evvazt&+r)sMxR~h||ieyPPRy zNtLODAaKdqoph<0#e@1e6)PWkyA@e2VEYxcA0?}Q&I$>mg-98shA`722nkVx1_hQ? z#k=U;6_?v^gehW{GsLl*lepw0tfXc3FVt_0chm6QFq5Iql*41tP*gJ6oH`mhE{#-@ z;I$u-FJEo=XMCXGO3`wsjDXBe2O9IDR(-v}fIZzKV`2#XJV5R4ZEsfy?zoYR2pPbk zY#|OBUGnhjG$^$2=K30=mh22jnaq?CnQxsh<5|gsfbb&DWu^6&&W~?k&n>i_Q-y zF1I(rcq6)R@HD4ld`)#xybni>^#;bmwtgDF+z!|m<$P=-JK`XYI7!a zaI;#&D-yvJ2$CV)4AW26Mof1)UxMys;cA9c`4xwin1dS!=c%JnoD&QX0 zTupH96(!)zy2#$A?THAVZ9D*zsg|Qq)I^u6gBM9KV+gfF6Q}R_o62C5ot?8L4qM2m zNv)EX$)cYn7;x0I8i06;kt}PDQBA2NknE>CoD52$&xb`FM)?XA)gEM2m;5_2+k5-4 zBJi#;8fIsyhop>`f(+j|dKl0^5r((IPCB6pBA?dcN*-TpW;seOvMw01l1iAlH;kyD zr5rb6HZ@KyV7s5xOZ!N(*4ttHAw!8aClwE=c;)ci*!+=d4;^2o+ir2uI90#Q#Kqb) z7%$6eS8<#jv5uOapryGY$?R~y-FVf?L`oEkp9Hg*ZtdFlw;yV1*)xVoJ+;sxNxF$Q z$`CUjp{y+F@|3#TdXSu(n_N41_<->;bFxzRIOvLA)u%pP(OR<;X4F^H zx>Gp+3kUSn1U6Jen3hi!i!WC;K|Hk6-tch;4<(7Foq_uo(`7R3@p;1#DI4RoyHQQ& z#qELe+bJzv!$sNyr9Rayjy?c235+Uh%p$H&yu%Ptc+F#>V(KdYY@|iL;muRwb^k-UglG z9=se%PH%UlR3;;FIHrkb|I|$h(D@ClZ*Rx))%j3~TD7orGIXKNEp4>CPaTAT@l2IU zlj)RA$SCAEYMN}K>oDG8RfB%C>1!F@Zq;9x&u8z)7c^w@C6A&q8E#E&D0eL^m*tAs zwaDlewAp{g572i6dVmWI^psNs^l3P}&RXkROKeSzt-WnHf0A|{sBElV^vxY?h9t_O z-h?3AIoR7#O&3RBi>YPF$tC1=oIY?!s+bD1O4(Eu&2H3HO^%K~&hF65sHbs88EE$e_u@(7?rgD5;BxJ3yJ-eYgJ8 zGeeNDnZ00a@X$*w|6Wc`_|Mv9O|;-gy|5bUq3=**YBY9K$dCngdu_?j=8u2J625gk zxc`n(*x#b~z1Pk04OO=)eezJ+Vc({kL@X&2>kjSg%bgTa{rQksbv0>?suG=h%1P!&A0;u^@qHJcG z)E^>PZfdeHHq05mG*oalM@?(=7MJ5l(NP|!oXhz$5z3o?%Z7jYpv>^v3V`Oto>EsZKF<(VF2WcJ&ms4*FX%v{&3WF3@I=~ z7P00Pxyt5v$kkA(aoutws!h0TV#vfrL=^?Ao<#oj-YfN*`U~VL`_2ZRW;) z)A8@vjCZ)-7kwP@-hayuQ`=@avISv^&(~D94L!dF-K#B1oRw>@4Mce8W}A3A2<%JD zBd_8JCTk#qsOcDuyx77tbk`quSePCeN#R8&;+b2gavj2{M++cq{__?{LS?il6VV$d zhL`TBxdxwx*=)2_Z7m~MLblUbT#-IcMVZa1(3`}UB7xB2NoIlV?TvPJ_E6#4Qd;VC zO(Ck6QfW9HT@B0?|IDzz5HOQ>B~5PHV0ZXilFRFSvBO5OND z_r>W5h_Yml-;omW8Y(J7w~L8?);#r@BAXM7F;=CI3MojQnnsUndF~%!$@b#c?u43o ztrRFR`qyZ!wRxM=d>#}at~C@bnTyrsVHem^P_TJ=!1OPbnCVT(jV*{hk5}WMrt#hn zE}~pMf{91`WiQsoN>5{mDIPGs9C5B+m{{3qvAIzR5IJBdG}ja#sKm9tEbvcP2^(FS z@2{FMX{J}hm=TMoeG{WfF;HJ>II8EsY!YidtRY6Ib75VxYMKbVP`@$_k!dvF;#A>e z#J$}2%vrUbPER>jSJ(=L*@oEsAQ}udxOq&+)3J8Su;9$D(!Lg1QV5$w0x!UztQeJY z8%KsG(fN1WnhjU&ZnTbdxN+L_RGV{pAD4>G7`{#+-`nR)=aP~P(i@{*tv_}eNfU0Q zHm}yJ(qfrblxQWB#E98?onivdTKQvHTW^@ls_G{vDKt=S&0LT`g-Kh^kibmiPhQ%3 zEzjN-GmNiiKct<<%5QMuC{6vWtc0^T)W+r-i#&Qrrms7-e%;7Nk$J)&j~y$MFEFmj zP-AXXqZ*JhcFb75W}s}^15~T%xfhxKufE1{i`3?(Xg|_~7n3xXa_*bH2OQTX((Jf7R^WvwOOBPt~uhs;l5n9KA6*-~s)z zLJPH?3udeVovPzgs=A=hrtcN;3B^!SxYZc~R1UROm7M1dZY{~r4zP6)Ao$?SiZG3s zIHw#^*-eB-c?jNhFi+~9NOYmuJroRXZ;dRnJaR^IfH?B8F`4P7f6Ms zbvr=U3n^2!H>`>Ul{l#+Z-*C88jLhbP3MA@0Dx5#gnqMZt2QjrvsH(HuQUV%kayA$ zjpeyClh7%Ps2WC#+s#xZ)s01dT=9?CgrsGE?yg+%B}Bw(AIFyC;v&o`R5E2$V``8C zFDerKu)}w}G7o0;QNv<_(FFXgkD>B@jf=VIQ>C+m*1A@BDwuEIRz+2s3W)E$)DpRc z+729Clo)Tn#U1wAZySPAnVCY}YDP~L)r!BacP3ep#+;#~<8xnKWDYQ7+$GdY6o4)p zw=lbRbrAJ<5<|UDtBSh)r3DM&?L)--I?;A?ZeOH34Fgbn1+KTaCjz$l;>3L&O})j6 zN>^jwhUjs}%--zc(jJNI8yZ{AYF+Lz^$cJRL>ouB5|gIOM6~)0*WQJe*@(zLZj62c zm-sjX3rzG{o`fbX$#Wcyx6KJtH1m!5H(~wc?K9Z^r5BD@ksVCi-s_UGt0u_Uz-7x{iE|S2aDYNxW~|asuU1Go*p= z;$K{dbKtjpH9T(bB7d4)xrqr}+JTGro`>3&v+=fb*==wbl^z>qhKf5o3YOGR<(cMpwpA9$L<$W*Y zNBNxnBE)W0z*+9(;uW9rl#|(9te_h1)cLEPX4@tGX{I zhnfn5I(4XR`Vf6$q&#-Lh0yAb1mcUlH{D3fypMTSi0ZsM!m-h{Y|Xd5b!bHVx)M!7 zol|m5c>JS;HZeezTrH)EO{Dh^QfeLDWe17b4i%7LHS7sgP93>%;Nxmi8x~WdVWT+A z1#D`YhbZrm(>xhq#N~O^Xd`c5WyC~@E%$lXnmt$9B%X1oR-v5-#v0$B5&a z#q%_>_Qr@ogk2q7l(A$Y_7qg2eqA$vx8rw`4R6zbm{%its)>YY4b{DwP{l zG%?d{e-c#VI2OMq)N`Kc0gNnI`zL-SrnK1yvB7K8#5@SgDwh*w(R>Yrt7ms|71Dek z_l&NB%aXjf1{G*l9}xv6aJh&@qwyNd_l5lV@U)*+aqHC7H&U4|uITJghe6glwukQW zrG>*2irfVSK_u%+)vU3xlZ^XwB4Jrl+X!+IMZ*_7C7~yF&rl<3jHD z#QiqZ$Xf&+iyl3howm1@A3fpDYX!q6;qvhFVn1)MfK)7!6bwiuQiClcl~Z$it7l|j zwH`wXzGRO7h+q^8o1OCxrrv_&@)#9DX!5Z1rZ`PevhErZnvXFUB5Hs1&}c>n-8QRDtJ9f|m@TX)*g=+jHc(sr+v8 zkqfaGvq<}~c-AXk+!b3LM~upO8WYS;Vx}iOxXTX3?whT_ea82C zN-e7zLzJFWn`0o$mx^PYQ{al63hrV0pwkWEAj$$m?fSw-h~ZRmgi_UxbX{rW901tT zj5;%>l54(<#l<)7bt6ltS9Y~mdY_$pD8An#qcdpcnBhu`Tz(e6 z#6T-da%f;47FSny+NLlFg{Z0o=?~`+rP;Uo`8ijCwEKe%tX|8uHn91ZyaAPeFg1pN z#_UByx8BgznPs<`R=bvqvpvYXzgN1&ZdjIP$^00FBzCh4c2u1lF_*2IUa~^5{AF5w|)THwcr79@ug^FE0_KlPVzM6RM5f9Ve@LYpqz)M zS;9fd;l(B4Gb92YC+%y0#->>l^`PNU3{oD~(nt06O=Fn8hR=z!Rim+o&3WbHXa=|Q zM2s~d3T#np-`LS(I=GV9u61Is{=8Ko6m`V&fi1E_IWM~P+dDIeg0-8D#hHw14Yn#J zmInE`&6zdI_!jQ`Xm!$ussV?i{(@5?r0L!R+&j8G`va2Q(T<>DUnNc%-MR~ehOG& zwF&2&sz0`d-@?f6(<=^>Nt)|SYP61dm+!VM^frf2KInzKZ_CL0esJAK#vhy@I^Gvk zD}Rw~LdyosE&m>b8Z^ZmcV0jDvlN!;(xeIy&ERsnDR;~95wV%o-9l0z!++-M7_|R5 zTHwFx_%WU`j!7#ZPEKjfE;QF57E^MNtS{_-=KlFKL5;9;0UZ_w{n-eS$Pvm727BG9 zZ`782`#PF$Ol{09AA=;$vrf0)leaSO^rk04ZJGB#{k%si#HxQN-BMt2?XzbdCZmW$ zSo{XSE~nSbnaD4Xt>_A>NF~6ikCi!7f~@Wqx5VHIZHE~ZK$MZ6;IP-M5^RAbNs9^CBkl@Z0z+WSWW*9@%#3=h9g)WsYt z0mF3C7UFa0iT%FhG&WeBfV9~<9c?_xM#HN+K8tOV}l0=2?&Xq zi20_N6F9vkbad-}GIggx@(p{xHz=$jVbwmdG1E>h{3x!C_gcH@fUOl6<=x0G_~gXp zyff>!BHV>rAHWa$%^7f&%M|2E5sWqoq=;_@agbQwHReg8l#30-DK3{pqsD1b^;<%E13tNZ7D`H?-Z+5I0tuq1#8HPqnFQynWC`vw8Zi+wUKFK6hRhMde){5*Jx6v@_ql6zSiJ6nP@Yq`4Db2WILPdGs^ zeoTU-vN-cv19wy{v3Eas5o&@3oT42hb$$FNtdL;OKRO<&HEr!k@c$maiMTYf(+AJzP^;~`{c|V6PFe3 z8=0?Nzba9LTirL#lA|jfcwJvy1%cYf>c3m|-9Zi5vskK6lYu`Fy7p&s4OuNDozkkT zkiHIcZLr>wkRWx4Sa=5-pG>?|0z~IA@q>>^wX&3#j&p{-VSH53iSxo?-tuG$d++(GRX%lPE-~LrXTQf zbR$T_bQ2ux54L!!^}T0ao>EuR)xb_`vNuhP25`W{({Gjg<`X8SqZgZ?@n~l`T~2>{7vOPi_69EX%*&^`{L*(hV#WSkE-bHVa~pGUFO#nFH&6dAbz%FzoL>dNp~!LAZ_!V`Aj@L<#z0{2^w7eC@&#GD5)n^wYq!U zcqWEbSi9Z;nBaD(-G@a?i*|xwQmyyQ0TxPFP#EaWeK@otn_gFousTLA z^g6L;s995Py+5DmYJ#IoJv^8wE5oMatgxI%9fN&`(mAiK+r%kkknRmTTSl(V+SX8# zXy9-`HWg(M2=Ta$b^8y}(n}4VpY!#8g$K?%t0?R0G)R zsdERWjdgy>*&4XC)FSW#3)o~CL>OZ_TWu>^^ZQU>9wvWJn=~C{6Tv>mQ7o=zYw>Y1 z_%-s*j5b$YFa?_cE64Z@$L!3E0H`xleYW>30d+_fCaUykL&Yd_Ur0bWIA}SzBuv}~ z-SOc$ZYg5ibm30kdlIb5Y3_!;?{DATV*6%h|8!?EluE9$Q?W5wJ0EhqphQfAox8@` z)o@d35~EO`HD#d?RS2>qHJgh@v4&9fg@_?|dNFAyPY-qFGNzI%>8$0(SASLEVA50F zeyLcGFTMF~iMq(9;DSsRg-xu50H?@mkT^J2Jn9Z&!jMq92E`=aaICJS(bZH{+autc zoM+BbVFUCoR{I|%0Jj)>`*(nDff4pZTOVMtjB-%rtCM{;20`A*Ii7-kk01t(mSUL3 zFH+0PhelduZ=gw#cr{QpiBNe-oJYJ~!CO?>MwVv5vHu`tJ5DeJ$n{r$y7!M z`CJq>Co_#*z<52`P>f!fe^%bO8qN-zR&^gwiKEIpxVgW5bQ7~Cl;bv> zSOVfZz~_AA9(pMZYzaH>dAY_W=L81sqz?CDzRm$x6!b{3o8-ZGxRxaIEo_~TMz1_P zFc|+BPLTY)<*U4_`O^1Ziv(t2GRQ}f?g$7pMrmj(vMDxgy2HNup04{h5;&%+4var z(zaip)^q)tMA&PDOjCk>q-uAl%bFT&%Hc&(MXLfYg>o1+2J7QheZ$JISd=47)n&Y& z=HeuIyEGB!_375LAvi`$&g=@$6&{gtDF}& zgB(MqukzX+&-cWAACqPf@#t_g*6xjaEo_FV)PMr~=urw^336RZKhg&0(hos`UfHyDG+sk_BDkQ`=^s)Upx`|}hte>3_NyL-MHt(fW&qMvUYFdOT! zPwqi7?=h^>%|Od97;$;t+~e50yKl3XM`bx1AUbQXIY;~R*|tud5XG8!J_}dKNONYa zWGhr!)fIJ;NH{Lfu0>i4-?SJ>%;o72?#He87^2rySDqrxR-8W{flY#zeH)Klr`M0+ z5wn(TD5w!6sMMA8#zRxD*O^&Ddu?Z-;ElSV!p>+{`6t{=Mh?KlU@?DSE8b%%-pH9! z#i+o85Vc@YD2R6y+pcZax1{8nUduX;S6r`@T8($b5W{%2%9o+p_M6h~cgAZp?M%Nh z+eXEz&$zCwthB18U164r#rvvMrdx^I+eV*t=bp7K&0+Gl16_ShOKeu4EU2`VTMjHH z3OPpXiy5W{(7v%3?cv1B=1T8TO|SeaSbMy`xX(~&e{&B0=q`WJ$|O)ZAj;vUkK) zCoYi}78gA@ci>OTROuMfxCo1e$Yfj)kPXbAi(+j{9w#oqNdFDKBmU%^N_v)R+e(rEKkbo?}U^>eMG57ETPM5hkfK#9Z$^_k^I@g^!|EVJmc zh11n}DV9zqShY#|rMMgXen2|Tr0w=b6~XG{_fJ9!AM*oysDH4Z{IiVMmo!_xlk=qL zD95WY2qH;i6)d1^IYe;Mc%AR*L4cQIUF&vp!wrExNiM&+Zbe@>r(-Pik*U?kTC<92 zq4Iuh#3e10v7~32+g*_0_BOn%26cG+CrF%RZkniekKi5ks~_gen>{#IOi>gx$>=(t z&<)=De_8Qn#Ym~7Q=%->?^Z`Q=tse4ny!MOPHa@6yqCwX7cFe6xiBR*==;E)7ug5b zz+p<0wULPJ4P*bAE3=zvyU>Af0HPS6BHG_UUd6mp zfm<3z%^=)3LdT7C+;2bC%Wx{=y!6K-HG>z+Dv&L)u!x@5>Zdr~woyBS$`bRsNXUw= zvsqiOrBsJrl1oESC*q&|<=z0)kx<)l&xu|aZH{cwrlDgI={c7-84^Ft87ZX+TyR$eS|SOlNt7;y4^oK#T)xrABhV0U-_ZMEKJmfCan6Fz?#CCsf9|bz zeIaAbGmvvu@2k^g_)=ytzWKgmtJ2_?FzP=YyzxFLn#xTVWA3h$kgQ;eV;V(mh@^hV zMfm6T1K9`e35wem)j=!Hw+8Bfe~0uncri)&&v54(!A4TT+(YTF={_wr??8Ca}4nIT$n+Py6bU*OzJV zjA3o>nPif^gMGrd2t9Qb0!!MI_=_T2`+A=hWiNS(OwZS^?CCm$&|kf>Cm)EYYde`( zqX8z#8XQH*FA*!7_4Qg@X3Kb5h@U5>*GR1TRz&YmHC~f??nos0!p%sUnrQ4Lg|hQ4j@9VV zoD;uW)Nak%0_%B}r|i7{*;0%cCwz4O$xW)X(1wS-DL9(+CD1Pp3rUU0N67t&wYe^qBzcJ+wmNuk=ClOeA3v_z&=?^pF2#u5VeJgA zk)2ZCp+lTE(OZIg!ID1AEA&;=$)j-GI7B?oc`J1VKA=mGFJ@#A-AXF_oUtV=c%E4 zs8=n0>U6m6`+~*n!B)QcU*Bp9i4Qm&thKEIj&S4xkHo#LnDp`uEAiK4x_O*=W2~(!% z2oj&$>GQe6)jcyk-kkd8Jyt|r?g@rovTwS27X5voy@1g+`&IAx19Ym!Pp!_o+LSzJ zi%wou9gf-0>A2BXqgNz;YmuM4=)aF&-4#)Z|9N_mHZSt!uW05d*(Q?wN$#iPrWL>K zBVWB7Uh`~}Uey}!p+xx=OeIRsQ62LGWwn($ubF`BmmFxykGG9s^?(H@R~ffoDKW>H z)eI{5*Yk&2!kg%Zk0uo^ZlzBbQ8*r^j_x(1iQ7MT89mxRZS2Vh`F_gHmPBeSYfW%IXV zEc0HqTHk}x?J%VdN_Xv25jV4IdY~3id5?Y6)fsA16&ox?!0vZBFlrmo@HZpv1AgW@ zy{ud6w7RD%y&_UL|Jehwz&%v`%<8&N1S~q6gEIWlKW$`B&WuKU6Nh2Gnr6U0=yCTZ zl-0Ti0`zn{uo%ER<+7GsYNzi_Hnb?hoRk?pwPq*B$LdO@pb0ZDm+|?P5nZ^~NV`Mv zk=$%7lzP&+ygH_FJ{^*eBPkW(bDrH+J$ILzwKsA#z6QXi`|8MCrq8^JDdE^JM`%fz z07O;(W}&1usOh|CCZhwLX*ze?bDNaNo6r>Fy1L>q-P>ni6Xcp6v5zoNpf%MX*o)2D z0|`}^qE6C#^kJ0F-f@GaAucrI9-B5lqiigT>GV`D?d5!rQb?m~7aia_MSt%8X2a|7 z7Y)qu+2gJz@A+0ikA0&2lu+Ip25A&m3T_`yH0_=RR4myVoliuVhyj2p4vjsr5(*@o zOH6^PY6+1U{0Z2+x`gAoNy7<=t+d|h81KN8XR(=~4}cZS?;jQ6%V2X1NvWz&sd11T zW3Y2bwXst1(0M65bNzXLQHzP+&A9r@TiI?TnKd1;%^1*d;U<+7M19$IgC?x8SFGQo zAe1vk@f@EFJtlq>)V%vSCPq&B7t3a~zeVf!+q@WaHv}vA!+uih2~+FI9&yni7b@Yo z)P&SWEssB(rN6B+7a1jiAzh}(B{yer8TYwNzE`KjkrYSmXNXUiNwtF|0`~*pb3Ds0 zFFe30f6?pqZ_z~riG8+eW*T@7UMg{9w@mx;_;9C-!d#{JGF||fyVK!n=vzA;TBk>) z)#b2XU0iZ&%_GVf3|+i1_tX_pLM6r|6PL*;N3J>Q?%y(yiRImWJimt#;Sko^wTk!w zoxK~weGi(QvC;^ZfyTv)ANLi=L$yq0>z~@rJl`b1S}tZc3}FY|0B%`8giJa8i|3 z%0HF}@IkeP+)>70-qX@S_IXF7yIT%R_jPsM z$gCxa?krGx$GmbR9*G#g$#nqJD@vO2;#F2j%)NZ}xuzj(6RQbdIEw{|T>HXbb63)Wd( zSvrW*ILp;D4~*3al>rSsl$#N~`fDM2)B25r`Tm8~3Lk~fC83_p$@$R z~-#-N{|ApA3Zz6veOp4gI zUYA^dkd5F6sM{ss5gGThKMw`7YyIERPQvwDN2NI3)8GCx z(9HY)pUubLsQo|ff1&+22c7978V7YnUr=^5`p5lG!vMN@o zVnl(W-;Rm_dLzwBsP+A>#&*t=JXgSUgu{i5=6FP^243z$`zrY7ZDVei6 zrByLqbSB$@sO$ot$=)BmcLp)Ll%@867;+=58DaHR6m_bB5Q|BGUCcyl{M7oSMyv=< zG<6tJoxM-Z=gfhzib*~w-~K3Nfhe2is*DJz+Kl?MmqwDnr@zJ)&z( zJz}-|^kOKa56qw8z#wN4O9;*H4X7!-x5|z%WjupT>;Z-gQwa1$e==>hlzlAzO(E+ZeV z`7NyRk!4$nz?a~KL&l`8Bj)Y}LG!}uLr3m+&~M-49m2VdVg>=#2OeoCZ zv`!3xp6s&@<4kOXPfmO24{dMmO8Piwcd(uecPs_=^!`Z6?IvUF07bzqa$NJ_oBb3B zp^sDS&~Z*dD%?My*wSw6wQ~N+jwy!IN(>+1&WW^7rb2Iz$PI~S?11-ueeke1e`{HkX7w}}qulg(iYb5HY z=Vrz&Nlkjvj#rKs6Zs>>AK;Sxnct$~H12y47YtwjP!3KUomgT8_P!)V0MCmD9Y-G( zWAgGZZ<&}ku1*J*#$?isf8$GHjl4GA^`!n`ZP^%VuBne7W8x9q8(e^Y1M2az2&gU8 zQiKUc|1EZq@rpaZuj#oCFU#uH$En-Ii_aXEW;4bLx4RI=QMeDieoj9|vbOxJ1eCvbq7N ztZ@K$M7l8Z(B`g}#02K-n)`a#XuaBRXcC(#E95`7&Gtgb=Ak?&-E ziSLO(SrlgksHN*K)8a^-QkeO*Zk3O^vffl(TrWxqH4io`6=~E%6>2P?k}1nJGy(|gJGosqVwImGe4cY zr=b}Pr`WHA?y^4mY!iC$QB%&lY_l2ebc{^s0EchyVx6LXMX?1+pP>{GGMQXiC1ZMZ zL0854Q3Su<*u{NDr}TF;gl((yXT@7_ltj_l?=IQDKQUN8lmPW;NN=_ueY`|Lllh(K z+R1KQt^#ZLT>K6YLLQrV$nR~b@k4*UNR*`?{^fr z$frSR6W;?~#FRQlL`o(rmF7M6(5Z@%FltSdcG&ugfJ8X|^hz97)}_gDYN{Qvkuh$q zc$$mr`84<<+4$G6f7ko<&F;nM#&5j`H%j3%EgwQl%vhM5bD&CxMhrhqM-7c64H>St z8`7$}o0ywdXA`#<-S_8wEe6|ZM}0gr{`5LHT`#S*w$AY{``Qirj@0G#VYa9@XAfWf z9DOAp^(};P@z#8 z@(lMzO)1EfS#u`>#z_m(PQZqO_N|{&rnF;)2!ORTR|$TE)WmAtThnb%YBgwOeU*lI zC=}YA zWPD!_Gg0$YkD9Bl=_>BA}6My5-t4&`h+o8E_=1Z|YbJ#^*4TMJ&{0f1} zK1M%g+sPJ&r%0e&$-Bu}TtgAaB**;+n{n=>Yt7deYu zCF8tC4E{!g?e6Y?OEn{NK_>dzyw-Y1 z32O5!YyEsJpMRfpld6`KwclOLUOx}jr!j~2PH|qBuGo58Q$<$~ueIUzmm$r+_w5Q; zb7De^EH%Hmv*UcD>*OvE7kC&L4(xR#{o0l@QAkPqQJf>GDaYEev)qG5M@V~WM2qp< zveG8F6#0D}&W++;90#8|W77KGAnc_&I_2)hm5TK&ry{tm6(Sp=V{Z z?X*kyc1!;70`BDs2iTOoB-h(WJJf|A@(FOVLo#^Vn!R0stEMIdU#0ZN zMx#)uFgjNBUeea?gwaoJbHpX^eaqBqCFk58@NHrhm|C|}AHx?44&xIXEh~=dotk?T zAcn^b*VliTOpad?0HfKb`6;I2MdXjS^YL_+ zFC0jdFpjUJO~{)n-&6WTi=X`5*pQDrc-?l+!I3Z#Hz}~&?_$-fgSvLlcSoqa&-~5F zed7K{j|;Qq#7qHf+gKat66kHeTMgc)rk7_+;pH zIF7W#=kkQuxeJe$Ck3%-AUL2b;C)66iSwe`3eB8~_N;O`G#s`Az*vKMi|8t82gE4N zjIo7NSX3e#C*;B`#4ak`9gEwvHnPV@eH!+`gB7F?r?a=9LMFb=lL1rRi6U23zctAR zSjN@y9`)QMJZv`p*wP024xxI|^==LfjGm(mn$5kQrA_ipDkv8zIkXLSg zmy>6nD{ph6s>~${Ge6f~omcgB2_+hDmu>%-WB#< zrh<%GMSp48WVLy@J3l-Gbu0>@W&^Si%+7I@3M1^ivsW5A zx$=%P$MSLjIDYGK^N_)Q38}Zy-XR`nhsevP84*VVkqE6G(8PjDk56$;>sOjM=Ho{n z>RrwnCRsIsdwv>lAk~CN#=$t!LL%)opGob(6m4nv*lnJwE+vW)|@GL=g>-E>$0L>cc?KSn4YUB%QZFyy4dIsPD`GlWbwZ>2{KeYZ?G%ED;qN!o7~H2S-bsc&Ic3k{=lUf*hI!}umQUNz zbp68I(p}SyXGzLZRp{#O*W?(WtxFBQ8M}wSbasGP@Z!rUH-_MZp&&s*WrywGj4~&t zPomqDM$R5}xO?blJzk_a^^l|4UHu{o|2*XIrfIbTFE4n0g$p(}?Yn+xj=%uGXCYbO z?Crn_UhY}q?;6{*&6!JiOFj%sX#LW3;z(iMSQ8>MBip6!-g+UkJ(Z)YwiS9}{9C)* z-OOba~n^L$&#S1w<F-kGN7wiJJu-6)xmao?M0$qpzJ(j zvDHUgupV<#YlGbl-0RGhr%N|?=ksXhru&`U3c+#3IFYNJrbU55j3ALu!bPPkrf%6U zzL^M|z=}-f&CXcM;a?E`By%4|o(EYzy3D4hU+8#ICU|^FJf~Ov{qlF1m`G~-=F_fYYUmQm^^wi2YY=u?Z+d*=RT4~sE4j^D6Gy;dS=vxY`CR8F%!XuU?$AZ>O zidEg*VXb>Oevb|n=}shdt1(bNsKxgqtq8D2>mwF|5 zDFewRZSnaq8d@@UTM+rxGA2aB$fdkU+DT>i_OuWn7P+T!*n2;cz5*59-v;GpOIMQ#>xd7f|N6%~ z9{Vb9!bd(`VB3^VbZ`so`P6^HGri_lHE&{Qb-sFOg)MD8US0gN_~@EF2|&g><|Qa!;%BA}y|9sqNGy66hsP{N9q>IP-;X%4v>#sXmg7(z5l?&- zW~CU#8{rnWl#cIblJx9qW$Gaiw3n#HOguqC{saP9R^FfsqL`F{P~+tsi&hSo*64N7 z5m2$Cbto>^@I^#-mUCkj5QtA<*(<)ZYuHfB8lT7m8~3t=Sr?Z*YR6>^=6G&XnAM+E z9nfW)n(BEy4+QpBNwB39f`auH6oD2T2$&OTVMM&L%D4#(Dat!Qn&>6lx>4vHaYUwZ z9G4G3e!<N)%jhu79IZpYjRmZ9Mw9qJE$?yqYx(eYhQEB$6YD zw;=dc%ZgmXq2ZwRE@8UOkJf>r$W6}leiE6%p6$MlDdT?aw-COkP-b&yC*01Eg{?^W zQ=pN7e2vZ8-tW{6Mp0gs>L@JTrQH=(p#yHpG8Wiy9|q2Afg?ytNkSZgm38PA^D`}GYgN*0=3;NQxSXfpHn;!T2G`sv~BMV*$Db-?53rwC*9 zW4fV$$kL$X(C)v?#3?RE@9#45BF#-!!K*?xvL8w`m7f^S0>BS2WtPG-rfUWO&G^-v zX`fp(+7qMMywLK|SBK0XV@LY7RzYLgN%S*LoL1v-kwIQ>gRAJA=D@uXhXrzA=k+Hv zlV($dOnQiF(p)tM zV8X#b{kbO|SV6A!a9^HQgN4qbQFkB5<$NAHGFMS^g5*xoEXt)^4Sv*>m@u~JEq+PL z&J`?%;pgS;_#AQk*?e1*JNVa5xf*>{l^mGTGB*EsQkex_9iLu7(BM~>Y*G%{Am?eLYA*Hk|d4aj4p7#y3k#)yxo{q2*-MZ9(Q z;xuYAY60uxZO2C`YA0AvzP6vIyS}@TgCZON;!^9VcMzm}$A8hCUPn+E`wrZh}V3ixjLuQF3o@C83>GtS(bYR*6-r7^Lp zC=H+ga!-R;$jQpagq(FeA{98EF zzGNaKFRw+Hsi6byd$sSba%x)I#jQ8*bL&q5CyPCq`QOgMUCth%B|kY9D6vx`omi5c zkiOBAr1j@{7-;-8<9HjV%x$xw79>iR-`Kas+|?NVTO#KdjN|JNd*=9aD}-06lY(&5 zb=fWt5uG+PO$tkN%*Jm zGY!a_HU;k>|1!k~*9}9Jmz*}tkkLma)1|&q%7UntI#e2cu(S{?q9|G9i6yFaf1t=$ zN$hi_3D_Nd{KG}UKxXCr zhQX8`7n>@hWkxnpomQ28r%vnz>05u{xEg?s$D;Nzt-IJJQ<&yLY^^uwwjBQ|K`Ew%^P|ZQmESLe&*!D1 zdXN9{j$ri$-HzkH%Ky?*Gsm&oXDHAw#>4pB^N(eBwO3aEe*(DL`*h4Z5k9?$?3cF6 z{Xte_JScysy)Q*bTXA;!MUC5gTnLXby~$V{Y%6E-H8%SaK@(#H6V+kT>Azk4+Dj$@IYAMC)GMaEFl(j31P71-`%SI#tqga%Tw$d{5wdI`Cs%r{Sye2AmX_sGtCF>5)81&du7NRv zxiU)n@5yIs;90#F>^EkKrC3T1k3~i=$SmA9#6ZWVO^B=H-dn_-&WP*aFItn)g?=+T zyE8PQYhV*q#LPB{kCYgk`;IaRz|HvPs27fICfe^aGBUE{TvBk*NFCOr z0TU`55$D6t|1kQ8OOjM()8*}ob5UAo@?U@>r5%*8hUp~0XN&FN4jyAY4+D4yL*W{p zNK(D%Poq_tFE6{;qLKH%BAP&urQ{)O(O$A#G-+jW4_cda@5TW|0=HGzGf$>b9zTZ9Afw(Vjel66#@9#n+H)oD?$x=k|J^H^0dvVoK?!J6_Fv zWXXG*@S>DYj!z-_5VDQqql6;_9!*;5h@Uh)?er=^@=ED?5wkk(z;Tpfg5DCcCF+#U zx@cOEz}vqaW%W8C%L{Z}VXekoj8VG!A+JiC#+tXPG2Gw$ZDMb?VK#o7f%iq9=jFrS z?SGtW|BbeL^kPgsM&~Hb3`=puSQ6H)8NFG#n5>_MAxk3Bs>p zuBrFOLh%o?Y3AWSzv3@F5qsV9X{(|Ee;Q08|9>wAy +import Datasource from './components/Datasource.vue' +import axios from 'axios' +export default { + name: 'app', + components: { + Datasource + }, + render (h) { + return ( +

+ +
+ ) + }, + created () { + this.getData() + }, + data () { + return { + information: [], + columns: [ + { + name: 'Id', + key: 'id' + }, + { + name: 'Name', + key: 'name' + }, + { + name: 'Username', + key: 'username' + }, + { + name: 'Email', + key: 'email' + }, + { + name: 'Address', + key: 'address.street' + } + ], + actions: [ + { + text: 'Edit', + icon: 'glyphicon glyphicon-pencil', + class: 'btn-primary', + event (e, row) { + console.warn('Are you clicked me?', e) + if (row === null) { + console.info('Ups.. data not found :(') + } else { + console.info('Yeeei, I found this :)', JSON.stringify(row)) + } + } + }, + { + text: 'Delete', + icon: 'glyphicon glyphicon-trash', + class: 'btn-danger', + event (e, row) { + console.warn('Are you clicked me?', e) + if (row === null) { + console.info('Ups.. data not found :(') + } else { + console.info('Yeeei, I found this :)', JSON.stringify(row)) + } + } + }, + { + text: 'Show', + icon: 'glyphicon glyphicon-eye-open', + class: 'btn-info', + event (e, row) { + console.warn('Are you clicked me?', e) + if (row === null) { + console.info('Ups.. data not found :(') + } else { + console.info('Yeeei, I found this :)', JSON.stringify(row)) + } + } + } + ] + } + }, + computed: { + pagination () { + return { + total: 100, + per_page: 15, + current_page: 1, + last_page: 5, + from: 1, + to: 15 + } + } + }, + methods: { + getData () { + axios.get('https://jsonplaceholder.typicode.com/users') + .then((response) => { + this.information = response.data + }) + .catch((error) => { + console.error(error) + }) + } + } +} + + + diff --git a/src/assets/app.css b/src/assets/app.css new file mode 100644 index 0000000..9e757dc --- /dev/null +++ b/src/assets/app.css @@ -0,0 +1,5 @@ +@charset "UTF-8";@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.label,sub,sup{vertical-align:baseline}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.img-responsive,.img-thumbnail,.table,label{max-width:100%}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}img{border:0;vertical-align:middle}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0;margin-top:22px;margin-bottom:22px}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.btn-danger.dropdown-toggle,.open>.btn-default.dropdown-toggle,.open>.btn-info.dropdown-toggle,.open>.btn-primary.dropdown-toggle,.open>.btn-warning.dropdown-toggle{background-image:none}.img-thumbnail,body{background-color:#f5f8fa}body{font-family:Raleway,sans-serif;font-size:14px;line-height:1.6;color:#636b6f}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#3097D1;text-decoration:none}a:focus,a:hover{color:#216a94;text-decoration:underline}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.img-responsive{display:block;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.6;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;height:auto}.img-circle{border-radius:50%}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:22px;margin-bottom:11px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:11px;margin-bottom:11px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 11px}.lead{margin-bottom:22px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#3097D1}a.text-primary:focus,a.text-primary:hover{color:#2579a9}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#3097D1}a.bg-primary:focus,a.bg-primary:hover{background-color:#2579a9}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:10px;margin:44px 0 22px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:22px}ol,ul{margin-bottom:11px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd,dt{line-height:1.6}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dropdown-menu>li>a,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:11px 22px;margin:0 0 22px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.6;color:#777}legend,pre{color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{font-style:normal;line-height:1.6}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;padding:10.5px;margin:0 0 11px;font-size:13px;line-height:1.6;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container-fluid:after,.container-fluid:before,.container:after,.container:before,.row:after,.row:before{display:table;content:" "}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;margin-bottom:22px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.6;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#f5f8fa}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:16.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{display:block;width:100%;margin-bottom:22px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.6;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:36px;padding:6px 12px;background-color:#fff;border:1px solid #ccd0d2;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#98cbe8;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(152,203,232,.6)}.form-control::-moz-placeholder{color:#b1b7ba;opacity:1}.form-control:-ms-input-placeholder{color:#b1b7ba}.form-control::-webkit-input-placeholder{color:#b1b7ba}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:36px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:22px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select[multiple].btn,.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:34px;padding:6px 10px;font-size:12px;line-height:1.5}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:46px;line-height:46px}.input-group-lg>.input-group-btn>select[multiple].btn,.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:40px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:45px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:36px;height:36px;line-height:36px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-feedback label~.form-control-feedback{top:27px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#a4aaae}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:29px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{content:" ";display:table}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.6;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#636b6f;text-decoration:none}.btn.active,.btn:active{outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#636b6f;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#636b6f;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#636b6f;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#636b6f;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#636b6f}.btn-primary{color:#fff;background-color:#3097D1;border-color:#2a88bd}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#2579a9;border-color:#133d55}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#2579a9;border-color:#1f648b}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#1f648b;border-color:#133d55}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#3097D1;border-color:#2a88bd}.btn-primary .badge{color:#3097D1;background-color:#fff}.btn-success{color:#fff;background-color:#2ab27b;border-color:#259d6d}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#20895e;border-color:#0d3625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#20895e;border-color:#196c4b}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#196c4b;border-color:#0d3625}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#2ab27b;border-color:#259d6d}.btn-success .badge{color:#2ab27b;background-color:#fff}.btn-info{color:#fff;background-color:#8eb4cb;border-color:#7da8c3}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#6b9dbb;border-color:#3d6983}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#6b9dbb;border-color:#538db0}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#538db0;border-color:#3d6983}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#8eb4cb;border-color:#7da8c3}.btn-info .badge{color:#8eb4cb;background-color:#fff}.btn-warning{color:#fff;background-color:#cbb956;border-color:#c5b143}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#b6a338;border-color:#685d20}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#b6a338;border-color:#9b8a30}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#9b8a30;border-color:#685d20}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#cbb956;border-color:#c5b143}.btn-warning .badge{color:#cbb956;background-color:#fff}.btn-danger{color:#fff;background-color:#bf5329;border-color:#aa4a24}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#954120;border-color:#411c0e}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#954120;border-color:#78341a}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#78341a;border-color:#411c0e}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#bf5329;border-color:#aa4a24}.btn-danger .badge{color:#bf5329;background-color:#fff}.btn-link{color:#3097D1;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#216a94;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.6;white-space:nowrap}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#3097D1}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:after,.btn-toolbar:before{content:" ";display:table}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before{content:" ";display:table}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group,.input-group-btn,.input-group-btn>.btn{position:relative}.input-group{display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccd0d2;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav>li,.nav>li>a{display:block;position:relative}.nav:after{clear:both}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#3097D1}.nav .nav-divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.6;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#f5f8fa;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li,.nav-tabs.nav-justified>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#3097D1}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#f5f8fa}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:22px;border:1px solid transparent}.navbar:after,.navbar:before{content:" ";display:table}.navbar-header:after,.navbar-header:before{content:" ";display:table}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{content:" ";display:table}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:14px 15px;font-size:18px;line-height:22px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:22px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:22px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:14px;padding-bottom:14px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:7px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:7px;margin-bottom:7px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs,.navbar-text{margin-top:14px;margin-bottom:14px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#fff;border-color:#d3e0e9}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#d3e0e9}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#eee;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#090909;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:22px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:22px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.6;text-decoration:none;color:#3097D1;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#216a94;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#3097D1;border-color:#3097D1;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:22px 0;list-style:none;text-align:center}.pager:after,.pager:before{content:" ";display:table}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#3097D1}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#2579a9}.label-success{background-color:#2ab27b}.label-success[href]:focus,.label-success[href]:hover{background-color:#20895e}.label-info{background-color:#8eb4cb}.label-info[href]:focus,.label-info[href]:hover{background-color:#6b9dbb}.label-warning{background-color:#cbb956}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#b6a338}.label-danger{background-color:#bf5329}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#954120}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#3097D1;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:22px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.6;background-color:#f5f8fa;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#636b6f}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#3097D1}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:22px;margin-bottom:22px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#3097D1;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#2ab27b}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#8eb4cb}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#cbb956}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#bf5329}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #d3e0e9}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#3097D1;border-color:#3097D1}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#d7ebf6}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:22px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #d3e0e9;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:22px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #d3e0e9}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #d3e0e9}.panel-default{border-color:#d3e0e9}.panel-default>.panel-heading{color:#333;background-color:#fff;border-color:#d3e0e9}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d3e0e9}.panel-default>.panel-heading .badge{color:#fff;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d3e0e9}.panel-primary{border-color:#3097D1}.panel-primary>.panel-heading{color:#fff;background-color:#3097D1;border-color:#3097D1}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3097D1}.panel-primary>.panel-heading .badge{color:#3097D1;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3097D1}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.popover,.tooltip{font-family:Raleway,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.6;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-content,.popover{background-clip:padding-box}.modal{display:none;position:fixed;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before{display:table;content:" "}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.6}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;text-align:left;text-align:start;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{right:5px;margin-bottom:-5px}.tooltip.top-right .tooltip-arrow{left:5px;margin-bottom:-5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.left>.arrow:after,.popover.right>.arrow:after{content:" ";bottom:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{left:1px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;background-color:transparent}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000\9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:after,.clearfix:before{content:" ";display:table}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.header{background:#3F51B5;height:350px;padding:35px 0;color:#FFF}.feature{padding:35px 0 50px;background:#2e2e2e;color:#fafafa}.copyright{padding-top:35px;padding-bottom:25px}pre{background:#f0f0f0}.h-bold{font-weight:700}hr{border:0;border-top:5px solid #3f51b5;width:60px;padding:10px 0;margin:auto}.icon{font-size:40px;margin-bottom:-10px} \ No newline at end of file diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 zcmaKRcUV(fvo}bjDT-7nLI_nlK}sT_69H+`qzVWDA|yaU?}j417wLi^B1KB1SLsC& zL0ag7$U(XW5YR7p&Ux?sP$d4lvMt8C^+TcQu4F zQqv!UF!I+kw)c0jhd6+g6oCr9P?7)?!qX1ui*iL{p}sKCAGuJ{{W)0z1pLF|=>h}& zt(2Lr0Z`2ig8<5i%Zk}cO5Fm=LByqGWaS`oqChZdEFmc`0hSb#gg|Aap^{+WKOYcj zHjINK)KDG%&s?Mt4CL(T=?;~U@bU2x_mLKN!#GJuK_CzbNw5SMEJorG!}_5;?R>@1 zSl)jns3WlU7^J%=(hUtfmuUCU&C3%8B5C^f5>W2Cy8jW3#{Od{lF1}|?c61##3dzA zsPlFG;l_FzBK}8>|H_Ru_H#!_7$UH4UKo3lKOA}g1(R&|e@}GINYVzX?q=_WLZCgh z)L|eJMce`D0EIwgRaNETDsr+?vQknSGAi=7H00r`QnI%oQnFxm`G2umXso9l+8*&Q z7WqF|$p49js$mdzo^BXpH#gURy=UO;=IMrYc5?@+sR4y_?d*~0^YP7d+y0{}0)zBM zIKVM(DBvICK#~7N0a+PY6)7;u=dutmNqK3AlsrUU9U`d;msiucB_|8|2kY=(7XA;G zwDA8AR)VCA#JOkxm#6oHNS^YVuOU;8p$N)2{`;oF|rQ?B~K$%rHDxXs+_G zF5|-uqHZvSzq}L;5Kcy_P+x0${33}Ofb6+TX&=y;;PkEOpz%+_bCw_{<&~ zeLV|!bP%l1qxywfVr9Z9JI+++EO^x>ZuCK);=$VIG1`kxK8F2M8AdC$iOe3cj1fo(ce4l-9 z7*zKy3={MixvUk=enQE;ED~7tv%qh&3lR<0m??@w{ILF|e#QOyPkFYK!&Up7xWNtL zOW%1QMC<3o;G9_S1;NkPB6bqbCOjeztEc6TsBM<(q9((JKiH{01+Ud=uw9B@{;(JJ z-DxI2*{pMq`q1RQc;V8@gYAY44Z!%#W~M9pRxI(R?SJ7sy7em=Z5DbuDlr@*q|25V)($-f}9c#?D%dU^RS<(wz?{P zFFHtCab*!rl(~j@0(Nadvwg8q|4!}L^>d?0al6}Rrv9$0M#^&@zjbfJy_n!%mVHK4 z6pLRIQ^Uq~dnyy$`ay51Us6WaP%&O;@49m&{G3z7xV3dLtt1VTOMYl3UW~Rm{Eq4m zF?Zl_v;?7EFx1_+#WFUXxcK78IV)FO>42@cm@}2I%pVbZqQ}3;p;sDIm&knay03a^ zn$5}Q$G!@fTwD$e(x-~aWP0h+4NRz$KlnO_H2c< z(XX#lPuW_%H#Q+c&(nRyX1-IadKR-%$4FYC0fsCmL9ky3 zKpxyjd^JFR+vg2!=HWf}2Z?@Td`0EG`kU?{8zKrvtsm)|7>pPk9nu@2^z96aU2<#` z2QhvH5w&V;wER?mopu+nqu*n8p~(%QkwSs&*0eJwa zMXR05`OSFpfyRb!Y_+H@O%Y z0=K^y6B8Gcbl?SA)qMP3Z+=C(?8zL@=74R=EVnE?vY!1BQy2@q*RUgRx4yJ$k}MnL zs!?74QciNb-LcG*&o<9=DSL>1n}ZNd)w1z3-0Pd^4ED1{qd=9|!!N?xnXjM!EuylY z5=!H>&hSofh8V?Jofyd!h`xDI1fYAuV(sZwwN~{$a}MX^=+0TH*SFp$vyxmUv7C*W zv^3Gl0+eTFgBi3FVD;$nhcp)ka*4gSskYIqQ&+M}xP9yLAkWzBI^I%zR^l1e?bW_6 zIn{mo{dD=)9@V?s^fa55jh78rP*Ze<3`tRCN4*mpO$@7a^*2B*7N_|A(Ve2VB|)_o z$=#_=aBkhe(ifX}MLT()@5?OV+~7cXC3r!%{QJxriXo9I%*3q4KT4Xxzyd{ z9;_%=W%q!Vw$Z7F3lUnY+1HZ*lO;4;VR2+i4+D(m#01OYq|L_fbnT;KN<^dkkCwtd zF7n+O7KvAw8c`JUh6LmeIrk4`F3o|AagKSMK3))_5Cv~y2Bb2!Ibg9BO7Vkz?pAYX zoI=B}+$R22&IL`NCYUYjrdhwjnMx_v=-Qcx-jmtN>!Zqf|n1^SWrHy zK|MwJ?Z#^>)rfT5YSY{qjZ&`Fjd;^vv&gF-Yj6$9-Dy$<6zeP4s+78gS2|t%Z309b z0^fp~ue_}i`U9j!<|qF92_3oB09NqgAoehQ`)<)dSfKoJl_A6Ec#*Mx9Cpd-p#$Ez z={AM*r-bQs6*z$!*VA4|QE7bf@-4vb?Q+pPKLkY2{yKsw{&udv_2v8{Dbd zm~8VAv!G~s)`O3|Q6vFUV%8%+?ZSVUa(;fhPNg#vab@J*9XE4#D%)$UU-T5`fwjz! z6&gA^`OGu6aUk{l*h9eB?opVdrHK>Q@U>&JQ_2pR%}TyOXGq_6s56_`U(WoOaAb+K zXQr#6H}>a-GYs9^bGP2Y&hSP5gEtW+GVC4=wy0wQk=~%CSXj=GH6q z-T#s!BV`xZVxm{~jr_ezYRpqqIcXC=Oq`b{lu`Rt(IYr4B91hhVC?yg{ol4WUr3v9 zOAk2LG>CIECZ-WIs0$N}F#eoIUEtZudc7DPYIjzGqDLWk_A4#(LgacooD z2K4IWs@N`Bddm-{%oy}!k0^i6Yh)uJ1S*90>|bm3TOZxcV|ywHUb(+CeX-o1|LTZM zwU>dY3R&U)T(}5#Neh?-CWT~@{6Ke@sI)uSuzoah8COy)w)B)aslJmp`WUcjdia-0 zl2Y}&L~XfA`uYQboAJ1;J{XLhYjH){cObH3FDva+^8ioOQy%Z=xyjGLmWMrzfFoH; zEi3AG`_v+%)&lDJE;iJWJDI@-X9K5O)LD~j*PBe(wu+|%ar~C+LK1+-+lK=t# z+Xc+J7qp~5q=B~rD!x78)?1+KUIbYr^5rcl&tB-cTtj+e%{gpZZ4G~6r15+d|J(ky zjg@@UzMW0k9@S#W(1H{u;Nq(7llJbq;;4t$awM;l&(2s+$l!Ay9^Ge|34CVhr7|BG z?dAR83smef^frq9V(OH+a+ki#q&-7TkWfFM=5bsGbU(8mC;>QTCWL5ydz9s6k@?+V zcjiH`VI=59P-(-DWXZ~5DH>B^_H~;4$)KUhnmGo*G!Tq8^LjfUDO)lASN*=#AY_yS zqW9UX(VOCO&p@kHdUUgsBO0KhXxn1sprK5h8}+>IhX(nSXZKwlNsjk^M|RAaqmCZB zHBolOHYBas@&{PT=R+?d8pZu zUHfyucQ`(umXSW7o?HQ3H21M`ZJal+%*)SH1B1j6rxTlG3hx1IGJN^M7{$j(9V;MZ zRKybgVuxKo#XVM+?*yTy{W+XHaU5Jbt-UG33x{u(N-2wmw;zzPH&4DE103HV@ER86 z|FZEmQb|&1s5#`$4!Cm}&`^{(4V}OP$bk`}v6q6rm;P!H)W|2i^e{7lTk2W@jo_9q z*aw|U7#+g59Fv(5qI`#O-qPj#@_P>PC#I(GSp3DLv7x-dmYK=C7lPF8a)bxb=@)B1 zUZ`EqpXV2dR}B&r`uM}N(TS99ZT0UB%IN|0H%DcVO#T%L_chrgn#m6%x4KE*IMfjX zJ%4veCEqbXZ`H`F_+fELMC@wuy_ch%t*+Z+1I}wN#C+dRrf2X{1C8=yZ_%Pt6wL_~ zZ2NN-hXOT4P4n$QFO7yYHS-4wF1Xfr-meG9Pn;uK51?hfel`d38k{W)F*|gJLT2#T z<~>spMu4(mul-8Q3*pf=N4DcI)zzjqAgbE2eOT7~&f1W3VsdD44Ffe;3mJp-V@8UC z)|qnPc12o~$X-+U@L_lWqv-RtvB~%hLF($%Ew5w>^NR82qC_0FB z)=hP1-OEx?lLi#jnLzH}a;Nvr@JDO-zQWd}#k^an$Kwml;MrD&)sC5b`s0ZkVyPkb zt}-jOq^%_9>YZe7Y}PhW{a)c39G`kg(P4@kxjcYfgB4XOOcmezdUI7j-!gs7oAo2o zx(Ph{G+YZ`a%~kzK!HTAA5NXE-7vOFRr5oqY$rH>WI6SFvWmahFav!CfRMM3%8J&c z*p+%|-fNS_@QrFr(at!JY9jCg9F-%5{nb5Bo~z@Y9m&SHYV`49GAJjA5h~h4(G!Se zZmK{Bo7ivCfvl}@A-ptkFGcWXAzj3xfl{evi-OG(TaCn1FAHxRc{}B|x+Ua1D=I6M z!C^ZIvK6aS_c&(=OQDZfm>O`Nxsw{ta&yiYPA~@e#c%N>>#rq)k6Aru-qD4(D^v)y z*>Rs;YUbD1S8^D(ps6Jbj0K3wJw>L4m)0e(6Pee3Y?gy9i0^bZO?$*sv+xKV?WBlh zAp*;v6w!a8;A7sLB*g-^<$Z4L7|5jXxxP1}hQZ<55f9<^KJ>^mKlWSGaLcO0=$jem zWyZkRwe~u{{tU63DlCaS9$Y4CP4f?+wwa(&1ou)b>72ydrFvm`Rj-0`kBJgK@nd(*Eh!(NC{F-@=FnF&Y!q`7){YsLLHf0_B6aHc# z>WIuHTyJwIH{BJ4)2RtEauC7Yq7Cytc|S)4^*t8Va3HR zg=~sN^tp9re@w=GTx$;zOWMjcg-7X3Wk^N$n;&Kf1RgVG2}2L-(0o)54C509C&77i zrjSi{X*WV=%C17((N^6R4Ya*4#6s_L99RtQ>m(%#nQ#wrRC8Y%yxkH;d!MdY+Tw@r zjpSnK`;C-U{ATcgaxoEpP0Gf+tx);buOMlK=01D|J+ROu37qc*rD(w`#O=3*O*w9?biwNoq3WN1`&Wp8TvKj3C z3HR9ssH7a&Vr<6waJrU zdLg!ieYz%U^bmpn%;(V%%ugMk92&?_XX1K@mwnVSE6!&%P%Wdi7_h`CpScvspMx?N zQUR>oadnG17#hNc$pkTp+9lW+MBKHRZ~74XWUryd)4yd zj98$%XmIL4(9OnoeO5Fnyn&fpQ9b0h4e6EHHw*l68j;>(ya`g^S&y2{O8U>1*>4zR zq*WSI_2o$CHQ?x0!wl9bpx|Cm2+kFMR)oMud1%n2=qn5nE&t@Fgr#=Zv2?}wtEz^T z9rrj=?IH*qI5{G@Rn&}^Z{+TW}mQeb9=8b<_a`&Cm#n%n~ zU47MvCBsdXFB1+adOO)03+nczfWa#vwk#r{o{dF)QWya9v2nv43Zp3%Ps}($lA02*_g25t;|T{A5snSY?3A zrRQ~(Ygh_ebltHo1VCbJb*eOAr;4cnlXLvI>*$-#AVsGg6B1r7@;g^L zFlJ_th0vxO7;-opU@WAFe;<}?!2q?RBrFK5U{*ai@NLKZ^};Ul}beukveh?TQn;$%9=R+DX07m82gP$=}Uo_%&ngV`}Hyv8g{u z3SWzTGV|cwQuFIs7ZDOqO_fGf8Q`8MwL}eUp>q?4eqCmOTcwQuXtQckPy|4F1on8l zP*h>d+cH#XQf|+6c|S{7SF(Lg>bR~l(0uY?O{OEVlaxa5@e%T&xju=o1`=OD#qc16 zSvyH*my(dcp6~VqR;o(#@m44Lug@~_qw+HA=mS#Z^4reBy8iV?H~I;{LQWk3aKK8$bLRyt$g?- +import DatasourceUtils from '../utils/DatasourceUtils' +import Pagination from './Pagination.vue' +export default { + name: 'Datasource', + components: { + Pagination + }, + render (h) { + return ( +
+
+
+
+
+ + +
+
+ this.sync('search', e.target.value) } placeholder={this.translation.placeholder_search} /> + +
+
+
+
+
+ + + + { this.columnItems } + + + + { this.columnObjects } + + + + +
{ this.tableInfo }
+
+ +
+
+ ) + }, + props: { + /** + * Table information + * @type {Array} + */ + tableData: { + type: Array, + required: true + }, + /** + * Limits to display + * @type {Array} + */ + limits: { + type: Array, + default () { + return [1, 5, 10, 15, 20] + } + }, + /** + * Translation to display + * @type {Object} + */ + translation: { + type: Object, + default () { + return { + limit: 'Limit', + search: 'Search', + placeholder_search: 'Type to search..', + records_not_found: 'No records found', + pagination: { + show: 'Showing', + to: 'to', + of: 'of', + entries: 'entries' + } + } + } + }, + /** + * Columns to display + * @type {Array} + */ + columns: { + type: Array, + required: true + }, + /** + * Pagination information about the table data + * @type {Object} + */ + pagination: { + type: Object, + default () { + return { + total: 0, + to: 0, + from: 0, + per_page: 15 + } + } + }, + /** + * Action buttons + * @type {Array} + */ + actions: { + type: Array, + default () { + return [] + } + } + }, + data () { + return { + perpage: 15, // default value to show records + selected: null, // row and Object selected on click event + indexSelected: -1, // index row selected on click event + search: '' // word to search in the table + } + }, + computed: { + limitOptions () { + return this.limits.map((limit, index) => { + return + }) + }, + columnItems () { + return this.columns.map((column, index) => { + return { column.name } + }) + }, + columnObjects () { + if (this.tableData.length === 0) { + return + { this.translation.records_not_found } + + } else { + return this.tableData.map((row, index) => { + let columns = this.columns.map((column, index) => { + return { this.fetchFromObject(row, column.key, column.render) } + }) + return this.selectRow(e, row, index) }>{ columns } + }) + } + }, + actionsObject () { + return this.actions.map((action, index) => { + return + }) + }, + tableInfo: DatasourceUtils.tableInfo + }, + methods: { + fetchFromObject: DatasourceUtils.fetchFromObject, + changePage: DatasourceUtils.changePage, + selectRow: DatasourceUtils.selectRow, + dynamicClass (defaultClass, customClass) { + return `${defaultClass} ${customClass}` + }, + sync (prop, value) { + this[prop] = value + }, + searching (e) { + this.selected = null + this.indexSelected = -1 + this.$emit('searching', this.search) + } + }, + watch: { + /** + * Handle show limit changed. + * @return {void} + */ + perpage () { + this.selected = null + this.indexSelected = -1 + this.$emit('change', {perpage: this.perpage, page: 1}) + }, + tableData () { + this.selected = null + this.indexSelected = -1 + } + } +} + + diff --git a/src/components/Pagination.vue b/src/components/Pagination.vue new file mode 100644 index 0000000..0d93aa1 --- /dev/null +++ b/src/components/Pagination.vue @@ -0,0 +1,85 @@ + + diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..7b7fec7 --- /dev/null +++ b/src/main.js @@ -0,0 +1,13 @@ +// The Vue build version to load with the `import` command +// (runtime-only or standalone) has been set in webpack.base.conf with an alias. +import Vue from 'vue' +import App from './App' + +Vue.config.productionTip = false + +/* eslint-disable no-new */ +new Vue({ + el: '#app', + template: '', + components: { App } +}) diff --git a/src/utils/DatasourceUtils.js b/src/utils/DatasourceUtils.js new file mode 100644 index 0000000..bf40ef1 --- /dev/null +++ b/src/utils/DatasourceUtils.js @@ -0,0 +1,98 @@ +export default { + /** + * Find the element value using Recursive Method and return the value rendered if it's defined + * @param obj + * @param column + * @param render + * @returns {*} + */ + fetchFromObject (obj, column, render) { + if (typeof obj === 'undefined') return false + let _index = column.indexOf('.') + if (_index > -1) { + return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1)) + } + if (typeof render !== 'undefined') { + return render(obj[column]) + } + return obj[column] + }, + + /** + * Emit event to change page from pagination + * @param page + * @return {void} + */ + changePage (page) { + this.selected = null + this.indexSelected = -1 + this.$emit('change', { perpage: this.perpage, page: page }) + }, + + /** + * Effect toggle to selected row + * @param row + * @param index + * @return {void} + */ + selectRow (e, row, index) { + e.preventDefault() + if (this.indexSelected === index) { + this.indexSelected = -1 + this.selected = null + } else { + this.indexSelected = index + this.selected = { + 'row': row, + 'index': index + } + } + }, + + /** + * Computed property: Building custom string information with translation + * @returns {String} + */ + tableInfo () { + let labelShow = this.translation.pagination.show + let from = (this.pagination.from === null) ? 0 : this.pagination.from + let labelTo = this.translation.pagination.to + let to = (this.pagination.to === null) ? 0 : this.pagination.to + let labelOf = this.translation.pagination.of + let total = this.pagination.total + let labelEntries = this.translation.pagination.entries + return `${labelShow} ${from} ${labelTo} ${to} ${labelOf} ${total} ${labelEntries}` + }, + + /** + * Computed property: Build custom array with the pagination items + * @return Array + */ + gettingItems () { + let temp = [] + let bottomLimit = this.pages.current_page - 2 + let topLimit = this.pages.current_page + 2 + let showing = 5 + if (bottomLimit <= 0) { + bottomLimit = 1 + topLimit = 5 + } + if (topLimit >= this.pages.last_page) { + bottomLimit = this.pages.last_page - 4 + topLimit = this.pages.last_page + } + if (this.pages.last_page < 5) { + showing = this.pages.last_page + } + if (bottomLimit <= 0) { + bottomLimit = 1 + } + if (this.pages.last_page === 0 || this.pages.last_page === 1) { + showing = 1 + } + for (let i = 0; i < showing; i++) { + temp[i] = i + bottomLimit + } + return temp + } +} diff --git a/static/.gitkeep b/static/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/test/e2e/custom-assertions/elementCount.js b/test/e2e/custom-assertions/elementCount.js new file mode 100644 index 0000000..c0d5fe0 --- /dev/null +++ b/test/e2e/custom-assertions/elementCount.js @@ -0,0 +1,26 @@ +// A custom Nightwatch assertion. +// the name of the method is the filename. +// can be used in tests like this: +// +// browser.assert.elementCount(selector, count) +// +// for how to write custom assertions see +// http://nightwatchjs.org/guide#writing-custom-assertions +exports.assertion = function (selector, count) { + this.message = 'Testing if element <' + selector + '> has count: ' + count + this.expected = count + this.pass = function (val) { + return val === this.expected + } + this.value = function (res) { + return res.value + } + this.command = function (cb) { + var self = this + return this.api.execute(function (selector) { + return document.querySelectorAll(selector).length + }, [selector], function (res) { + cb.call(self, res) + }) + } +} diff --git a/test/e2e/nightwatch.conf.js b/test/e2e/nightwatch.conf.js new file mode 100644 index 0000000..f019c0a --- /dev/null +++ b/test/e2e/nightwatch.conf.js @@ -0,0 +1,46 @@ +require('babel-register') +var config = require('../../config') + +// http://nightwatchjs.org/gettingstarted#settings-file +module.exports = { + src_folders: ['test/e2e/specs'], + output_folder: 'test/e2e/reports', + custom_assertions_path: ['test/e2e/custom-assertions'], + + selenium: { + start_process: true, + server_path: require('selenium-server').path, + host: '127.0.0.1', + port: 4444, + cli_args: { + 'webdriver.chrome.driver': require('chromedriver').path + } + }, + + test_settings: { + default: { + selenium_port: 4444, + selenium_host: 'localhost', + silent: true, + globals: { + devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port) + } + }, + + chrome: { + desiredCapabilities: { + browserName: 'chrome', + javascriptEnabled: true, + acceptSslCerts: true + } + }, + + firefox: { + desiredCapabilities: { + browserName: 'firefox', + javascriptEnabled: true, + acceptSslCerts: true + } + } + } +} diff --git a/test/e2e/runner.js b/test/e2e/runner.js new file mode 100644 index 0000000..85d67d6 --- /dev/null +++ b/test/e2e/runner.js @@ -0,0 +1,33 @@ +// 1. start the dev server using production config +process.env.NODE_ENV = 'testing' +var server = require('../../build/dev-server.js') + +server.ready.then(() => { + // 2. run the nightwatch test suite against it + // to run in additional browsers: + // 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings" + // 2. add it to the --env flag below + // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox` + // For more information on Nightwatch's config file, see + // http://nightwatchjs.org/guide#settings-file + var opts = process.argv.slice(2) + if (opts.indexOf('--config') === -1) { + opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js']) + } + if (opts.indexOf('--env') === -1) { + opts = opts.concat(['--env', 'chrome']) + } + + var spawn = require('cross-spawn') + var runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' }) + + runner.on('exit', function (code) { + server.close() + process.exit(code) + }) + + runner.on('error', function (err) { + server.close() + throw err + }) +}) diff --git a/test/e2e/specs/test.js b/test/e2e/specs/test.js new file mode 100644 index 0000000..a7b1bd9 --- /dev/null +++ b/test/e2e/specs/test.js @@ -0,0 +1,19 @@ +// For authoring Nightwatch tests, see +// http://nightwatchjs.org/guide#usage + +module.exports = { + 'default e2e tests': function (browser) { + // automatically uses dev Server port from /config.index.js + // default: http://localhost:8080 + // see nightwatch.conf.js + const devServer = browser.globals.devServerURL + + browser + .url(devServer) + .waitForElementVisible('#app', 5000) + .assert.elementPresent('.hello') + .assert.containsText('h1', 'Welcome to Your Vue.js App') + .assert.elementCount('img', 1) + .end() + } +} diff --git a/test/unit/.eslintrc b/test/unit/.eslintrc new file mode 100644 index 0000000..959a4f4 --- /dev/null +++ b/test/unit/.eslintrc @@ -0,0 +1,9 @@ +{ + "env": { + "mocha": true + }, + "globals": { + "expect": true, + "sinon": true + } +} diff --git a/test/unit/index.js b/test/unit/index.js new file mode 100644 index 0000000..c69f33f --- /dev/null +++ b/test/unit/index.js @@ -0,0 +1,13 @@ +import Vue from 'vue' + +Vue.config.productionTip = false + +// require all test files (files that ends with .spec.js) +const testsContext = require.context('./specs', true, /\.spec$/) +testsContext.keys().forEach(testsContext) + +// require all src files except main.js for coverage. +// you can also change this to match only the subset of files that +// you want coverage for. +const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/) +srcContext.keys().forEach(srcContext) diff --git a/test/unit/karma.conf.js b/test/unit/karma.conf.js new file mode 100644 index 0000000..8e4951c --- /dev/null +++ b/test/unit/karma.conf.js @@ -0,0 +1,33 @@ +// This is a karma config file. For more details see +// http://karma-runner.github.io/0.13/config/configuration-file.html +// we are also using it with karma-webpack +// https://github.com/webpack/karma-webpack + +var webpackConfig = require('../../build/webpack.test.conf') + +module.exports = function (config) { + config.set({ + // to run in additional browsers: + // 1. install corresponding karma launcher + // http://karma-runner.github.io/0.13/config/browsers.html + // 2. add it to the `browsers` array below. + browsers: ['PhantomJS'], + frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'], + reporters: ['spec', 'coverage'], + files: ['./index.js'], + preprocessors: { + './index.js': ['webpack', 'sourcemap'] + }, + webpack: webpackConfig, + webpackMiddleware: { + noInfo: true + }, + coverageReporter: { + dir: './coverage', + reporters: [ + { type: 'lcov', subdir: '.' }, + { type: 'text-summary' } + ] + } + }) +} diff --git a/test/unit/specs/Hello.spec.js b/test/unit/specs/Hello.spec.js new file mode 100644 index 0000000..80140ba --- /dev/null +++ b/test/unit/specs/Hello.spec.js @@ -0,0 +1,11 @@ +import Vue from 'vue' +import Hello from '@/components/Hello' + +describe('Hello.vue', () => { + it('should render correct contents', () => { + const Constructor = Vue.extend(Hello) + const vm = new Constructor().$mount() + expect(vm.$el.querySelector('.hello h1').textContent) + .to.equal('Welcome to Your Vue.js App') + }) +}) From 812a3f32f66ad11bee5ea3d97df8519ef788e9b7 Mon Sep 17 00:00:00 2001 From: Javier Diaz Date: Mon, 24 Apr 2017 00:29:08 -0500 Subject: [PATCH 03/44] Removed dist from .gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3e1d210..6e4cc08 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ .DS_Store node_modules/ -dist/ npm-debug.log* yarn-debug.log* yarn-error.log* From 4fd82bff6daade96df87894546ea9f76e6d5c55d Mon Sep 17 00:00:00 2001 From: Javier Diaz Date: Mon, 24 Apr 2017 00:29:23 -0500 Subject: [PATCH 04/44] Removed index.js --- index.js | 1 - 1 file changed, 1 deletion(-) delete mode 100644 index.js diff --git a/index.js b/index.js deleted file mode 100644 index 8415330..0000000 --- a/index.js +++ /dev/null @@ -1 +0,0 @@ -modules.exports = require('./src/components/Datasource.vue'); \ No newline at end of file From bf2acb8129423e79122deb0cff504d779105b945 Mon Sep 17 00:00:00 2001 From: Javier Diaz Date: Mon, 24 Apr 2017 00:30:05 -0500 Subject: [PATCH 05/44] Added distribution lib --- dist/src/components/Datasource.css | 2 ++ dist/src/components/Datasource.css.map | 1 + dist/src/components/Datasource.js | 2 ++ dist/src/components/Datasource.js.map | 1 + 4 files changed, 6 insertions(+) create mode 100644 dist/src/components/Datasource.css create mode 100644 dist/src/components/Datasource.css.map create mode 100644 dist/src/components/Datasource.js create mode 100644 dist/src/components/Datasource.js.map diff --git a/dist/src/components/Datasource.css b/dist/src/components/Datasource.css new file mode 100644 index 0000000..b472f18 --- /dev/null +++ b/dist/src/components/Datasource.css @@ -0,0 +1,2 @@ +.vue-datasource .panel-body[data-v-2e18333e]{padding:0}.vue-datasource table[data-v-2e18333e]{margin-bottom:0}.vue-datasource .panel-footer .btn-group-actions[data-v-2e18333e]{margin:10px 0}.pr1[data-v-2e18333e]{padding-right:5px}.pr2[data-v-2e18333e]{padding-right:10px}.mr1[data-v-2e18333e]{margin-right:5px}.vue-pagination nav .pagination[data-v-111f6fda]{margin:10px 0} +/*# sourceMappingURL=Datasource.css.map*/ \ No newline at end of file diff --git a/dist/src/components/Datasource.css.map b/dist/src/components/Datasource.css.map new file mode 100644 index 0000000..070c36e --- /dev/null +++ b/dist/src/components/Datasource.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/components/Datasource.vue","webpack:///./src/components/Pagination.vue"],"names":[],"mappings":"AACA,6CACE,SAAU,CAEZ,uCACE,eAAgB,CAElB,kEACE,aAAc,CAEhB,sBACE,iBAAkB,CAEpB,sBACE,kBAAoB,CAEtB,sBACE,gBAAkB,CChBpB,iDACI,aAAc","file":"src/components/Datasource.css","sourcesContent":["\n.vue-datasource .panel-body[data-v-2e18333e] {\n padding: 0\n}\n.vue-datasource table[data-v-2e18333e] {\n margin-bottom: 0\n}\n.vue-datasource .panel-footer .btn-group-actions[data-v-2e18333e] {\n margin: 10px 0\n}\n.pr1[data-v-2e18333e] {\n padding-right: 5px\n}\n.pr2[data-v-2e18333e] {\n padding-right: 10px;\n}\n.mr1[data-v-2e18333e] {\n margin-right: 5px;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/Datasource.vue","\n.vue-pagination nav .pagination[data-v-111f6fda] {\n margin: 10px 0\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/Pagination.vue"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/src/components/Datasource.js b/dist/src/components/Datasource.js new file mode 100644 index 0000000..60c42df --- /dev/null +++ b/dist/src/components/Datasource.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["vue-datasource"]=e():t["vue-datasource"]=e()}(this,function(){return function(t){function e(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return t[a].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,a){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:a})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=8)}([function(t,e,n){"use strict";e.a={fetchFromObject:function(t,e,n){if(void 0===t)return!1;var a=e.indexOf(".");return a>-1?this.fetchFromObject(t[e.substring(0,a)],e.substr(a+1)):void 0!==n?n(t[e]):t[e]},changePage:function(t){this.selected=null,this.indexSelected=-1,this.$emit("change",{perpage:this.perpage,page:t})},selectRow:function(t,e,n){t.preventDefault(),this.indexSelected===n?(this.indexSelected=-1,this.selected=null):(this.indexSelected=n,this.selected={row:e,index:n})},tableInfo:function(){return this.translation.pagination.show+" "+(null===this.pagination.from?0:this.pagination.from)+" "+this.translation.pagination.to+" "+(null===this.pagination.to?0:this.pagination.to)+" "+this.translation.pagination.of+" "+this.pagination.total+" "+this.translation.pagination.entries},gettingItems:function(){var t=[],e=this.pages.current_page-2,n=this.pages.current_page+2,a=5;e<=0&&(e=1,n=5),n>=this.pages.last_page&&(e=this.pages.last_page-4,n=this.pages.last_page),this.pages.last_page<5&&(a=this.pages.last_page),e<=0&&(e=1),0!==this.pages.last_page&&1!==this.pages.last_page||(a=1);for(var s=0;s -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render !== 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n changePage: function changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', { perpage: this.perpage, page: page });\n },\n selectRow: function selectRow(e, row, index) {\n e.preventDefault();\n if (this.indexSelected === index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n tableInfo: function tableInfo() {\n var labelShow = this.translation.pagination.show;\n var from = this.pagination.from === null ? 0 : this.pagination.from;\n var labelTo = this.translation.pagination.to;\n var to = this.pagination.to === null ? 0 : this.pagination.to;\n var labelOf = this.translation.pagination.of;\n var total = this.pagination.total;\n var labelEntries = this.translation.pagination.entries;\n return labelShow + ' ' + from + ' ' + labelTo + ' ' + to + ' ' + labelOf + ' ' + total + ' ' + labelEntries;\n },\n gettingItems: function gettingItems() {\n var temp = [];\n var bottomLimit = this.pages.current_page - 2;\n var topLimit = this.pages.current_page + 2;\n var showing = 5;\n if (bottomLimit <= 0) {\n bottomLimit = 1;\n topLimit = 5;\n }\n if (topLimit >= this.pages.last_page) {\n bottomLimit = this.pages.last_page - 4;\n topLimit = this.pages.last_page;\n }\n if (this.pages.last_page < 5) {\n showing = this.pages.last_page;\n }\n if (bottomLimit <= 0) {\n bottomLimit = 1;\n }\n if (this.pages.last_page === 0 || this.pages.last_page === 1) {\n showing = 1;\n }\n for (var i = 0; i < showing; i++) {\n temp[i] = i + bottomLimit;\n }\n return temp;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91dGlscy9EYXRhc291cmNlVXRpbHMuanMiXSwibmFtZXMiOlsiZmV0Y2hGcm9tT2JqZWN0Iiwib2JqIiwiY29sdW1uIiwicmVuZGVyIiwiX2luZGV4IiwiaW5kZXhPZiIsInN1YnN0cmluZyIsInN1YnN0ciIsImNoYW5nZVBhZ2UiLCJwYWdlIiwic2VsZWN0ZWQiLCJpbmRleFNlbGVjdGVkIiwiJGVtaXQiLCJwZXJwYWdlIiwic2VsZWN0Um93IiwiZSIsInJvdyIsImluZGV4IiwicHJldmVudERlZmF1bHQiLCJ0YWJsZUluZm8iLCJsYWJlbFNob3ciLCJ0cmFuc2xhdGlvbiIsInBhZ2luYXRpb24iLCJzaG93IiwiZnJvbSIsImxhYmVsVG8iLCJ0byIsImxhYmVsT2YiLCJvZiIsInRvdGFsIiwibGFiZWxFbnRyaWVzIiwiZW50cmllcyIsImdldHRpbmdJdGVtcyIsInRlbXAiLCJib3R0b21MaW1pdCIsInBhZ2VzIiwiY3VycmVudF9wYWdlIiwidG9wTGltaXQiLCJzaG93aW5nIiwibGFzdF9wYWdlIiwiaSJdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtBQVFiQSxpQkFSYSwyQkFRSUMsR0FSSixFQVFTQyxNQVJULEVBUWlCQyxNQVJqQixFQVF5QjtBQUNwQyxRQUFJLE9BQU9GLEdBQVAsS0FBZSxXQUFuQixFQUFnQyxPQUFPLEtBQVA7QUFDaEMsUUFBSUcsU0FBU0YsT0FBT0csT0FBUCxDQUFlLEdBQWYsQ0FBYjtBQUNBLFFBQUlELFNBQVMsQ0FBQyxDQUFkLEVBQWlCO0FBQ2YsYUFBTyxLQUFLSixlQUFMLENBQXFCQyxJQUFJQyxPQUFPSSxTQUFQLENBQWlCLENBQWpCLEVBQW9CRixNQUFwQixDQUFKLENBQXJCLEVBQXVERixPQUFPSyxNQUFQLENBQWNILFNBQVMsQ0FBdkIsQ0FBdkQsQ0FBUDtBQUNEO0FBQ0QsUUFBSSxPQUFPRCxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO0FBQ2pDLGFBQU9BLE9BQU9GLElBQUlDLE1BQUosQ0FBUCxDQUFQO0FBQ0Q7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V0FBZDtBQUNEO0FBQ0QsV0FBT0QsSUFBUDtBQUNEO0FBaEdZLENBQWYiLCJmaWxlIjoiRGF0YXNvdXJjZVV0aWxzLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2NvZGVyZGlhei9Qcm9qZWN0cy92dWUtZGF0YXNvdXJjZSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcbiAgLyoqXG4gICAqIEZpbmQgdGhlIGVsZW1lbnQgdmFsdWUgdXNpbmcgUmVjdXJzaXZlIE1ldGhvZCBhbmQgcmV0dXJuIHRoZSB2YWx1ZSByZW5kZXJlZCBpZiBpdCdzIGRlZmluZWRcbiAgICogQHBhcmFtIG9ialxuICAgKiBAcGFyYW0gY29sdW1uXG4gICAqIEBwYXJhbSByZW5kZXJcbiAgICogQHJldHVybnMgeyp9XG4gICAqL1xuICBmZXRjaEZyb21PYmplY3QgKG9iaiwgY29sdW1uLCByZW5kZXIpIHtcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBmYWxzZVxuICAgIGxldCBfaW5kZXggPSBjb2x1bW4uaW5kZXhPZignLicpXG4gICAgaWYgKF9pbmRleCA+IC0xKSB7XG4gICAgICByZXR1cm4gdGhpcy5mZXRjaEZyb21PYmplY3Qob2JqW2NvbHVtbi5zdWJzdHJpbmcoMCwgX2luZGV4KV0sIGNvbHVtbi5zdWJzdHIoX2luZGV4ICsgMSkpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcmVuZGVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHJlbmRlcihvYmpbY29sdW1uXSlcbiAgICB9XG4gICAgcmV0dXJuIG9ialtjb2x1bW5dXG4gIH0sXG5cbiAgLyoqXG4gICAqIEVtaXQgZXZlbnQgdG8gY2hhbmdlIHBhZ2UgZnJvbSBwYWdpbmF0aW9uXG4gICAqIEBwYXJhbSBwYWdlXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBjaGFuZ2VQYWdlIChwYWdlKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGxcbiAgICB0aGlzLmluZGV4U2VsZWN0ZWQgPSAtMVxuICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHsgcGVycGFnZTogdGhpcy5wZXJwYWdlLCBwYWdlOiBwYWdlIH0pXG4gIH0sXG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0b2dnbGUgdG8gc2VsZWN0ZWQgcm93XG4gICAqIEBwYXJhbSByb3dcbiAgICogQHBhcmFtIGluZGV4XG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBzZWxlY3RSb3cgKGUsIHJvdywgaW5kZXgpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBpZiAodGhpcy5pbmRleFNlbGVjdGVkID09PSBpbmRleCkge1xuICAgICAgdGhpcy5pbmRleFNlbGVjdGVkID0gLTFcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBudWxsXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZCA9IGluZGV4XG4gICAgICB0aGlzLnNlbGVjdGVkID0ge1xuICAgICAgICAncm93Jzogcm93LFxuICAgICAgICAnaW5kZXgnOiBpbmRleFxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogQ29tcHV0ZWQgcHJvcGVydHk6IEJ1aWxkaW5nIGN1c3RvbSBzdHJpbmcgaW5mb3JtYXRpb24gd2l0aCB0cmFuc2xhdGlvblxuICAgKiBAcmV0dXJucyB7U3RyaW5nfVxuICAgKi9cbiAgdGFibGVJbmZvICgpIHtcbiAgICBsZXQgbGFiZWxTaG93ID0gdGhpcy50cmFuc2xhdGlvbi5wYWdpbmF0aW9uLnNob3dcbiAgICBsZXQgZnJvbSA9ICh0aGlzLnBhZ2luYXRpb24uZnJvbSA9PT0gbnVsbCkgPyAwIDogdGhpcy5wYWdpbmF0aW9uLmZyb21cbiAgICBsZXQgbGFiZWxUbyA9IHRoaXMudHJhbnNsYXRpb24ucGFnaW5hdGlvbi50b1xuICAgIGxldCB0byA9ICh0aGlzLnBhZ2luYXRpb24udG8gPT09IG51bGwpID8gMCA6IHRoaXMucGFnaW5hdGlvbi50b1xuICAgIGxldCBsYWJlbE9mID0gdGhpcy50cmFuc2xhdGlvbi5wYWdpbmF0aW9uLm9mXG4gICAgbGV0IHRvdGFsID0gdGhpcy5wYWdpbmF0aW9uLnRvdGFsXG4gICAgbGV0IGxhYmVsRW50cmllcyA9IHRoaXMudHJhbnNsYXRpb24ucGFnaW5hdGlvbi5lbnRyaWVzXG4gICAgcmV0dXJuIGAke2xhYmVsU2hvd30gJHtmcm9tfSAke2xhYmVsVG99ICR7dG99ICR7bGFiZWxPZn0gJHt0b3RhbH0gJHtsYWJlbEVudHJpZXN9YFxuICB9LFxuXG4gIC8qKlxuICAgKiBDb21wdXRlZCBwcm9wZXJ0eTogQnVpbGQgY3VzdG9tIGFycmF5IHdpdGggdGhlIHBhZ2luYXRpb24gaXRlbXNcbiAgICogQHJldHVybiBBcnJheVxuICAgKi9cbiAgZ2V0dGluZ0l0ZW1zICgpIHtcbiAgICBsZXQgdGVtcCA9IFtdXG4gICAgbGV0IGJvdHRvbUxpbWl0ID0gdGhpcy5wYWdlcy5jdXJyZW50X3BhZ2UgLSAyXG4gICAgbGV0IHRvcExpbWl0ID0gdGhpcy5wYWdlcy5jdXJyZW50X3BhZ2UgKyAyXG4gICAgbGV0IHNob3dpbmcgPSA1XG4gICAgaWYgKGJvdHRvbUxpbWl0IDw9IDApIHtcbiAgICAgIGJvdHRvbUxpbWl0ID0gMVxuICAgICAgdG9wTGltaXQgPSA1XG4gICAgfVxuICAgIGlmICh0b3BMaW1pdCA+PSB0aGlzLnBhZ2VzLmxhc3RfcGFnZSkge1xuICAgICAgYm90dG9tTGltaXQgPSB0aGlzLnBhZ2VzLmxhc3RfcGFnZSAtIDRcbiAgICAgIHRvcExpbWl0ID0gdGhpcy5wYWdlcy5sYXN0X3BhZ2VcbiAgICB9XG4gICAgaWYgKHRoaXMucGFnZXMubGFzdF9wYWdlIDwgNSkge1xuICAgICAgc2hvd2luZyA9IHRoaXMucGFnZXMubGFzdF9wYWdlXG4gICAgfVxuICAgIGlmIChib3R0b21MaW1pdCA8PSAwKSB7XG4gICAgICBib3R0b21MaW1pdCA9IDFcbiAgICB9XG4gICAgaWYgKHRoaXMucGFnZXMubGFzdF9wYWdlID09PSAwIHx8IHRoaXMucGFnZXMubGFzdF9wYWdlID09PSAxKSB7XG4gICAgICBzaG93aW5nID0gMVxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNob3dpbmc7IGkrKykge1xuICAgICAgdGVtcFtpXSA9IGkgKyBib3R0b21MaW1pdFxuICAgIH1cbiAgICByZXR1cm4gdGVtcFxuICB9XG59XG4iXX0=\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(4)\n\nvar Component = __webpack_require__(1)(\n /* script */\n __webpack_require__(5),\n /* template */\n null,\n /* scopeId */\n \"data-v-2e18333e\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Pagination_vue__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Pagination_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__Pagination_vue__);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Datasource',\n components: {\n Pagination: __WEBPACK_IMPORTED_MODULE_1__Pagination_vue___default.a\n },\n render: function render(h) {\n var _this = this;\n\n return h(\n 'div',\n { 'class': 'vue-datasource' },\n [h(\n 'div',\n { 'class': 'panel panel-default' },\n [h(\n 'div',\n { 'class': 'panel-heading' },\n [h(\n 'div',\n { 'class': 'form-inline' },\n [h(\n 'div',\n { 'class': 'form-group pull-left' },\n [h(\n 'label',\n { 'class': 'control-label pr2' },\n [this.translation.limit]\n ), h(\n 'select',\n {\n on: {\n 'change': function change(e) {\n return _this.sync('perpage', parseInt(e.target.value));\n }\n },\n 'class': 'form-control', attrs: { number: true }\n },\n [this.limitOptions]\n )]\n ), h(\n 'div',\n { 'class': 'form-group pull-right' },\n [h(\n 'input',\n { 'class': 'form-control mr1', attrs: { type: 'text', placeholder: this.translation.placeholder_search },\n on: {\n 'input': function input(e) {\n return _this.sync('search', e.target.value);\n }\n }\n },\n []\n ), h(\n 'button',\n {\n attrs: { type: 'button' },\n 'class': ' btn btn-primary', on: {\n 'click': function click(e) {\n return _this.searching(e);\n }\n }\n },\n [this.translation.search]\n )]\n ), h(\n 'div',\n { 'class': 'clearfix' },\n []\n )]\n )]\n ), h(\n 'div',\n { 'class': 'panel-body' },\n [h(\n 'table',\n { 'class': 'table table-striped' },\n [h(\n 'thead',\n null,\n [h(\n 'tr',\n null,\n [this.columnItems]\n )]\n ), h(\n 'tbody',\n null,\n [this.columnObjects, h(\n 'tr',\n null,\n [h(\n 'td',\n { 'class': 'text-center warning', attrs: { colspan: this.columns.length }\n },\n [this.tableInfo]\n )]\n )]\n )]\n )]\n ), h(\n 'div',\n { 'class': 'panel-footer' },\n [h(\n 'div',\n { 'class': 'pull-left btn-group btn-group-actions' },\n [this.actionsObject]\n ), h(\n 'div',\n { 'class': 'pull-right' },\n [h(\n 'pagination',\n {\n attrs: { pages: this.pagination },\n on: {\n 'change': function change(e) {\n return _this.changePage;\n }\n }\n },\n []\n )]\n ), h(\n 'div',\n { 'class': 'clearfix' },\n []\n )]\n )]\n )]\n );\n },\n\n props: {\n tableData: {\n type: Array,\n required: true\n },\n\n limits: {\n type: Array,\n default: function _default() {\n return [1, 5, 10, 15, 20];\n }\n },\n\n translation: {\n type: Object,\n default: function _default() {\n return {\n limit: 'Limit',\n search: 'Search',\n placeholder_search: 'Type to search..',\n records_not_found: 'No records found',\n pagination: {\n show: 'Showing',\n to: 'to',\n of: 'of',\n entries: 'entries'\n }\n };\n }\n },\n\n columns: {\n type: Array,\n required: true\n },\n\n pagination: {\n type: Object,\n default: function _default() {\n return {\n total: 0,\n to: 0,\n from: 0,\n per_page: 15\n };\n }\n },\n\n actions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n perpage: 15,\n selected: null,\n indexSelected: -1,\n search: '' };\n },\n\n computed: {\n limitOptions: function limitOptions() {\n var _this2 = this;\n\n var h = this.$createElement;\n\n return this.limits.map(function (limit, index) {\n return h(\n 'option',\n {\n attrs: { value: limit, selected: _this2.perpage === limit }\n },\n [limit]\n );\n });\n },\n columnItems: function columnItems() {\n var h = this.$createElement;\n\n return this.columns.map(function (column, index) {\n return h(\n 'th',\n null,\n [column.name]\n );\n });\n },\n columnObjects: function columnObjects() {\n var _this3 = this;\n\n var h = this.$createElement;\n\n if (this.tableData.length === 0) {\n return h(\n 'tr',\n { 'class': 'text-center' },\n [h(\n 'td',\n {\n attrs: { colspan: this.columns.length }\n },\n [this.translation.records_not_found]\n )]\n );\n } else {\n return this.tableData.map(function (row, index) {\n var columns = _this3.columns.map(function (column, index) {\n return h(\n 'td',\n null,\n [_this3.fetchFromObject(row, column.key, column.render)]\n );\n });\n return h(\n 'tr',\n { 'class': { success: index === _this3.indexSelected }, on: {\n 'click': function click(e) {\n return _this3.selectRow(e, row, index);\n }\n }\n },\n [columns]\n );\n });\n }\n },\n actionsObject: function actionsObject() {\n var _this4 = this;\n\n var h = this.$createElement;\n\n return this.actions.map(function (action, index) {\n return h(\n 'button',\n { 'class': _this4.dynamicClass('btn', action.class), attrs: { type: 'button' },\n on: {\n 'click': function click(e) {\n return action.event(e, _this4.selected);\n }\n }\n },\n [h(\n 'i',\n { 'class': _this4.dynamicClass('pr1', action.icon) },\n []\n ), action.text]\n );\n });\n },\n\n tableInfo: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].tableInfo\n },\n methods: {\n fetchFromObject: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].fetchFromObject,\n changePage: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].changePage,\n selectRow: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].selectRow,\n dynamicClass: function dynamicClass(defaultClass, customClass) {\n return defaultClass + ' ' + customClass;\n },\n sync: function sync(prop, value) {\n this[prop] = value;\n },\n searching: function searching(e) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('searching', this.search);\n }\n },\n watch: {\n perpage: function perpage() {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', { perpage: this.perpage, page: 1 });\n },\n tableData: function tableData() {\n this.selected = null;\n this.indexSelected = -1;\n }\n }\n});\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Datasource-Pagination',\n render: function render(h) {\n var _this = this;\n\n return h(\n 'div',\n { 'class': 'vue-pagination' },\n [h(\n 'nav',\n null,\n [h(\n 'ul',\n { 'class': 'pagination' },\n [h(\n 'li',\n { 'class': { disabled: this.pages.current_page === 1 } },\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this.firstPage(e);\n }\n }\n },\n [h(\n 'span',\n {\n attrs: { 'aria-hidden': 'true' }\n },\n ['\\xAB\\xAB']\n )]\n )]\n ), h(\n 'li',\n { 'class': { disabled: this.pages.current_page === 1 } },\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this.previous(e);\n }\n }\n },\n [h(\n 'span',\n {\n attrs: { 'aria-hidden': 'true' }\n },\n ['\\xAB']\n )]\n )]\n ), this.paginationItems, h(\n 'li',\n { 'class': { disabled: this.pages.current_page === this.pages.last_page } },\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this.next(e);\n }\n }\n },\n [h(\n 'span',\n {\n attrs: { 'aria-hidden': 'true' }\n },\n ['\\xBB']\n )]\n )]\n ), h(\n 'li',\n { 'class': { disabled: this.pages.current_page === this.pages.last_page } },\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this.lastPage(e, _this.pages.last_page);\n }\n }\n },\n [h(\n 'span',\n {\n attrs: { 'aria-hidden': 'true' }\n },\n ['\\xBB\\xBB']\n )]\n )]\n )]\n )]\n )]\n );\n },\n\n props: ['pages'],\n created: function created() {\n var _this2 = this;\n\n window.addEventListener('keyup', function (_ref) {\n var key = _ref.key;\n return _this2.changePageWithKeyBoard(key);\n });\n },\n\n computed: {\n items: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].gettingItems,\n paginationItems: function paginationItems() {\n var _this3 = this;\n\n var h = this.$createElement;\n\n return this.items.map(function (item, index) {\n return h(\n 'li',\n null,\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this3.change(e, item);\n }\n }\n },\n [item]\n )]\n );\n });\n }\n },\n methods: {\n firstPage: function firstPage(e) {\n e.preventDefault();\n if (this.pages.current_page !== 1) {\n this.change(e, 1);\n }\n },\n previous: function previous(e) {\n e.preventDefault();\n if (this.pages.current_page !== 1) {\n this.change(e, --this.pages.current_page);\n }\n },\n change: function change(e, page) {\n e.preventDefault();\n this.$emit('change', page);\n },\n next: function next(e) {\n e.preventDefault();\n if (this.pages.current_page !== this.pages.last_page) {\n this.change(e, ++this.pages.current_page);\n }\n },\n lastPage: function lastPage(e, page) {\n e.preventDefault();\n if (this.pages.current_page !== this.pages.last_page) {\n this.change(e, page);\n }\n },\n changePageWithKeyBoard: function changePageWithKeyBoard(key) {\n if (key === 'ArrowLeft') {\n this.previous();\n } else if (key === 'ArrowRight') {\n this.next();\n }\n }\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(3)\n\nvar Component = __webpack_require__(1)(\n /* script */\n __webpack_require__(6),\n /* template */\n null,\n /* scopeId */\n \"data-v-111f6fda\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(2);\n\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// src/components/Datasource.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 29dabac0e846d81149a9","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject (obj, column, render) {\n if (typeof obj === 'undefined') return false\n let _index = column.indexOf('.')\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1))\n }\n if (typeof render !== 'undefined') {\n return render(obj[column])\n }\n return obj[column]\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage (page) {\n this.selected = null\n this.indexSelected = -1\n this.$emit('change', { perpage: this.perpage, page: page })\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow (e, row, index) {\n e.preventDefault()\n if (this.indexSelected === index) {\n this.indexSelected = -1\n this.selected = null\n } else {\n this.indexSelected = index\n this.selected = {\n 'row': row,\n 'index': index\n }\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo () {\n let labelShow = this.translation.pagination.show\n let from = (this.pagination.from === null) ? 0 : this.pagination.from\n let labelTo = this.translation.pagination.to\n let to = (this.pagination.to === null) ? 0 : this.pagination.to\n let labelOf = this.translation.pagination.of\n let total = this.pagination.total\n let labelEntries = this.translation.pagination.entries\n return `${labelShow} ${from} ${labelTo} ${to} ${labelOf} ${total} ${labelEntries}`\n },\n\n /**\n * Computed property: Build custom array with the pagination items\n * @return Array\n */\n gettingItems () {\n let temp = []\n let bottomLimit = this.pages.current_page - 2\n let topLimit = this.pages.current_page + 2\n let showing = 5\n if (bottomLimit <= 0) {\n bottomLimit = 1\n topLimit = 5\n }\n if (topLimit >= this.pages.last_page) {\n bottomLimit = this.pages.last_page - 4\n topLimit = this.pages.last_page\n }\n if (this.pages.last_page < 5) {\n showing = this.pages.last_page\n }\n if (bottomLimit <= 0) {\n bottomLimit = 1\n }\n if (this.pages.last_page === 0 || this.pages.last_page === 1) {\n showing = 1\n }\n for (let i = 0; i < showing; i++) {\n temp[i] = i + bottomLimit\n }\n return temp\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/component-normalizer.js\n// module id = 1\n// module chunks = 0","\n/* styles */\nrequire(\"!!../../../../.nvm/versions/node/v6.9.5/lib/node_modules/vue-cli/node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?-autoprefixer&sourceMap!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-2e18333e\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!postcss-loader?sourceMap!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\nvar Component = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Datasource.vue\"),\n /* template */\n null,\n /* scopeId */\n \"data-v-2e18333e\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Datasource.vue\n// module id = 2\n// module chunks = 0","\n\n\n\n\n// WEBPACK FOOTER //\n// Datasource.vue?325b1f3e","\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?a9fee650","\n/* styles */\nrequire(\"!!../../../../.nvm/versions/node/v6.9.5/lib/node_modules/vue-cli/node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?-autoprefixer&sourceMap!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-111f6fda\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!postcss-loader?sourceMap!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\nvar Component = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Pagination.vue\"),\n /* template */\n null,\n /* scopeId */\n \"data-v-111f6fda\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 7\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file From b2dfa61d82128569d662ed73760d65fd85b8b712 Mon Sep 17 00:00:00 2001 From: Javier Diaz Date: Mon, 24 Apr 2017 00:39:03 -0500 Subject: [PATCH 06/44] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 697eef5..9f2809e 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Live: https://young-falls-97690.herokuapp.com/ ### Install/Usage ``` -$ npm install vue-datasource +$ npm install git+https://git@github.com/coderdiaz/vue-datasource#2.0.0 ``` ```html @@ -229,4 +229,4 @@ All contributions are welcome send your PR and Issues. ### License This is a open-source software licensed under the [MIT license](https://raw.githubusercontent.com/coderdiaz/vue-datasource/master/LICENSE) -##### Created by Javier Diaz. Translation by [itsuwaribito](https://github.com/itsuwaribito) \ No newline at end of file +##### Created by Javier Diaz. Translation by [itsuwaribito](https://github.com/itsuwaribito) From 8569e9fec54ee326cb28e68453e8b98f01cd9afc Mon Sep 17 00:00:00 2001 From: Javier Diaz Date: Mon, 24 Apr 2017 23:04:42 -0500 Subject: [PATCH 07/44] Added Bus --- src/utils/EventBus.js | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 src/utils/EventBus.js diff --git a/src/utils/EventBus.js b/src/utils/EventBus.js new file mode 100644 index 0000000..d64d479 --- /dev/null +++ b/src/utils/EventBus.js @@ -0,0 +1,2 @@ +import Vue from 'vue' +export const EventBus = new Vue() From 97a729eb75c8a5c04c824a345c0558e6a4800b25 Mon Sep 17 00:00:00 2001 From: Javier Diaz Date: Mon, 24 Apr 2017 23:05:16 -0500 Subject: [PATCH 08/44] Fixed emit events with JSX --- src/components/Datasource.vue | 6 +++++- src/components/Pagination.vue | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/Datasource.vue b/src/components/Datasource.vue index 0ab77d6..ae10ab3 100644 --- a/src/components/Datasource.vue +++ b/src/components/Datasource.vue @@ -1,6 +1,7 @@ \n\n\n\n\n// WEBPACK FOOTER //\n// Datasource.vue?325b1f3e","\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?a9fee650","\n/* styles */\nrequire(\"!!../../../../.nvm/versions/node/v6.9.5/lib/node_modules/vue-cli/node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?-autoprefixer&sourceMap!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"id\\\":\\\"data-v-111f6fda\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":true}!postcss-loader?sourceMap!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\nvar Component = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Pagination.vue\"),\n /* template */\n null,\n /* scopeId */\n \"data-v-111f6fda\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 7\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///src/components/Datasource.js","webpack:///webpack/bootstrap 27c992796c6816a866e2","webpack:///./src/utils/DatasourceUtils.js","webpack:///./src/utils/EventBus.js","webpack:///./~/vue-loader/lib/component-normalizer.js","webpack:///./src/components/Datasource.vue?81e7","webpack:///(webpack)/buildin/global.js","webpack:///Datasource.vue","webpack:///Pagination.vue","webpack:///./src/components/Pagination.vue?dbcc","webpack:///./~/vue/dist/vue.runtime.esm.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","fetchFromObject","obj","column","render","_index","indexOf","substring","substr","changePage","page","selected","indexSelected","$emit","perpage","selectRow","e","row","index","preventDefault","tableInfo","translation","pagination","show","from","to","of","total","entries","gettingItems","temp","bottomLimit","pages","current_page","topLimit","showing","last_page","__WEBPACK_IMPORTED_MODULE_0_vue__","EventBus","rawScriptExports","compiledTemplate","scopeId","cssModules","esModule","scriptExports","type","default","options","staticRenderFns","_scopeId","computed","create","keys","forEach","key","Component","g","Function","eval","window","__WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__","__WEBPACK_IMPORTED_MODULE_1__Pagination_vue__","__WEBPACK_IMPORTED_MODULE_1__Pagination_vue___default","__WEBPACK_IMPORTED_MODULE_2__utils_EventBus__","components","Pagination","a","h","_this","class","limit","on","change","sync","parseInt","target","attrs","number","limitOptions","placeholder","placeholder_search","input","click","searching","search","columnItems","columnObjects","colspan","columns","length","actionsObject","props","tableData","Array","required","limits","records_not_found","per_page","actions","created","$on","data","_this2","$createElement","map","_this3","success","_this4","action","dynamicClass","event","icon","text","methods","defaultClass","customClass","prop","watch","__WEBPACK_IMPORTED_MODULE_1__utils_EventBus__","disabled","href","firstPage","aria-hidden","previous","paginationItems","next","lastPage","addEventListener","_ref","changePageWithKeyBoard","items","item","global","_toString","val","JSON","stringify","String","toNumber","parseFloat","isNaN","makeMap","str","expectsLowerCase","list","split","toLowerCase","remove","arr","splice","hasOwn","isPrimitive","cached","fn","cache","bind","ctx","boundFn","arguments","apply","_length","toArray","start","ret","extend","_from","isObject","isPlainObject","toString","OBJECT_STRING","toObject","res","noop","looseEqual","b","isObjectA","isObjectB","looseIndexOf","once","called","isReserved","charCodeAt","def","writable","parsePath","path","bailRE","test","segments","isNative","Ctor","pushTarget","_target","Dep","targetStack","push","popTarget","pop","protoAugment","src","__proto__","copyAugment","observe","asRootData","ob","__ob__","Observer","observerState","shouldConvert","isServerRendering","isArray","isExtensible","_isVue","vmCount","defineReactive$$1","customSetter","dep","getOwnPropertyDescriptor","setter","set","childOb","depend","dependArray","newVal","notify","Math","max","del","mergeData","toVal","fromVal","mergeHook","parentVal","childVal","concat","mergeAssets","normalizeProps","camelize","normalizeDirectives","dirs","directives","update","mergeOptions","parent","child","vm","mergeField","strat","strats","defaultStrat","extendsFrom","extends","mixins","mixin","Vue$2","resolveAsset","id","warnMissing","assets","camelizedId","PascalCaseId","capitalize","validateProp","propOptions","propsData","absent","isType","Boolean","hyphenate","undefined","getPropDefaultValue","prevShouldConvert","$options","_props","getType","match","len","handleError","err","info","config","errorHandler","inBrowser","console","error","createTextVNode","VNode","cloneVNode","vnode","cloned","tag","children","elm","context","componentOptions","ns","isStatic","isCloned","cloneVNodes","vnodes","createFnInvoker","fns","invoker","arguments$1","updateListeners","oldOn","add","remove$$1","cur","old","normalizeEvent","capture","mergeVNodeHook","hookKey","hook","wrappedHook","oldHook","merged","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","nestedIndex","last","getFirstComponentChild","filter","initEvents","_events","_hasHookEvent","listeners","_parentListeners","updateComponentListeners","once$$1","$once","remove$1","$off","oldListeners","resolveSlots","slots","defaultSlot","functionalContext","slot","every","isWhitespace","node","isComment","resolveScopedSlots","initLifecycle","abstract","$parent","$children","$root","$refs","_watcher","_inactive","_directInactive","_isMounted","_isDestroyed","_isBeingDestroyed","mountComponent","el","hydrating","$el","createEmptyVNode","callHook","updateComponent","_update","_render","Watcher","$vnode","updateChildComponent","parentVnode","renderChildren","hasChildren","_renderChildren","scopedSlots","$scopedSlots","emptyObject","_parentVnode","_vnode","propKeys","_propKeys","$slots","$forceUpdate","isInInactiveTree","activateChildComponent","direct","deactivateChildComponent","handlers","j","resetSchedulerState","queue","has","waiting","flushing","flushSchedulerQueue","watcher","sort","run","oldQueue","slice","devtools","emit","queueWatcher","nextTick","traverse","seenObjects","clear","_traverse","seen","isA","depId","proxy","sourceKey","sharedPropertyDefinition","initState","_watchers","opts","initProps","initMethods","initData","_data","initComputed","initWatch","propsOptions","isRoot","getData","watchers","_computedWatchers","userDef","computedWatcherOptions","defineComputed","createComputedGetter","dirty","evaluate","handler","createWatcher","$watch","createComponent","baseCtor","_base","cid","resolved","resolveAsyncComponent","resolveConstructorOptions","model","transformModel","extractProps","functional","createFunctionalComponent","nativeOn","mergeHooks","_context","createElement","createComponentInstanceForVnode","parentElm","refElm","vnodeComponentOptions","_isComponent","_componentTag","_parentElm","_refElm","inlineTemplate","cb","requested","cbs","pendingCallbacks","resolve","reject","reason","then","domProps","altKey","checkProp","hash","preserve","hooksToMerge","fromParent","ours","componentVNodeHooks","mergeHook$1","one","two","callback","normalizationType","alwaysNormalize","ALWAYS_NORMALIZE","_createElement","SIMPLE_NORMALIZE","getTagNamespace","isReservedTag","parsePlatformTagName","applyNS","renderList","renderSlot","fallback","bindObject","scopedSlotFn","slotNodes","resolveFilter","identity","checkKeyCodes","eventKeyCode","builtInAlias","keyCodes","bindObjectProps","asProp","mustUseProp","renderStatic","isInFor","tree","_staticTrees","_renderProxy","markStatic","markOnce","isOnce","markStaticNode","initRender","renderContext","_c","initProvide","provide","_provided","initInjections","inject","hasSymbol","Reflect","ownKeys","provideKey","source","initInternalComponent","constructor","super","superOptions","modifiedOptions","resolveModifiedOptions","extendOptions","modified","latest","sealed","sealedOptions","dedupe","_init","initUse","Vue","use","plugin","installed","args","unshift","install","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","_assetTypes","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","RegExp","pruneCache","cachedNode","pruneCacheEntry","componentInstance","$destroy","genClassForVnode","parentNode","childNode","mergeClassData","genClassFromData","staticClass","stringifyClass","stringified","isSVG","isUnknownElement","unknownElementCache","document","HTMLUnknownElement","HTMLElement","query","querySelector","createElement$1","tagName","multiple","setAttribute","createElementNS","namespace","namespaceMap","createTextNode","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","registerRef","isRemoval","ref","refs","refInFor","isUndef","v","isDef","isTrue","sameVnode","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldVnode","oldDir","dir","isCreate","emptyNode","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldValue","callHook$1","componentUpdated","inserted","callInsert","modifiers","emptyModifiers","getRawDirName","rawName","join","updateAttrs","oldAttrs","setAttr","isIE9","isXlink","removeAttributeNS","xlinkNS","getXlinkProp","isEnumeratedAttr","removeAttribute","isBooleanAttr","isFalsyAttrValue","setAttributeNS","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","normalizeEvents","RANGE_TOKEN","isIE","CHECKBOX_RADIO_TOKEN","isChrome","add$1","oldHandler","target$1","ev","remove$2","removeEventListener","updateDOMListeners","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","composing","isDirty","isInputChanged","activeElement","_vModifiers","trim","normalizeStyleData","style","normalizeStyleBinding","staticStyle","bindingStyle","parseStyleText","getStyle","checkChild","styleData","updateStyle","oldStaticStyle","oldStyleBinding","oldStyle","newStyle","setProp","addClass","classList","getAttribute","removeClass","tar","replace","resolveTransition","def$$1","css","autoCssTransition","nextFrame","raf","addTransitionClass","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","timeout","propCount","TRANSITION","transitionEndEvent","animationEndEvent","ended","end","onEnd","setTimeout","styles","getComputedStyle","transitionDelays","transitionProp","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationProp","animationDurations","animationTimeout","ANIMATION","hasTransform","transformRE","delays","durations","toMs","Number","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","enterClass","enterToClass","enterActiveClass","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","activeInstance","transitionNode","isAppear","isRootInsert","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","leave","rm","performLeave","beforeLeave","leaveClass","leaveActiveClass","leaveToClass","explicitLeaveDuration","afterLeave","leaveCancelled","delayLeave","invokerFns","_enter","_","setSelected","binding","isMultiple","option","getValue","selectedIndex","hasNoMatchingOption","onCompositionStart","onCompositionEnd","trigger","createEvent","initEvent","dispatchEvent","locateNode","getRealChild","compOptions","extractTransitionData","comp","key$1","rawChild","hasParentTransition","isSameChild","oldChild","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","pos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","_isServer","_Set","toUpperCase","charAt","no","optionMergeStrategies","silent","productionTip","performance","ignoredElements","_lifecycleHooks","_maxUpdateCount","freeze","hasProto","UA","navigator","userAgent","isEdge","isAndroid","isIOS","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","Symbol","nextTickHandler","pending","copies","callbacks","timerFunc","Promise","logError","catch","MutationObserver","counter","observer","textNode","characterData","_resolve","Set","warn","uid$1","subs","addSub","sub","removeSub","addDep","arrayProto","arrayMethods","method","original","result","observeArray","arrayKeys","getOwnPropertyNames","isSettingProps","walk","instanceData","defaultData","raw","prototypeAccessors","defineProperties","uid$2","expOrFn","deep","user","lazy","active","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","this$1","tmp","teardown","init","$mount","keepAlive","mountedNode","prepatch","insert","destroy","uid","_uid","_self","dataDef","propsDef","$set","$delete","immediate","hookRE","i$1","prevEl","prevVnode","prevActiveInstance","__patch__","__vue__","$nextTick","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","patternTypes","KeepAlive","include","exclude","destroyed","builtInComponents","configDef","util","defineReactive","delete","version","testEl","acceptValue","attr","svg","math","isHTMLTag","nodeOps","hooks","baseModules","klass","events","cssText","cssVarRE","importantRE","setProperty","normalize","prefixes","upper","prefixed","hasTransition","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","requestAnimationFrame","activate","platformModules","patch","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","nested","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","elmToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","postpatch","invokeInsertHook","initial","hydrate","hasChildNodes","childrenMatch","firstChild","isRenderedModule","isInitialPatch","isRealElement","hasAttribute","oldElm","parentElm$1","vmodel","model$1","some","originalDisplay","__vOriginalDisplay","display","unbind","platformDirectives","transitionProps","mode","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","prevChildren","rawChildren","transitionData","kept","removed","c$1","beforeUpdate","updated","hasMove","body","offsetHeight","propertyName","_hasMove","clone","cloneNode","platformComponents"],"mappings":"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","file":"src/components/Datasource.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-datasource\"] = factory();\n\telse\n\t\troot[\"vue-datasource\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-datasource\"] = factory();\n\telse\n\t\troot[\"vue-datasource\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n fetchFromObject: function fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n var _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render !== 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n changePage: function changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', { perpage: this.perpage, page: page });\n },\n selectRow: function selectRow(e, row, index) {\n e.preventDefault();\n if (this.indexSelected === index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n tableInfo: function tableInfo() {\n var labelShow = this.translation.pagination.show;\n var from = this.pagination.from === null ? 0 : this.pagination.from;\n var labelTo = this.translation.pagination.to;\n var to = this.pagination.to === null ? 0 : this.pagination.to;\n var labelOf = this.translation.pagination.of;\n var total = this.pagination.total;\n var labelEntries = this.translation.pagination.entries;\n return labelShow + ' ' + from + ' ' + labelTo + ' ' + to + ' ' + labelOf + ' ' + total + ' ' + labelEntries;\n },\n gettingItems: function gettingItems() {\n var temp = [];\n var bottomLimit = this.pages.current_page - 2;\n var topLimit = this.pages.current_page + 2;\n var showing = 5;\n if (bottomLimit <= 0) {\n bottomLimit = 1;\n topLimit = 5;\n }\n if (topLimit >= this.pages.last_page) {\n bottomLimit = this.pages.last_page - 4;\n topLimit = this.pages.last_page;\n }\n if (this.pages.last_page < 5) {\n showing = this.pages.last_page;\n }\n if (bottomLimit <= 0) {\n bottomLimit = 1;\n }\n if (this.pages.last_page === 0 || this.pages.last_page === 1) {\n showing = 1;\n }\n for (var i = 0; i < showing; i++) {\n temp[i] = i + bottomLimit;\n }\n return temp;\n }\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91dGlscy9EYXRhc291cmNlVXRpbHMuanMiXSwibmFtZXMiOlsiZmV0Y2hGcm9tT2JqZWN0Iiwib2JqIiwiY29sdW1uIiwicmVuZGVyIiwiX2luZGV4IiwiaW5kZXhPZiIsInN1YnN0cmluZyIsInN1YnN0ciIsImNoYW5nZVBhZ2UiLCJwYWdlIiwic2VsZWN0ZWQiLCJpbmRleFNlbGVjdGVkIiwiJGVtaXQiLCJwZXJwYWdlIiwic2VsZWN0Um93IiwiZSIsInJvdyIsImluZGV4IiwicHJldmVudERlZmF1bHQiLCJ0YWJsZUluZm8iLCJsYWJlbFNob3ciLCJ0cmFuc2xhdGlvbiIsInBhZ2luYXRpb24iLCJzaG93IiwiZnJvbSIsImxhYmVsVG8iLCJ0byIsImxhYmVsT2YiLCJvZiIsInRvdGFsIiwibGFiZWxFbnRyaWVzIiwiZW50cmllcyIsImdldHRpbmdJdGVtcyIsInRlbXAiLCJib3R0b21MaW1pdCIsInBhZ2VzIiwiY3VycmVudF9wYWdlIiwidG9wTGltaXQiLCJzaG93aW5nIiwibGFzdF9wYWdlIiwiaSJdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtBQVFiQSxpQkFSYSwyQkFRSUMsR0FSSixFQVFTQyxNQVJULEVBUWlCQyxNQVJqQixFQVF5QjtBQUNwQyxRQUFJLE9BQU9GLEdBQVAsS0FBZSxXQUFuQixFQUFnQyxPQUFPLEtBQVA7QUFDaEMsUUFBSUcsU0FBU0YsT0FBT0csT0FBUCxDQUFlLEdBQWYsQ0FBYjtBQUNBLFFBQUlELFNBQVMsQ0FBQyxDQUFkLEVBQWlCO0FBQ2YsYUFBTyxLQUFLSixlQUFMLENBQXFCQyxJQUFJQyxPQUFPSSxTQUFQLENBQWlCLENBQWpCLEVBQW9CRixNQUFwQixDQUFKLENBQXJCLEVBQXVERixPQUFPSyxNQUFQLENBQWNILFNBQVMsQ0FBdkIsQ0FBdkQsQ0FBUDtBQUNEO0FBQ0QsUUFBSSxPQUFPRCxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO0FBQ2pDLGFBQU9BLE9BQU9GLElBQUlDLE1BQUosQ0FBUCxDQUFQO0FBQ0Q7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V0FBZDtBQUNEO0FBQ0QsV0FBT0QsSUFBUDtBQUNEO0FBaEdZLENBQWYiLCJmaWxlIjoiRGF0YXNvdXJjZVV0aWxzLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2NvZGVyZGlhei9Qcm9qZWN0cy92dWUtZGF0YXNvdXJjZSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcbiAgLyoqXG4gICAqIEZpbmQgdGhlIGVsZW1lbnQgdmFsdWUgdXNpbmcgUmVjdXJzaXZlIE1ldGhvZCBhbmQgcmV0dXJuIHRoZSB2YWx1ZSByZW5kZXJlZCBpZiBpdCdzIGRlZmluZWRcbiAgICogQHBhcmFtIG9ialxuICAgKiBAcGFyYW0gY29sdW1uXG4gICAqIEBwYXJhbSByZW5kZXJcbiAgICogQHJldHVybnMgeyp9XG4gICAqL1xuICBmZXRjaEZyb21PYmplY3QgKG9iaiwgY29sdW1uLCByZW5kZXIpIHtcbiAgICBpZiAodHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBmYWxzZVxuICAgIGxldCBfaW5kZXggPSBjb2x1bW4uaW5kZXhPZignLicpXG4gICAgaWYgKF9pbmRleCA+IC0xKSB7XG4gICAgICByZXR1cm4gdGhpcy5mZXRjaEZyb21PYmplY3Qob2JqW2NvbHVtbi5zdWJzdHJpbmcoMCwgX2luZGV4KV0sIGNvbHVtbi5zdWJzdHIoX2luZGV4ICsgMSkpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcmVuZGVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHJlbmRlcihvYmpbY29sdW1uXSlcbiAgICB9XG4gICAgcmV0dXJuIG9ialtjb2x1bW5dXG4gIH0sXG5cbiAgLyoqXG4gICAqIEVtaXQgZXZlbnQgdG8gY2hhbmdlIHBhZ2UgZnJvbSBwYWdpbmF0aW9uXG4gICAqIEBwYXJhbSBwYWdlXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBjaGFuZ2VQYWdlIChwYWdlKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGxcbiAgICB0aGlzLmluZGV4U2VsZWN0ZWQgPSAtMVxuICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHsgcGVycGFnZTogdGhpcy5wZXJwYWdlLCBwYWdlOiBwYWdlIH0pXG4gIH0sXG5cbiAgLyoqXG4gICAqIEVmZmVjdCB0b2dnbGUgdG8gc2VsZWN0ZWQgcm93XG4gICAqIEBwYXJhbSByb3dcbiAgICogQHBhcmFtIGluZGV4XG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBzZWxlY3RSb3cgKGUsIHJvdywgaW5kZXgpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBpZiAodGhpcy5pbmRleFNlbGVjdGVkID09PSBpbmRleCkge1xuICAgICAgdGhpcy5pbmRleFNlbGVjdGVkID0gLTFcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBudWxsXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZCA9IGluZGV4XG4gICAgICB0aGlzLnNlbGVjdGVkID0ge1xuICAgICAgICAncm93Jzogcm93LFxuICAgICAgICAnaW5kZXgnOiBpbmRleFxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogQ29tcHV0ZWQgcHJvcGVydHk6IEJ1aWxkaW5nIGN1c3RvbSBzdHJpbmcgaW5mb3JtYXRpb24gd2l0aCB0cmFuc2xhdGlvblxuICAgKiBAcmV0dXJucyB7U3RyaW5nfVxuICAgKi9cbiAgdGFibGVJbmZvICgpIHtcbiAgICBsZXQgbGFiZWxTaG93ID0gdGhpcy50cmFuc2xhdGlvbi5wYWdpbmF0aW9uLnNob3dcbiAgICBsZXQgZnJvbSA9ICh0aGlzLnBhZ2luYXRpb24uZnJvbSA9PT0gbnVsbCkgPyAwIDogdGhpcy5wYWdpbmF0aW9uLmZyb21cbiAgICBsZXQgbGFiZWxUbyA9IHRoaXMudHJhbnNsYXRpb24ucGFnaW5hdGlvbi50b1xuICAgIGxldCB0byA9ICh0aGlzLnBhZ2luYXRpb24udG8gPT09IG51bGwpID8gMCA6IHRoaXMucGFnaW5hdGlvbi50b1xuICAgIGxldCBsYWJlbE9mID0gdGhpcy50cmFuc2xhdGlvbi5wYWdpbmF0aW9uLm9mXG4gICAgbGV0IHRvdGFsID0gdGhpcy5wYWdpbmF0aW9uLnRvdGFsXG4gICAgbGV0IGxhYmVsRW50cmllcyA9IHRoaXMudHJhbnNsYXRpb24ucGFnaW5hdGlvbi5lbnRyaWVzXG4gICAgcmV0dXJuIGAke2xhYmVsU2hvd30gJHtmcm9tfSAke2xhYmVsVG99ICR7dG99ICR7bGFiZWxPZn0gJHt0b3RhbH0gJHtsYWJlbEVudHJpZXN9YFxuICB9LFxuXG4gIC8qKlxuICAgKiBDb21wdXRlZCBwcm9wZXJ0eTogQnVpbGQgY3VzdG9tIGFycmF5IHdpdGggdGhlIHBhZ2luYXRpb24gaXRlbXNcbiAgICogQHJldHVybiBBcnJheVxuICAgKi9cbiAgZ2V0dGluZ0l0ZW1zICgpIHtcbiAgICBsZXQgdGVtcCA9IFtdXG4gICAgbGV0IGJvdHRvbUxpbWl0ID0gdGhpcy5wYWdlcy5jdXJyZW50X3BhZ2UgLSAyXG4gICAgbGV0IHRvcExpbWl0ID0gdGhpcy5wYWdlcy5jdXJyZW50X3BhZ2UgKyAyXG4gICAgbGV0IHNob3dpbmcgPSA1XG4gICAgaWYgKGJvdHRvbUxpbWl0IDw9IDApIHtcbiAgICAgIGJvdHRvbUxpbWl0ID0gMVxuICAgICAgdG9wTGltaXQgPSA1XG4gICAgfVxuICAgIGlmICh0b3BMaW1pdCA+PSB0aGlzLnBhZ2VzLmxhc3RfcGFnZSkge1xuICAgICAgYm90dG9tTGltaXQgPSB0aGlzLnBhZ2VzLmxhc3RfcGFnZSAtIDRcbiAgICAgIHRvcExpbWl0ID0gdGhpcy5wYWdlcy5sYXN0X3BhZ2VcbiAgICB9XG4gICAgaWYgKHRoaXMucGFnZXMubGFzdF9wYWdlIDwgNSkge1xuICAgICAgc2hvd2luZyA9IHRoaXMucGFnZXMubGFzdF9wYWdlXG4gICAgfVxuICAgIGlmIChib3R0b21MaW1pdCA8PSAwKSB7XG4gICAgICBib3R0b21MaW1pdCA9IDFcbiAgICB9XG4gICAgaWYgKHRoaXMucGFnZXMubGFzdF9wYWdlID09PSAwIHx8IHRoaXMucGFnZXMubGFzdF9wYWdlID09PSAxKSB7XG4gICAgICBzaG93aW5nID0gMVxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNob3dpbmc7IGkrKykge1xuICAgICAgdGVtcFtpXSA9IGkgKyBib3R0b21MaW1pdFxuICAgIH1cbiAgICByZXR1cm4gdGVtcFxuICB9XG59XG4iXX0=\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(10);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EventBus; });\n\nvar EventBus = new __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */]();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91dGlscy9FdmVudEJ1cy5qcyJdLCJuYW1lcyI6WyJWdWUiLCJFdmVudEJ1cyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsR0FBUCxNQUFnQixLQUFoQjtBQUNBLE9BQU8sSUFBTUMsV0FBVyxJQUFJRCxHQUFKLEVBQWpCIiwiZmlsZSI6IkV2ZW50QnVzLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2NvZGVyZGlhei9Qcm9qZWN0cy92dWUtZGF0YXNvdXJjZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBWdWUgZnJvbSAndnVlJ1xuZXhwb3J0IGNvbnN0IEV2ZW50QnVzID0gbmV3IFZ1ZSgpXG4iXX0=\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = Object.create(options.computed || null)\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n options.computed = computed\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(5)\n\nvar Component = __webpack_require__(2)(\n /* script */\n __webpack_require__(7),\n /* template */\n null,\n /* scopeId */\n \"data-v-2e18333e\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Pagination_vue__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Pagination_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__Pagination_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_EventBus__ = __webpack_require__(1);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Datasource',\n components: {\n Pagination: __WEBPACK_IMPORTED_MODULE_1__Pagination_vue___default.a\n },\n render: function render(h) {\n var _this = this;\n\n return h(\n 'div',\n { 'class': 'vue-datasource' },\n [h(\n 'div',\n { 'class': 'panel panel-default' },\n [h(\n 'div',\n { 'class': 'panel-heading' },\n [h(\n 'div',\n { 'class': 'form-inline' },\n [h(\n 'div',\n { 'class': 'form-group pull-left' },\n [h(\n 'label',\n { 'class': 'control-label pr2' },\n [this.translation.limit]\n ), h(\n 'select',\n {\n on: {\n 'change': function change(e) {\n return _this.sync('perpage', parseInt(e.target.value));\n }\n },\n 'class': 'form-control', attrs: { number: true }\n },\n [this.limitOptions]\n )]\n ), h(\n 'div',\n { 'class': 'form-group pull-right' },\n [h(\n 'input',\n { 'class': 'form-control mr1', attrs: { type: 'text', placeholder: this.translation.placeholder_search },\n on: {\n 'input': function input(e) {\n return _this.sync('search', e.target.value);\n }\n }\n },\n []\n ), h(\n 'button',\n {\n attrs: { type: 'button' },\n 'class': ' btn btn-primary', on: {\n 'click': function click(e) {\n return _this.searching(e);\n }\n }\n },\n [this.translation.search]\n )]\n ), h(\n 'div',\n { 'class': 'clearfix' },\n []\n )]\n )]\n ), h(\n 'div',\n { 'class': 'panel-body' },\n [h(\n 'table',\n { 'class': 'table table-striped' },\n [h(\n 'thead',\n null,\n [h(\n 'tr',\n null,\n [this.columnItems]\n )]\n ), h(\n 'tbody',\n null,\n [this.columnObjects, h(\n 'tr',\n null,\n [h(\n 'td',\n { 'class': 'text-center warning', attrs: { colspan: this.columns.length }\n },\n [this.tableInfo]\n )]\n )]\n )]\n )]\n ), h(\n 'div',\n { 'class': 'panel-footer' },\n [h(\n 'div',\n { 'class': 'pull-left btn-group btn-group-actions' },\n [this.actionsObject]\n ), h(\n 'div',\n { 'class': 'pull-right' },\n [h(\n 'pagination',\n {\n attrs: { pages: this.pagination }\n },\n []\n )]\n ), h(\n 'div',\n { 'class': 'clearfix' },\n []\n )]\n )]\n )]\n );\n },\n\n props: {\n tableData: {\n type: Array,\n required: true\n },\n\n limits: {\n type: Array,\n default: function _default() {\n return [1, 5, 10, 15, 20];\n }\n },\n\n translation: {\n type: Object,\n default: function _default() {\n return {\n limit: 'Limit',\n search: 'Search',\n placeholder_search: 'Type to search..',\n records_not_found: 'No records found',\n pagination: {\n show: 'Showing',\n to: 'to',\n of: 'of',\n entries: 'entries'\n }\n };\n }\n },\n\n columns: {\n type: Array,\n required: true\n },\n\n pagination: {\n type: Object,\n default: function _default() {\n return {\n total: 0,\n to: 0,\n from: 0,\n per_page: 15\n };\n }\n },\n\n actions: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n created: function created() {\n __WEBPACK_IMPORTED_MODULE_2__utils_EventBus__[\"a\" /* EventBus */].$on('pagination-change', this.changePage);\n },\n data: function data() {\n return {\n perpage: 15,\n selected: null,\n indexSelected: -1,\n search: '' };\n },\n\n computed: {\n limitOptions: function limitOptions() {\n var _this2 = this;\n\n var h = this.$createElement;\n\n return this.limits.map(function (limit, index) {\n return h(\n 'option',\n {\n attrs: { value: limit, selected: _this2.perpage === limit }\n },\n [limit]\n );\n });\n },\n columnItems: function columnItems() {\n var h = this.$createElement;\n\n return this.columns.map(function (column, index) {\n return h(\n 'th',\n null,\n [column.name]\n );\n });\n },\n columnObjects: function columnObjects() {\n var _this3 = this;\n\n var h = this.$createElement;\n\n if (this.tableData.length === 0) {\n return h(\n 'tr',\n { 'class': 'text-center' },\n [h(\n 'td',\n {\n attrs: { colspan: this.columns.length }\n },\n [this.translation.records_not_found]\n )]\n );\n } else {\n return this.tableData.map(function (row, index) {\n var columns = _this3.columns.map(function (column, index) {\n return h(\n 'td',\n null,\n [_this3.fetchFromObject(row, column.key, column.render)]\n );\n });\n return h(\n 'tr',\n { 'class': { success: index === _this3.indexSelected }, on: {\n 'click': function click(e) {\n return _this3.selectRow(e, row, index);\n }\n }\n },\n [columns]\n );\n });\n }\n },\n actionsObject: function actionsObject() {\n var _this4 = this;\n\n var h = this.$createElement;\n\n return this.actions.map(function (action, index) {\n return h(\n 'button',\n { 'class': _this4.dynamicClass('btn', action.class), attrs: { type: 'button' },\n on: {\n 'click': function click(e) {\n return action.event(e, _this4.selected);\n }\n }\n },\n [h(\n 'i',\n { 'class': _this4.dynamicClass('pr1', action.icon) },\n []\n ), action.text]\n );\n });\n },\n\n tableInfo: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].tableInfo\n },\n methods: {\n fetchFromObject: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].fetchFromObject,\n changePage: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].changePage,\n selectRow: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].selectRow,\n dynamicClass: function dynamicClass(defaultClass, customClass) {\n return defaultClass + ' ' + customClass;\n },\n sync: function sync(prop, value) {\n this[prop] = value;\n },\n searching: function searching(e) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('searching', this.search);\n }\n },\n watch: {\n perpage: function perpage() {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', { perpage: this.perpage, page: 1 });\n },\n tableData: function tableData() {\n this.selected = null;\n this.indexSelected = -1;\n }\n }\n});\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_EventBus__ = __webpack_require__(1);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Datasource-Pagination',\n render: function render(h) {\n var _this = this;\n\n return h(\n 'div',\n { 'class': 'vue-pagination' },\n [h(\n 'nav',\n null,\n [h(\n 'ul',\n { 'class': 'pagination' },\n [h(\n 'li',\n { 'class': { disabled: this.pages.current_page === 1 } },\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this.firstPage(e);\n }\n }\n },\n [h(\n 'span',\n {\n attrs: { 'aria-hidden': 'true' }\n },\n ['\\xAB\\xAB']\n )]\n )]\n ), h(\n 'li',\n { 'class': { disabled: this.pages.current_page === 1 } },\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this.previous(e);\n }\n }\n },\n [h(\n 'span',\n {\n attrs: { 'aria-hidden': 'true' }\n },\n ['\\xAB']\n )]\n )]\n ), this.paginationItems, h(\n 'li',\n { 'class': { disabled: this.pages.current_page === this.pages.last_page } },\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this.next(e);\n }\n }\n },\n [h(\n 'span',\n {\n attrs: { 'aria-hidden': 'true' }\n },\n ['\\xBB']\n )]\n )]\n ), h(\n 'li',\n { 'class': { disabled: this.pages.current_page === this.pages.last_page } },\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this.lastPage(e, _this.pages.last_page);\n }\n }\n },\n [h(\n 'span',\n {\n attrs: { 'aria-hidden': 'true' }\n },\n ['\\xBB\\xBB']\n )]\n )]\n )]\n )]\n )]\n );\n },\n\n props: ['pages'],\n created: function created() {\n var _this2 = this;\n\n window.addEventListener('keyup', function (_ref) {\n var key = _ref.key;\n return _this2.changePageWithKeyBoard(key);\n });\n },\n\n computed: {\n items: __WEBPACK_IMPORTED_MODULE_0__utils_DatasourceUtils__[\"a\" /* default */].gettingItems,\n paginationItems: function paginationItems() {\n var _this3 = this;\n\n var h = this.$createElement;\n\n return this.items.map(function (item, index) {\n return h(\n 'li',\n null,\n [h(\n 'a',\n {\n attrs: { href: '#' },\n on: {\n 'click': function click(e) {\n return _this3.change(e, item);\n }\n }\n },\n [item]\n )]\n );\n });\n }\n },\n methods: {\n firstPage: function firstPage(e) {\n e.preventDefault();\n if (this.pages.current_page !== 1) {\n this.change(e, 1);\n }\n },\n previous: function previous(e) {\n e.preventDefault();\n if (this.pages.current_page !== 1) {\n this.change(e, --this.pages.current_page);\n }\n },\n change: function change(e, page) {\n e.preventDefault();\n __WEBPACK_IMPORTED_MODULE_1__utils_EventBus__[\"a\" /* EventBus */].$emit('pagination-change', page);\n },\n next: function next(e) {\n e.preventDefault();\n if (this.pages.current_page !== this.pages.last_page) {\n this.change(e, ++this.pages.current_page);\n }\n },\n lastPage: function lastPage(e, page) {\n e.preventDefault();\n if (this.pages.current_page !== this.pages.last_page) {\n this.change(e, page);\n }\n },\n changePageWithKeyBoard: function changePageWithKeyBoard(key) {\n if (key === 'ArrowLeft') {\n this.previous();\n } else if (key === 'ArrowRight') {\n this.next();\n }\n }\n }\n});\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\n/* styles */\n__webpack_require__(4)\n\nvar Component = __webpack_require__(2)(\n /* script */\n __webpack_require__(8),\n /* template */\n null,\n /* scopeId */\n \"data-v-111f6fda\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * Vue.js v2.2.6\n * (c) 2014-2017 Evan You\n * Released under the MIT License.\n */\n/* */\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction _toString (val) {\n return val == null\n ? ''\n : typeof val === 'object'\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert a input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Remove an item from an array\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether the object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Check if value is primitive\n */\nfunction isPrimitive (value) {\n return typeof value === 'string' || typeof value === 'number'\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /([^-])([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str\n .replace(hyphenateRE, '$1-$2')\n .replace(hyphenateRE, '$1-$2')\n .toLowerCase()\n});\n\n/**\n * Simple bind, faster than native\n */\nfunction bind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n // record original fn length\n boundFn._length = fn.length;\n return boundFn\n}\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n return toString.call(obj) === OBJECT_STRING\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/**\n * Perform no operation.\n */\nfunction noop () {}\n\n/**\n * Always return false.\n */\nvar no = function () { return false; };\n\n/**\n * Return same value\n */\nvar identity = function (_) { return _; };\n\n/**\n * Generate a static keys string from compiler modules.\n */\n\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n return JSON.stringify(a) === JSON.stringify(b)\n } catch (e) {\n // possible circular reference\n return a === b\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn();\n }\n }\n}\n\n/* */\n\nvar config = {\n /**\n * Option merge strategies (used in core/util/options)\n */\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: \"production\" !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: \"production\" !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * List of asset types that a component can own.\n */\n _assetTypes: [\n 'component',\n 'directive',\n 'filter'\n ],\n\n /**\n * List of lifecycle hooks.\n */\n _lifecycleHooks: [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated'\n ],\n\n /**\n * Max circular updates allowed in a scheduler flush cycle.\n */\n _maxUpdateCount: 100\n};\n\n/* */\n\nvar emptyObject = Object.freeze({});\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = /[^\\w.$]/;\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n/* globals MutationObserver */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = UA && UA.indexOf('android') > 0;\nvar isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\n/**\n * Defer a task to execute it asynchronously.\n */\nvar nextTick = (function () {\n var callbacks = [];\n var pending = false;\n var timerFunc;\n\n function nextTickHandler () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n }\n\n // the nextTick behavior leverages the microtask queue, which can be accessed\n // via either native Promise.then or MutationObserver.\n // MutationObserver has wider support, however it is seriously bugged in\n // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n // completely stops working after triggering a few times... so, if native\n // Promise is available, we will use it:\n /* istanbul ignore if */\n if (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n var logError = function (err) { console.error(err); };\n timerFunc = function () {\n p.then(nextTickHandler).catch(logError);\n // in problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n } else if (typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n )) {\n // use MutationObserver where native Promise is not available,\n // e.g. PhantomJS IE11, iOS7, Android 4.4\n var counter = 1;\n var observer = new MutationObserver(nextTickHandler);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n } else {\n // fallback to setTimeout\n /* istanbul ignore next */\n timerFunc = function () {\n setTimeout(nextTickHandler, 0);\n };\n }\n\n return function queueNextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) { cb.call(ctx); }\n if (_resolve) { _resolve(ctx); }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n }\n})();\n\nvar _Set;\n/* istanbul ignore if */\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = (function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\nvar warn = noop;\nvar tip = noop;\nvar formatComponentName;\n\nif (false) {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.error(\"[Vue warn]: \" + msg + \" \" + (\n vm ? formatLocation(formatComponentName(vm)) : ''\n ));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + \" \" + (\n vm ? formatLocation(formatComponentName(vm)) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var name = typeof vm === 'string'\n ? vm\n : typeof vm === 'function' && vm.options\n ? vm.options.name\n : vm._isVue\n ? vm.$options.name || vm.$options._componentTag\n : vm.name;\n\n var file = vm._isVue && vm.$options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var formatLocation = function (str) {\n if (str === \"\") {\n str += \" - use the \\\"name\\\" option for better debugging messages.\";\n }\n return (\"\\n(found in \" + str + \")\")\n };\n}\n\n/* */\n\n\nvar uid$1 = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid$1++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (_target) {\n if (Dep.target) { targetStack.push(Dep.target); }\n Dep.target = _target;\n}\n\nfunction popTarget () {\n Dep.target = targetStack.pop();\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);[\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n]\n.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var arguments$1 = arguments;\n\n // avoid leaking arguments:\n // http://jsperf.com/closure-with-arguments\n var i = arguments.length;\n var args = new Array(i);\n while (i--) {\n args[i] = arguments$1[i];\n }\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n inserted = args;\n break\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * By default, when a reactive property is set, the new value is\n * also converted to become reactive. However when passing down props,\n * we don't want to force conversion because the value may be a nested value\n * under a frozen data structure. Converting it would defeat the optimization.\n */\nvar observerState = {\n shouldConvert: true,\n isSettingProps: false\n};\n\n/**\n * Observer class that are attached to each observed\n * object. Once attached, the observer converts target\n * object's property keys into getter/setters that\n * collect dependencies and dispatches updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n var augment = hasProto\n ? protoAugment\n : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i], obj[keys[i]]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value)) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n observerState.shouldConvert &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n\n var childOb = observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n }\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (false) {\n customSetter();\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (Array.isArray(target) && typeof key === 'number') {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (hasOwn(target, key)) {\n target[key] = val;\n return val\n }\n var ob = (target ).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (Array.isArray(target) && typeof key === 'number') {\n target.splice(key, 1);\n return\n }\n var ob = (target ).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n \"production\" !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (false) {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n var keys = Object.keys(from);\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (typeof childVal !== 'function') {\n \"production\" !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n childVal.call(this),\n parentVal.call(this)\n )\n }\n } else if (parentVal || childVal) {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm)\n : undefined;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n return childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal\n}\n\nconfig._lifecycleHooks.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (parentVal, childVal) {\n var res = Object.create(parentVal || null);\n return childVal\n ? extend(res, childVal)\n : res\n}\n\nconfig._assetTypes.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (parentVal, childVal) {\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key in childVal) {\n var parent = ret[key];\n var child = childVal[key];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key] = parent\n ? parent.concat(child)\n : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.computed = function (parentVal, childVal) {\n if (!childVal) { return Object.create(parentVal || null) }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n extend(ret, childVal);\n return ret\n};\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n var lower = key.toLowerCase();\n if (isBuiltInTag(lower) || config.isReservedTag(lower)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + key\n );\n }\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (false) {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n }\n options.props = res;\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def = dirs[key];\n if (typeof def === 'function') {\n dirs[key] = { bind: def, update: def };\n }\n }\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (false) {\n checkComponents(child);\n }\n normalizeProps(child);\n normalizeDirectives(child);\n var extendsFrom = child.extends;\n if (extendsFrom) {\n parent = typeof extendsFrom === 'function'\n ? mergeOptions(parent, extendsFrom.options, vm)\n : mergeOptions(parent, extendsFrom, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n var mixin = child.mixins[i];\n if (mixin.prototype instanceof Vue$2) {\n mixin = mixin.options;\n }\n parent = mergeOptions(parent, mixin, vm);\n }\n }\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (false) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // handle boolean props\n if (isType(Boolean, prop.type)) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (!isType(String, prop.type) && (value === '' || value === hyphenate(key))) {\n value = true;\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldConvert = observerState.shouldConvert;\n observerState.shouldConvert = true;\n observe(value);\n observerState.shouldConvert = prevShouldConvert;\n }\n if (false) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (false) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n if (!valid) {\n warn(\n 'Invalid prop: type check failed for prop \"' + name + '\".' +\n ' Expected ' + expectedTypes.map(capitalize).join(', ') +\n ', got ' + Object.prototype.toString.call(value).slice(8, -1) + '.',\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\n/**\n * Assert the type of a value\n */\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (expectedType === 'String') {\n valid = typeof value === (expectedType = 'string');\n } else if (expectedType === 'Number') {\n valid = typeof value === (expectedType = 'number');\n } else if (expectedType === 'Boolean') {\n valid = typeof value === (expectedType = 'boolean');\n } else if (expectedType === 'Function') {\n valid = typeof value === (expectedType = 'function');\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match && match[1]\n}\n\nfunction isType (type, fn) {\n if (!Array.isArray(fn)) {\n return getType(fn) === getType(type)\n }\n for (var i = 0, len = fn.length; i < len; i++) {\n if (getType(fn[i]) === getType(type)) {\n return true\n }\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction handleError (err, vm, info) {\n if (config.errorHandler) {\n config.errorHandler.call(null, err, vm, info);\n } else {\n if (false) {\n warn((\"Error in \" + info + \":\"), vm);\n }\n /* istanbul ignore else */\n if (inBrowser && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n }\n}\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (false) {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n \"referenced during render. Make sure to declare reactive data \" +\n \"properties in the data option.\",\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' &&\n Proxy.toString().match(/native code/);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';\n if (!has && !isAllowed) {\n warnNonPresent(target, key);\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n warnNonPresent(target, key);\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\nvar mark;\nvar measure;\n\nif (false) {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n perf.clearMeasures(name);\n };\n }\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.functionalContext = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n};\n\nvar prototypeAccessors = { child: {} };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function () {\n var node = new VNode();\n node.text = '';\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isCloned = true;\n return cloned\n}\n\nfunction cloneVNodes (vnodes) {\n var len = vnodes.length;\n var res = new Array(len);\n for (var i = 0; i < len; i++) {\n res[i] = cloneVNode(vnodes[i]);\n }\n return res\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture\n }\n});\n\nfunction createFnInvoker (fns) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n for (var i = 0; i < fns.length; i++) {\n fns[i].apply(null, arguments$1);\n }\n } else {\n // return handler return value for single handlers\n return fns.apply(null, arguments)\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n vm\n) {\n var name, cur, old, event;\n for (name in on) {\n cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (!cur) {\n \"production\" !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (!old) {\n if (!cur.fns) {\n cur = on[name] = createFnInvoker(cur);\n }\n add(event.name, cur, event.once, event.capture);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (!on[name]) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (!oldHook) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (oldHook.fns && oldHook.merged) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.