From 6149191261574287e034173e3e0e2bb713661e18 Mon Sep 17 00:00:00 2001 From: Erick Eduardo Petrucelli Date: Sat, 25 Mar 2017 15:32:38 -0300 Subject: [PATCH] The same thing we do every night, Pinky - try to take over the world! --- .editorconfig | 13 + .gitignore | 31 + .jshintrc | 29 + .npmignore | 30 + LICENSE | 22 + README.md | 42 + config/default.json | 12 + config/production.json | 12 + package.json | 42 + public/back.png | Bin 0 -> 114536 bytes public/chat.css | 173 +++ public/chat.js | 60 + public/close.svg | 1 + public/favicon.ico | Bin 0 -> 5533 bytes public/index.html | 51 + public/send.svg | 1 + public/socket.io.min.js | 3 + public/vue.min.js | 8 + public/vue.png | Bin 0 -> 41382 bytes src/app.js | 34 + src/index.js | 9 + src/middleware/index.js | 12 + src/middleware/logger.js | 24 + src/middleware/not-found-handler.js | 9 + src/services/index.js | 8 + src/services/message/hooks/index.js | 31 + src/services/message/index.js | 35 + test/app.test.js | 51 + test/services/message/index.test.js | 10 + yarn.lock | 1569 +++++++++++++++++++++++++++ 30 files changed, 2322 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .jshintrc create mode 100644 .npmignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 config/default.json create mode 100644 config/production.json create mode 100644 package.json create mode 100644 public/back.png create mode 100644 public/chat.css create mode 100644 public/chat.js create mode 100644 public/close.svg create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 public/send.svg create mode 100644 public/socket.io.min.js create mode 100644 public/vue.min.js create mode 100644 public/vue.png create mode 100644 src/app.js create mode 100644 src/index.js create mode 100644 src/middleware/index.js create mode 100644 src/middleware/logger.js create mode 100644 src/middleware/not-found-handler.js create mode 100644 src/services/index.js create mode 100644 src/services/message/hooks/index.js create mode 100644 src/services/message/index.js create mode 100644 test/app.test.js create mode 100644 test/services/message/index.test.js create mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..e717f5e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3cd787d --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +# Logs +logs +*.log + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directory +# Commenting this out is preferred by some people, see +# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- +node_modules + +# Users Environment Variables +.lock-wscript + +lib/ +data/ diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 0000000..7bddfa7 --- /dev/null +++ b/.jshintrc @@ -0,0 +1,29 @@ +{ + "node": true, + "esnext": true, + "bitwise": true, + "camelcase": true, + "curly": true, + "eqeqeq": true, + "immed": true, + "indent": 2, + "latedef": "nofunc", + "newcap": false, + "noarg": true, + "quotmark": "single", + "regexp": true, + "undef": true, + "unused": false, + "strict": false, + "trailing": true, + "smarttabs": true, + "white": false, + "globals": { + "it": true, + "describe": true, + "before": true, + "beforeEach": true, + "after": true, + "afterEach": true + } +} diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..40e14ef --- /dev/null +++ b/.npmignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directory +# Commenting this out is preferred by some people, see +# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- +node_modules + +# Users Environment Variables +.lock-wscript + +data/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..40b7881 --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Feathers + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..70a8423 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# vue-feathers-chat + +> A sample realtime chat made with Vue and Feathers + +## About + +This project is a sample public chat, visually almost like a WhatsApp clone, which uses [Vue](https://vuejs.org) for the _frontend_ and [Feathers](http://feathersjs.com/) for the _backend_. The communication between server and client happens with [Socket.IO](https://socket.io/). The messages are saved in JSON format with the [NeDB](https://www.mongodb.com/blog/post/nedb-a-lightweight-javascript-database-using) database, a lightweight _MongoDB_ inspired database, simple and good for small samples and prototyping. + +## Quick Start + +Be up and running with four easy steps. + +1. Download this repository wherever you want +2. Ensure [NodeJS](https://nodejs.org/) and [npm](https://www.npmjs.com/) are installed +2. Open the _terminal_ (or _prompt_ on Windows) and install the dependencies + + ``` + cd path/to/vue-feathers-chat + npm install + ``` + +3. Put the app to run on `http://localhost:3030/`: + + ``` + npm start + ``` + +## Help + +For bug reports or even questions, fill up an **Issue**. + +## Changelog + +__1.0.0__ + +- Initial release + +## License + +Copyright (c) 2017 + +Licensed under the [MIT license](LICENSE). diff --git a/config/default.json b/config/default.json new file mode 100644 index 0000000..a22a0de --- /dev/null +++ b/config/default.json @@ -0,0 +1,12 @@ +{ + "host": "localhost", + "port": 3030, + "nedb": "../data/", + "public": "../public/", + "auth": { + "token": { + "secret": "TJHhwIRNcQbOL6JjQmDl4mAI+j8C3JrfwGWQJLTePqlvYfgXuITmXDyhOkJkgNdIxWM5N4TboHIeVPzS/zUJdw==" + }, + "local": {} + } +} diff --git a/config/production.json b/config/production.json new file mode 100644 index 0000000..3bb3327 --- /dev/null +++ b/config/production.json @@ -0,0 +1,12 @@ +{ + "host": "vue-feathers-chat-app.feathersjs.com", + "port": 80, + "nedb": "NEDB_BASE_PATH", + "public": "../public/", + "auth": { + "token": { + "secret": "FEATHERS_AUTH_SECRET" + }, + "local": {} + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f2e065d --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "vue-feathers-chat", + "description": "A sample realtime chat made with Vue and Feathers", + "version": "1.0.0", + "main": "src/", + "keywords": [ + "chat", "vue", "feathers", "socket.io", "nedb" + ], + "license": "MIT", + "author": "Erick Eduardo Petrucelli ", + "engines": { + "node": ">= 0.12.0" + }, + "scripts": { + "test": "npm run jshint && npm run mocha", + "jshint": "jshint src/. test/. --config", + "start": "node src/", + "mocha": "mocha test/ --recursive" + }, + "dependencies": { + "body-parser": "^1.17.1", + "compression": "^1.6.2", + "cors": "^2.8.1", + "feathers": "^2.1.1", + "feathers-authentication": "^0.7.12", + "feathers-configuration": "^0.3.3", + "feathers-errors": "^2.6.2", + "feathers-hooks": "^1.8.1", + "feathers-nedb": "^2.6.1", + "feathers-rest": "^1.7.1", + "feathers-socketio": "^1.5.2", + "nedb": "^1.8.0", + "passport": "^0.3.2", + "serve-favicon": "^2.4.1", + "winston": "^2.3.1" + }, + "devDependencies": { + "jshint": "^2.9.4", + "mocha": "^3.2.0", + "request": "^2.81.0" + } +} diff --git a/public/back.png b/public/back.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb055a24353f2764d89e753954b697a63db573b GIT binary patch literal 114536 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 Hu0mjfVo`!R literal 0 HcmV?d00001 diff --git a/public/chat.css b/public/chat.css new file mode 100644 index 0000000..ce19a77 --- /dev/null +++ b/public/chat.css @@ -0,0 +1,173 @@ +* { + box-sizing: border-box; +} + +html, +body { + margin: 0; +} + +#app { + font: 1.25em/135% Sans-serif; + background: #e5ddd5 url('back.png') repeat center center; + background-size: auto 75vw; + perspective: 100vw; +} + +.page-enter-active, .page-leave-active { + box-shadow: 0 2px 20px rgba(0, 0, 0, .25); + transform-origin: 50% 50%; + transform-style: preserve-3d; +} + +.page-enter-active { + transition: all .35s ease-out; +} + +.page-enter { + opacity: 0; + transform: scale(.85) rotateY(-45deg); +} + +.page-leave-to { + opacity: .5; + transform: translateX(-100vw) scale(.7) rotateY(180deg); + transform-origin: left center; + transition: all .75s ease-in; +} + +header { + flex: 1; + background: #f5f1ee; + display: flex; + align-items: center; + padding: 0 .5em; + height: 2.5em; + border-bottom: 1px solid rgba(0, 0, 0, .08); +} + +header p { + font-size: .75em; + margin: 0; +} + +.list { + height: calc(100vh - 6.5em); + padding: 1em 1em 0; + background: rgba(229, 221, 213, .94); + overflow: auto; +} + +ul { + display: flex; + flex-flow: column; + list-style: none; + margin: 0; + padding: 0 0 1em; +} + +li { + margin: .125em 0; + padding: .5em 1.25em; + background: white; + border-radius: 1em; + box-shadow: 0 1px 3px rgba(0, 0, 0, .25); + align-self: flex-start; +} + +li.message-out { + background: #dcf8c6; + align-self: flex-end; +} + +footer { + flex: 1; + background: #f5f1ee; + display: flex; + padding: 1em; + height: 4em; +} + +input { + flex: 1; + padding: .5em 1em; + background: #fff; + border: 1px solid #fff; + border-radius: 5px; + font-size: .75em; + outline: none; + min-height: 2.5rem; + transition: all .25s ease-in-out; +} + +input:focus { + border: 1px solid #e5ddd5; +} + +::-moz-placeholder { + opacity: 1; + color: #a4a4a4; +} + +::-webkit-input-placeholder { + color: #a4a4a4; +} + +button { + cursor: pointer; + background: none; + border: 1px solid transparent; + border-radius: 5px; + width: 2.5em; + min-height: 2.5rem; + margin-left: .5em; + text-indent: -100vw; + overflow: hidden; + outline: none; + background: url('send.svg') no-repeat center center; + transition: all .25s ease-in-out; +} + +button.close { + background-image: url('close.svg'); + margin-right: .5em; +} + +button:focus { + border: 1px solid #a4a4a4; +} + +button::-moz-focus-inner { + border: 0; +} + +button:disabled { + opacity: .5; + cursor: default; +} + +main { + display: flex; + flex-flow: column; + justify-content: center; + align-items: center; + height: 100vh; + background: #eee; + overflow: auto; + padding: 1em; +} + +main img { + height: 14vw; +} + +main h1 { + font-weight: 400; + font-size: 1.75em; + margin: .5em 0 2em; +} + +.login { + flex: 0; + margin-bottom: 1em; +} diff --git a/public/chat.js b/public/chat.js new file mode 100644 index 0000000..47d28c5 --- /dev/null +++ b/public/chat.js @@ -0,0 +1,60 @@ +const socket = io('http://localhost:3030/') + +const app = new Vue({ + el: '#app', + data() { + return { + messages: null, + user: '', + text: '' + } + }, + methods: { + enter() { + if (!this.user) { + this.$messages.user.focus() + return + } + + this.messages = [] + + socket.emit('messages::find', { $sort: { createdAt: -1 } }, (error, page) => { + page.data.reverse() + this.messages = page.data + + setTimeout(() => this.scroll(), 1000) + }) + + socket.on('messages created', m => { + if (m.createdBy !== this.user) this.messages.push(m) + this.scroll() + }) + }, + leave() { + this.user = this.messages = null + setTimeout(() => this.scroll(), 1000) + }, + send() { + if (this.text) { + const m = { text: this.text, createdBy: this.user } + socket.emit('messages::create', m) + this.messages.push(m) + this.$refs.text.focus() + this.text = '' + } + }, + scroll() { + Vue.nextTick(() => { + if (this.$refs.list) { + this.$refs.list.scrollTop = this.$refs.list.scrollHeight + this.$refs.text.focus() + } else { + this.$refs.user.focus() + } + }) + } + }, + mounted() { + this.$refs.user.focus() + } +}) diff --git a/public/close.svg b/public/close.svg new file mode 100644 index 0000000..b3d08f7 --- /dev/null +++ b/public/close.svg @@ -0,0 +1 @@ + diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7ed25a60b04996fb9f339aa73cbfd25dd394430e GIT binary patch literal 5533 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 literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..cca68f9 --- /dev/null +++ b/public/index.html @@ -0,0 +1,51 @@ + + + + + + Vue-Feathers Chat + + + + +
+ +
+ + + + + + diff --git a/public/send.svg b/public/send.svg new file mode 100644 index 0000000..2154b9f --- /dev/null +++ b/public/send.svg @@ -0,0 +1 @@ + diff --git a/public/socket.io.min.js b/public/socket.io.min.js new file mode 100644 index 0000000..1bc1989 --- /dev/null +++ b/public/socket.io.min.js @@ -0,0 +1,3 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.io=e():t.io=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function n(t,e){"object"===("undefined"==typeof t?"undefined":i(t))&&(e=t,t=void 0),e=e||{};var r,n=s(t),a=n.source,p=n.id,f=n.path,l=h[p]&&f in h[p].nsps,d=e.forceNew||e["force new connection"]||!1===e.multiplex||l;return d?(u("ignoring socket cache for %s",a),r=c(a,e)):(h[p]||(u("new io instance for %s",a),h[p]=c(a,e)),r=h[p]),n.query&&!e.query?e.query=n.query:e&&"object"===i(e.query)&&(e.query=o(e.query)),r.socket(n.path,e)}function o(t){var e=[];for(var r in t)t.hasOwnProperty(r)&&e.push(encodeURIComponent(r)+"="+encodeURIComponent(t[r]));return e.join("&")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s=r(1),a=r(7),c=r(17),u=r(3)("socket.io-client");t.exports=e=n;var h=e.managers={};e.protocol=a.protocol,e.connect=n,e.Manager=r(17),e.Socket=r(44)},function(t,e,r){(function(e){"use strict";function n(t,r){var n=t;r=r||e.location,null==t&&(t=r.protocol+"//"+r.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?r.protocol+t:r.host+t),/^(https?|wss?):\/\//.test(t)||(i("protocol-less url %s",t),t="undefined"!=typeof r?r.protocol+"//"+t:"https://"+t),i("parse %s",t),n=o(t)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";var s=n.host.indexOf(":")!==-1,a=s?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+a+":"+n.port,n.href=n.protocol+"://"+a+(r&&r.port===n.port?"":":"+n.port),n}var o=r(2),i=r(3)("socket.io-client:url");t.exports=n}).call(e,function(){return this}())},function(t,e){var r=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,n=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];t.exports=function(t){var e=t,o=t.indexOf("["),i=t.indexOf("]");o!=-1&&i!=-1&&(t=t.substring(0,o)+t.substring(o,i).replace(/:/g,";")+t.substring(i,t.length));for(var s=r.exec(t||""),a={},c=14;c--;)a[n[c]]=s[c]||"";return o!=-1&&i!=-1&&(a.source=e,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,":"),a.authority=a.authority.replace("[","").replace("]","").replace(/;/g,":"),a.ipv6uri=!0),a}},function(t,e,r){(function(n){function o(){return"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function i(){var t=arguments,r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),!r)return t;var n="color: "+this.color;t=[t[0],n,"color: inherit"].concat(Array.prototype.slice.call(t,1));var o=0,i=0;return t[0].replace(/%[a-z%]/g,function(t){"%%"!==t&&(o++,"%c"===t&&(i=o))}),t.splice(i,0,n),t}function s(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}}function c(){try{return e.storage.debug}catch(t){}if("undefined"!=typeof n&&"env"in n)return n.env.DEBUG}function u(){try{return window.localStorage}catch(t){}}e=t.exports=r(5),e.log=s,e.formatArgs=i,e.save=a,e.load=c,e.useColors=o,e.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:u(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(c())}).call(e,r(4))},function(t,e){function r(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function o(t){if(h===setTimeout)return setTimeout(t,0);if((h===r||!h)&&setTimeout)return h=setTimeout,setTimeout(t,0);try{return h(t,0)}catch(e){try{return h.call(null,t,0)}catch(e){return h.call(this,t,0)}}}function i(t){if(p===clearTimeout)return clearTimeout(t);if((p===n||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(t);try{return p(t)}catch(e){try{return p.call(null,t)}catch(e){return p.call(this,t)}}}function s(){y&&l&&(y=!1,l.length?d=l.concat(d):g=-1,d.length&&a())}function a(){if(!y){var t=o(s);y=!0;for(var e=d.length;e;){for(l=d,d=[];++g1)for(var r=1;r1e4)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*h;case"days":case"day":case"d":return r*u;case"hours":case"hour":case"hrs":case"hr":case"h":return r*c;case"minutes":case"minute":case"mins":case"min":case"m":return r*a;case"seconds":case"second":case"secs":case"sec":case"s":return r*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function n(t){return t>=u?Math.round(t/u)+"d":t>=c?Math.round(t/c)+"h":t>=a?Math.round(t/a)+"m":t>=s?Math.round(t/s)+"s":t+"ms"}function o(t){return i(t,u,"day")||i(t,c,"hour")||i(t,a,"minute")||i(t,s,"second")||t+" ms"}function i(t,e,r){if(!(t0)return r(t);if("number"===i&&isNaN(t)===!1)return e.long?o(t):n(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},function(t,e,r){function n(){}function o(t){var r="",n=!1;return r+=t.type,e.BINARY_EVENT!=t.type&&e.BINARY_ACK!=t.type||(r+=t.attachments,r+="-"),t.nsp&&"/"!=t.nsp&&(n=!0,r+=t.nsp),null!=t.id&&(n&&(r+=",",n=!1),r+=t.id),null!=t.data&&(n&&(r+=","),r+=f.stringify(t.data)),p("encoded %j as %s",t,r),r}function i(t,e){function r(t){var r=d.deconstructPacket(t),n=o(r.packet),i=r.buffers;i.unshift(n),e(i)}d.removeBlobs(t,r)}function s(){this.reconstructor=null}function a(t){var r={},n=0;if(r.type=Number(t.charAt(0)),null==e.types[r.type])return h();if(e.BINARY_EVENT==r.type||e.BINARY_ACK==r.type){for(var o="";"-"!=t.charAt(++n)&&(o+=t.charAt(n),n!=t.length););if(o!=Number(o)||"-"!=t.charAt(n))throw new Error("Illegal attachments");r.attachments=Number(o)}if("/"==t.charAt(n+1))for(r.nsp="";++n;){var i=t.charAt(n);if(","==i)break;if(r.nsp+=i,n==t.length)break}else r.nsp="/";var s=t.charAt(n+1);if(""!==s&&Number(s)==s){for(r.id="";++n;){var i=t.charAt(n);if(null==i||Number(i)!=i){--n;break}if(r.id+=t.charAt(n),n==t.length)break}r.id=Number(r.id)}return t.charAt(++n)&&(r=c(r,t.substr(n))),p("decoded %s as %j",t,r),r}function c(t,e){try{t.data=f.parse(e)}catch(t){return h()}return t}function u(t){this.reconPack=t,this.buffers=[]}function h(t){return{type:e.ERROR,data:"parser error"}}var p=r(8)("socket.io-parser"),f=r(11),l=r(13),d=r(14),y=r(16);e.protocol=4,e.types=["CONNECT","DISCONNECT","EVENT","ACK","ERROR","BINARY_EVENT","BINARY_ACK"],e.CONNECT=0,e.DISCONNECT=1,e.EVENT=2,e.ACK=3,e.ERROR=4,e.BINARY_EVENT=5,e.BINARY_ACK=6,e.Encoder=n,e.Decoder=s,n.prototype.encode=function(t,r){if(p("encoding packet %j",t),e.BINARY_EVENT==t.type||e.BINARY_ACK==t.type)i(t,r);else{var n=o(t);r([n])}},l(s.prototype),s.prototype.add=function(t){var r;if("string"==typeof t)r=a(t),e.BINARY_EVENT==r.type||e.BINARY_ACK==r.type?(this.reconstructor=new u(r),0===this.reconstructor.reconPack.attachments&&this.emit("decoded",r)):this.emit("decoded",r);else{if(!y(t)&&!t.base64)throw new Error("Unknown type: "+t);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");r=this.reconstructor.takeBinaryData(t),r&&(this.reconstructor=null,this.emit("decoded",r))}},s.prototype.destroy=function(){this.reconstructor&&this.reconstructor.finishedReconstruction()},u.prototype.takeBinaryData=function(t){if(this.buffers.push(t),this.buffers.length==this.reconPack.attachments){var e=d.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null},u.prototype.finishedReconstruction=function(){this.reconPack=null,this.buffers=[]}},function(t,e,r){function n(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function o(){var t=arguments,r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),!r)return t;var n="color: "+this.color;t=[t[0],n,"color: inherit"].concat(Array.prototype.slice.call(t,1));var o=0,i=0;return t[0].replace(/%[a-z%]/g,function(t){"%%"!==t&&(o++,"%c"===t&&(i=o))}),t.splice(i,0,n),t}function i(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function s(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}}function a(){var t;try{t=e.storage.debug}catch(t){}return t}function c(){try{return window.localStorage}catch(t){}}e=t.exports=r(9),e.log=i,e.formatArgs=o,e.save=s,e.load=a,e.useColors=n,e.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:c(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){return JSON.stringify(t)},e.enable(a())},function(t,e,r){function n(){return e.colors[h++%e.colors.length]}function o(t){function r(){}function o(){var t=o,r=+new Date,i=r-(u||r);t.diff=i,t.prev=u,t.curr=r,u=r,null==t.useColors&&(t.useColors=e.useColors()),null==t.color&&t.useColors&&(t.color=n());var s=Array.prototype.slice.call(arguments);s[0]=e.coerce(s[0]),"string"!=typeof s[0]&&(s=["%o"].concat(s));var a=0;s[0]=s[0].replace(/%([a-z%])/g,function(r,n){if("%%"===r)return r;a++;var o=e.formatters[n];if("function"==typeof o){var i=s[a];r=o.call(t,i),s.splice(a,1),a--}return r}),"function"==typeof e.formatArgs&&(s=e.formatArgs.apply(t,s));var c=o.log||e.log||console.log.bind(console);c.apply(t,s)}r.enabled=!1,o.enabled=!0;var i=e.enabled(t)?o:r;return i.namespace=t,i}function i(t){e.save(t);for(var r=(t||"").split(/[\s,]+/),n=r.length,o=0;o1e4)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*h;case"days":case"day":case"d":return r*u;case"hours":case"hour":case"hrs":case"hr":case"h":return r*c;case"minutes":case"minute":case"mins":case"min":case"m":return r*a;case"seconds":case"second":case"secs":case"sec":case"s":return r*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r}}}}function n(t){return t>=u?Math.round(t/u)+"d":t>=c?Math.round(t/c)+"h":t>=a?Math.round(t/a)+"m":t>=s?Math.round(t/s)+"s":t+"ms"}function o(t){return i(t,u,"day")||i(t,c,"hour")||i(t,a,"minute")||i(t,s,"second")||t+" ms"}function i(t,e,r){if(!(t1)))/4)-T((t-1901+e)/100)+T((t-1601+e)/400)};if((d=m.hasOwnProperty)||(d=function(t){var e,r={};return(r.__proto__=null,r.__proto__={toString:1},r).toString!=v?d=function(t){var e=this.__proto__,r=t in(this.__proto__=null,this);return this.__proto__=e,r}:(e=r.constructor,d=function(t){var r=(this.constructor||e).prototype;return t in this&&!(t in r&&this[t]===r[t])}),r=null,d.call(this,t)}),y=function(t,e){var r,n,o,i=0;(r=function(){this.valueOf=0}).prototype.valueOf=0,n=new r;for(o in n)d.call(n,o)&&i++;return r=n=null,i?y=2==i?function(t,e){var r,n={},o=v.call(t)==w;for(r in t)o&&"prototype"==r||d.call(n,r)||!(n[r]=1)||!d.call(t,r)||e(r)}:function(t,e){var r,n,o=v.call(t)==w;for(r in t)o&&"prototype"==r||!d.call(t,r)||(n="constructor"===r)||e(r);(n||d.call(t,r="constructor"))&&e(r)}:(n=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],y=function(t,e){var r,o,i=v.call(t)==w,a=!i&&"function"!=typeof t.constructor&&s[typeof t.hasOwnProperty]&&t.hasOwnProperty||d;for(r in t)i&&"prototype"==r||!a.call(t,r)||e(r);for(o=n.length;r=n[--o];a.call(t,r)&&e(r));}),y(t,e)},!r("json-stringify")){var N={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},j="000000",O=function(t,e){return(j+(e||0)).slice(-t)},P="\\u00",R=function(t){for(var e='"',r=0,n=t.length,o=!S||n>10,i=o&&(S?t.split(""):t);r-1/0&&a<1/0){if(_){for(f=T(a/864e5),u=T(f/365.2425)+1970-1;_(u+1,0)<=f;u++);for(h=T((f-_(u,0))/30.42);_(u,h+1)<=f;h++);f=1+f-_(u,h),l=(a%864e5+864e5)%864e5,m=T(l/36e5)%24,b=T(l/6e4)%60,w=T(l/1e3)%60,S=l%1e3}else u=a.getUTCFullYear(),h=a.getUTCMonth(),f=a.getUTCDate(),m=a.getUTCHours(),b=a.getUTCMinutes(),w=a.getUTCSeconds(),S=a.getUTCMilliseconds();a=(u<=0||u>=1e4?(u<0?"-":"+")+O(6,u<0?-u:u):O(4,u))+"-"+O(2,h+1)+"-"+O(2,f)+"T"+O(2,m)+":"+O(2,b)+":"+O(2,w)+"."+O(3,S)+"Z"}else a=null;if(r&&(a=r.call(e,t,a)),null===a)return"null";if(c=v.call(a),c==B)return""+a;if(c==x)return a>-1/0&&a<1/0?""+a:"null";if(c==A)return R(""+a);if("object"==typeof a){for(P=s.length;P--;)if(s[P]===a)throw p();if(s.push(a),E=[],q=i,i+=o,c==C){for(j=0,P=a.length;j0)for(n="",r>10&&(r=10);n.length=48&&o<=57||o>=97&&o<=102||o>=65&&o<=70||I();t+=M("0x"+i.slice(e,q));break;default:I()}else{if(34==o)break;for(o=i.charCodeAt(q),e=q;o>=32&&92!=o&&34!=o;)o=i.charCodeAt(++q);t+=i.slice(e,q)}if(34==i.charCodeAt(q))return q++,t;I();default:if(e=q,45==o&&(n=!0,o=i.charCodeAt(++q)),o>=48&&o<=57){for(48==o&&(o=i.charCodeAt(q+1),o>=48&&o<=57)&&I(),n=!1;q=48&&o<=57);q++);if(46==i.charCodeAt(q)){for(r=++q;r=48&&o<=57);r++);r==q&&I(),q=r}if(o=i.charCodeAt(q),101==o||69==o){for(o=i.charCodeAt(++q),43!=o&&45!=o||q++,r=q;r=48&&o<=57);r++);r==q&&I(),q=r}return+i.slice(e,q)}if(n&&I(),"true"==i.slice(q,q+4))return q+=4,!0;if("false"==i.slice(q,q+5))return q+=5,!1;if("null"==i.slice(q,q+4))return q+=4,null;I()}return"$"},z=function(t){var e,r;if("$"==t&&I(),"string"==typeof t){if("@"==(S?t.charAt(0):t[0]))return t.slice(1);if("["==t){for(e=[];t=H(),"]"!=t;r||(r=!0))r&&(","==t?(t=H(),"]"==t&&I()):I()),","==t&&I(),e.push(z(t));return e}if("{"==t){for(e={};t=H(),"}"!=t;r||(r=!0))r&&(","==t?(t=H(),"}"==t&&I()):I()),","!=t&&"string"==typeof t&&"@"==(S?t.charAt(0):t[0])&&":"==H()||I(),e[t.slice(1)]=z(H());return e}I()}return t},J=function(t,e,r){var n=X(t,e,r);n===g?delete t[e]:t[e]=n},X=function(t,e,r){var n,o=t[e];if("object"==typeof o&&o)if(v.call(o)==C)for(n=o.length;n--;)J(o,n,r);else y(o,function(t){J(o,t,r)});return r.call(t,e,o)};e.parse=function(t,e){var r,n;return q=0,U=""+t,r=z(H()),"$"!=H()&&I(),q=U=null,e&&v.call(e)==w?X((n={},n[""]=r,n),"",e):r}}}return e.runInContext=o,e}var i="function"==typeof n&&n.amd,s={function:!0,object:!0},a=s[typeof e]&&e&&!e.nodeType&&e,c=s[typeof window]&&window||this,u=a&&s[typeof t]&&t&&!t.nodeType&&"object"==typeof r&&r;if(!u||u.global!==u&&u.window!==u&&u.self!==u||(c=u),a&&!i)o(c,a);else{var h=c.JSON,p=c.JSON3,f=!1,l=o(c,c.JSON3={noConflict:function(){return f||(f=!0,c.JSON=h,c.JSON3=p,h=p=null),l}});c.JSON={parse:l.parse,stringify:l.stringify}}i&&n(function(){return l})}).call(this)}).call(e,r(12)(t),function(){return this}())},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){function r(t){if(t)return n(t)}function n(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}t.exports=r,r.prototype.on=r.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[t]=this._callbacks[t]||[]).push(e),this},r.prototype.once=function(t,e){function r(){n.off(t,r),e.apply(this,arguments)}var n=this;return this._callbacks=this._callbacks||{},r.fn=e,this.on(t,r),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var r=this._callbacks[t];if(!r)return this;if(1==arguments.length)return delete this._callbacks[t],this;for(var n,o=0;o0&&!this.encoding){var t=this.packetBuffer.shift();this.packet(t)}},n.prototype.cleanup=function(){p("cleanup");for(var t=this.subs.length,e=0;e=this._reconnectionAttempts)p("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var e=this.backoff.duration();p("will wait %dms before reconnect attempt",e),this.reconnecting=!0;var r=setTimeout(function(){t.skipReconnect||(p("attempting reconnect"),t.emitAll("reconnect_attempt",t.backoff.attempts),t.emitAll("reconnecting",t.backoff.attempts),t.skipReconnect||t.open(function(e){e?(p("reconnect attempt error"),t.reconnecting=!1,t.reconnect(),t.emitAll("reconnect_error",e.data)):(p("reconnect success"),t.onreconnect())}))},e);this.subs.push({destroy:function(){clearTimeout(r)}})}},n.prototype.onreconnect=function(){var t=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",t)}},function(t,e,r){t.exports=r(19)},function(t,e,r){t.exports=r(20),t.exports.parser=r(27)},function(t,e,r){(function(e){function n(t,r){if(!(this instanceof n))return new n(t,r);r=r||{},t&&"object"==typeof t&&(r=t,t=null),t?(t=h(t),r.hostname=t.host,r.secure="https"===t.protocol||"wss"===t.protocol,r.port=t.port,t.query&&(r.query=t.query)):r.host&&(r.hostname=h(r.host).host), +this.secure=null!=r.secure?r.secure:e.location&&"https:"===location.protocol,r.hostname&&!r.port&&(r.port=this.secure?"443":"80"),this.agent=r.agent||!1,this.hostname=r.hostname||(e.location?location.hostname:"localhost"),this.port=r.port||(e.location&&location.port?location.port:this.secure?443:80),this.query=r.query||{},"string"==typeof this.query&&(this.query=f.decode(this.query)),this.upgrade=!1!==r.upgrade,this.path=(r.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!r.forceJSONP,this.jsonp=!1!==r.jsonp,this.forceBase64=!!r.forceBase64,this.enablesXDR=!!r.enablesXDR,this.timestampParam=r.timestampParam||"t",this.timestampRequests=r.timestampRequests,this.transports=r.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.policyPort=r.policyPort||843,this.rememberUpgrade=r.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=r.onlyBinaryUpgrades,this.perMessageDeflate=!1!==r.perMessageDeflate&&(r.perMessageDeflate||{}),!0===this.perMessageDeflate&&(this.perMessageDeflate={}),this.perMessageDeflate&&null==this.perMessageDeflate.threshold&&(this.perMessageDeflate.threshold=1024),this.pfx=r.pfx||null,this.key=r.key||null,this.passphrase=r.passphrase||null,this.cert=r.cert||null,this.ca=r.ca||null,this.ciphers=r.ciphers||null,this.rejectUnauthorized=void 0===r.rejectUnauthorized?null:r.rejectUnauthorized,this.forceNode=!!r.forceNode;var o="object"==typeof e&&e;o.global===o&&(r.extraHeaders&&Object.keys(r.extraHeaders).length>0&&(this.extraHeaders=r.extraHeaders),r.localAddress&&(this.localAddress=r.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}function o(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}var i=r(21),s=r(35),a=r(3)("engine.io-client:socket"),c=r(42),u=r(27),h=r(2),p=r(43),f=r(36);t.exports=n,n.priorWebsocketSuccess=!1,s(n.prototype),n.protocol=u.protocol,n.Socket=n,n.Transport=r(26),n.transports=r(21),n.parser=r(27),n.prototype.createTransport=function(t){a('creating transport "%s"',t);var e=o(this.query);e.EIO=u.protocol,e.transport=t,this.id&&(e.sid=this.id);var r=new i[t]({agent:this.agent,hostname:this.hostname,port:this.port,secure:this.secure,path:this.path,query:e,forceJSONP:this.forceJSONP,jsonp:this.jsonp,forceBase64:this.forceBase64,enablesXDR:this.enablesXDR,timestampRequests:this.timestampRequests,timestampParam:this.timestampParam,policyPort:this.policyPort,socket:this,pfx:this.pfx,key:this.key,passphrase:this.passphrase,cert:this.cert,ca:this.ca,ciphers:this.ciphers,rejectUnauthorized:this.rejectUnauthorized,perMessageDeflate:this.perMessageDeflate,extraHeaders:this.extraHeaders,forceNode:this.forceNode,localAddress:this.localAddress});return r},n.prototype.open=function(){var t;if(this.rememberUpgrade&&n.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else{if(0===this.transports.length){var e=this;return void setTimeout(function(){e.emit("error","No transports available")},0)}t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)},n.prototype.setTransport=function(t){a("setting transport %s",t.name);var e=this;this.transport&&(a("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=t,t.on("drain",function(){e.onDrain()}).on("packet",function(t){e.onPacket(t)}).on("error",function(t){e.onError(t)}).on("close",function(){e.onClose("transport close")})},n.prototype.probe=function(t){function e(){if(f.onlyBinaryUpgrades){var e=!this.supportsBinary&&f.transport.supportsBinary;p=p||e}p||(a('probe transport "%s" opened',t),h.send([{type:"ping",data:"probe"}]),h.once("packet",function(e){if(!p)if("pong"===e.type&&"probe"===e.data){if(a('probe transport "%s" pong',t),f.upgrading=!0,f.emit("upgrading",h),!h)return;n.priorWebsocketSuccess="websocket"===h.name,a('pausing current transport "%s"',f.transport.name),f.transport.pause(function(){p||"closed"!==f.readyState&&(a("changing transport and sending upgrade packet"),u(),f.setTransport(h),h.send([{type:"upgrade"}]),f.emit("upgrade",h),h=null,f.upgrading=!1,f.flush())})}else{a('probe transport "%s" failed',t);var r=new Error("probe error");r.transport=h.name,f.emit("upgradeError",r)}}))}function r(){p||(p=!0,u(),h.close(),h=null)}function o(e){var n=new Error("probe error: "+e);n.transport=h.name,r(),a('probe transport "%s" failed because of error: %s',t,e),f.emit("upgradeError",n)}function i(){o("transport closed")}function s(){o("socket closed")}function c(t){h&&t.name!==h.name&&(a('"%s" works - aborting "%s"',t.name,h.name),r())}function u(){h.removeListener("open",e),h.removeListener("error",o),h.removeListener("close",i),f.removeListener("close",s),f.removeListener("upgrading",c)}a('probing transport "%s"',t);var h=this.createTransport(t,{probe:1}),p=!1,f=this;n.priorWebsocketSuccess=!1,h.once("open",e),h.once("error",o),h.once("close",i),this.once("close",s),this.once("upgrading",c),h.open()},n.prototype.onOpen=function(){if(a("socket open"),this.readyState="open",n.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){a("starting upgrade probes");for(var t=0,e=this.upgrades.length;t1?{type:b[o],data:t.substring(1)}:{type:b[o]}:w}var i=new Uint8Array(t),o=i[0],s=f(t,1);return k&&"blob"===r&&(s=new k([s])),{type:b[o],data:s}},e.decodeBase64Packet=function(t,e){var r=b[t.charAt(0)];if(!u)return{type:r,data:{base64:!0,data:t.substr(1)}};var n=u.decode(t.substr(1));return"blob"===e&&k&&(n=new k([n])),{type:r,data:n}},e.encodePayload=function(t,r,n){function o(t){return t.length+":"+t}function i(t,n){e.encodePacket(t,!!s&&r,!0,function(t){n(null,o(t))})}"function"==typeof r&&(n=r,r=null);var s=p(t);return r&&s?k&&!m?e.encodePayloadAsBlob(t,n):e.encodePayloadAsArrayBuffer(t,n):t.length?void c(t,i,function(t,e){return n(e.join(""))}):n("0:")},e.decodePayload=function(t,r,n){if("string"!=typeof t)return e.decodePayloadAsBinary(t,r,n);"function"==typeof r&&(n=r,r=null);var o;if(""==t)return n(w,0,1);for(var i,s,a="",c=0,u=t.length;c0;){for(var a=new Uint8Array(o),c=0===a[0],u="",h=1;255!=a[h];h++){if(u.length>310){s=!0;break}u+=a[h]}if(s)return n(w,0,1);o=f(o,2+u.length),u=parseInt(u);var p=f(o,0,u);if(c)try{p=String.fromCharCode.apply(null,new Uint8Array(p))}catch(t){var l=new Uint8Array(p);p="";for(var h=0;hn&&(r=n),e>=n||e>=r||0===n)return new ArrayBuffer(0);for(var o=new Uint8Array(t),i=new Uint8Array(r-e),s=e,a=0;s=55296&&e<=56319&&o65535&&(e-=65536,o+=b(e>>>10&1023|55296),e=56320|1023&e),o+=b(e);return o}function c(t,e){return b(t>>e&63|128)}function u(t){if(0==(4294967168&t))return b(t);var e="";return 0==(4294965248&t)?e=b(t>>6&31|192):0==(4294901760&t)?(e=b(t>>12&15|224),e+=c(t,6)):0==(4292870144&t)&&(e=b(t>>18&7|240),e+=c(t,12),e+=c(t,6)),e+=b(63&t|128)}function h(t){for(var e,r=s(t),n=r.length,o=-1,i="";++o=m)throw Error("Invalid byte index");var t=255&g[v];if(v++,128==(192&t))return 63&t;throw Error("Invalid continuation byte")}function f(){var t,e,r,n,o;if(v>m)throw Error("Invalid byte index");if(v==m)return!1;if(t=255&g[v],v++,0==(128&t))return t;if(192==(224&t)){var e=p();if(o=(31&t)<<6|e,o>=128)return o;throw Error("Invalid continuation byte")}if(224==(240&t)){if(e=p(),r=p(),o=(15&t)<<12|e<<6|r,o>=2048)return o;throw Error("Invalid continuation byte")}if(240==(248&t)&&(e=p(),r=p(),n=p(),o=(15&t)<<18|e<<12|r<<6|n,o>=65536&&o<=1114111))return o;throw Error("Invalid WTF-8 detected")}function l(t){g=s(t),m=g.length,v=0;for(var e,r=[];(e=f())!==!1;)r.push(e);return a(r)}var d="object"==typeof e&&e,y=("object"==typeof t&&t&&t.exports==d&&t,"object"==typeof o&&o);y.global!==y&&y.window!==y||(i=y);var g,m,v,b=String.fromCharCode,w={version:"1.0.0",encode:h,decode:l};n=function(){return w}.call(e,r,e,t),!(void 0!==n&&(t.exports=n))}(this)}).call(e,r(12)(t),function(){return this}())},function(t,e){!function(){"use strict";for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=new Uint8Array(256),n=0;n>2],i+=t[(3&n[r])<<4|n[r+1]>>4],i+=t[(15&n[r+1])<<2|n[r+2]>>6],i+=t[63&n[r+2]];return o%3===2?i=i.substring(0,i.length-1)+"=":o%3===1&&(i=i.substring(0,i.length-2)+"=="),i},e.decode=function(t){var e,n,o,i,s,a=.75*t.length,c=t.length,u=0;"="===t[t.length-1]&&(a--,"="===t[t.length-2]&&a--);var h=new ArrayBuffer(a),p=new Uint8Array(h);for(e=0;e>4,p[u++]=(15&o)<<4|i>>2,p[u++]=(3&i)<<6|63&s;return h}}()},function(t,e){(function(e){function r(t){for(var e=0;e0);return e}function n(t){var e=0;for(h=0;h';i=document.createElement(t)}catch(t){i=document.createElement("iframe"),i.name=o.iframeId,i.src="javascript:0"}i.id=o.iframeId,o.form.appendChild(i),o.iframe=i}var o=this;if(!this.form){var i,s=document.createElement("form"),a=document.createElement("textarea"),h=this.iframeId="eio_iframe_"+this.index;s.className="socketio",s.style.position="absolute",s.style.top="-1000px",s.style.left="-1000px",s.target=h,s.method="POST",s.setAttribute("accept-charset","utf-8"),a.name="d",s.appendChild(a),document.body.appendChild(s),this.form=s,this.area=a}this.form.action=this.uri(),n(),t=t.replace(u,"\\\n"),this.area.value=t.replace(c,"\\n");try{this.form.submit()}catch(t){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"===o.iframe.readyState&&r(); +}:this.iframe.onload=r}}).call(e,function(){return this}())},function(t,e,r){(function(e){function n(t){var e=t&&t.forceBase64;e&&(this.supportsBinary=!1),this.perMessageDeflate=t.perMessageDeflate,this.usingBrowserWebSocket=p&&!t.forceNode,this.usingBrowserWebSocket||(f=o),i.call(this,t)}var o,i=r(26),s=r(27),a=r(36),c=r(37),u=r(38),h=r(3)("engine.io-client:websocket"),p=e.WebSocket||e.MozWebSocket;if("undefined"==typeof window)try{o=r(41)}catch(t){}var f=p;f||"undefined"!=typeof window||(f=o),t.exports=n,c(n,i),n.prototype.name="websocket",n.prototype.supportsBinary=!0,n.prototype.doOpen=function(){if(this.check()){var t=this.uri(),e=void 0,r={agent:this.agent,perMessageDeflate:this.perMessageDeflate};r.pfx=this.pfx,r.key=this.key,r.passphrase=this.passphrase,r.cert=this.cert,r.ca=this.ca,r.ciphers=this.ciphers,r.rejectUnauthorized=this.rejectUnauthorized,this.extraHeaders&&(r.headers=this.extraHeaders),this.localAddress&&(r.localAddress=this.localAddress);try{this.ws=this.usingBrowserWebSocket?new f(t):new f(t,e,r)}catch(t){return this.emit("error",t)}void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.supports&&this.ws.supports.binary?(this.supportsBinary=!0,this.ws.binaryType="nodebuffer"):this.ws.binaryType="arraybuffer",this.addEventListeners()}},n.prototype.addEventListeners=function(){var t=this;this.ws.onopen=function(){t.onOpen()},this.ws.onclose=function(){t.onClose()},this.ws.onmessage=function(e){t.onData(e.data)},this.ws.onerror=function(e){t.onError("websocket error",e)}},n.prototype.write=function(t){function r(){n.emit("flush"),setTimeout(function(){n.writable=!0,n.emit("drain")},0)}var n=this;this.writable=!1;for(var o=t.length,i=0,a=o;i0&&t.jitter<=1?t.jitter:0,this.attempts=0}t.exports=r,r.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),r=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-r:t+r}return 0|Math.min(t,this.max)},r.prototype.reset=function(){this.attempts=0},r.prototype.setMin=function(t){this.ms=t},r.prototype.setMax=function(t){this.max=t},r.prototype.setJitter=function(t){this.jitter=t}}])}); \ No newline at end of file diff --git a/public/vue.min.js b/public/vue.min.js new file mode 100644 index 0000000..8316aa7 --- /dev/null +++ b/public/vue.min.js @@ -0,0 +1,8 @@ +/*! + * Vue.js v2.2.4 + * (c) 2014-2017 Evan You + * Released under the MIT License. + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Vue=t()}(this,function(){"use strict";function e(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function t(e){var t=parseFloat(e);return isNaN(t)?e:t}function n(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}function i(e,t){return Si.call(e,t)}function o(e){return"string"==typeof e||"number"==typeof e}function a(e){var t=Object.create(null);return function(n){var r=t[n];return r||(t[n]=e(n))}}function s(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function c(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function u(e,t){for(var n in t)e[n]=t[n];return e}function l(e){return null!==e&&"object"==typeof e}function f(e){return Li.call(e)===Di}function p(e){for(var t={},n=0;n1?c(n):n;for(var r=c(arguments,1),i=0,o=n.length;i=0&&yo[n].id>e.id;)n--;yo.splice(Math.max(n,wo)+1,0,e)}else yo.push(e);bo||(bo=!0,Xi(me))}}function ye(e){ko.clear(),_e(e,ko)}function _e(e,t){var n,r,i=Array.isArray(e);if((i||l(e))&&Object.isExtensible(e)){if(e.__ob__){var o=e.__ob__.dep.id;if(t.has(o))return;t.add(o)}if(i)for(n=e.length;n--;)_e(e[n],t);else for(r=Object.keys(e),n=r.length;n--;)_e(e[r[n]],t)}}function be(e,t,n){Ao.get=function(){return this[t][n]},Ao.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Ao)}function $e(e){e._watchers=[];var t=e.$options;t.props&&we(e,t.props),t.methods&&Oe(e,t.methods),t.data?xe(e):A(e._data={},!0),t.computed&&Ce(e,t.computed),t.watch&&Se(e,t.watch)}function we(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],o=!e.$parent;so.shouldConvert=o;var a=function(o){i.push(o);var a=R(o,t,n,e);O(r,o,a),o in e||be(e,"_props",o)};for(var s in t)a(s);so.shouldConvert=!0}function xe(e){var t=e.$options.data;t=e._data="function"==typeof t?t.call(e):t||{},f(t)||(t={});for(var n=Object.keys(t),r=e.$options.props,o=n.length;o--;)r&&i(r,n[o])||y(n[o])||be(e,"_data",n[o]);A(t,!0)}function Ce(e,t){var n=e._computedWatchers=Object.create(null);for(var r in t){var i=t[r],o="function"==typeof i?i:i.get;n[r]=new Co(e,o,d,Oo),r in e||ke(e,r,i)}}function ke(e,t,n){"function"==typeof n?(Ao.get=Ae(t),Ao.set=d):(Ao.get=n.get?n.cache!==!1?Ae(t):n.get:d,Ao.set=n.set?n.set:d),Object.defineProperty(e,t,Ao)}function Ae(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),no.target&&t.depend(),t.value}}function Oe(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?d:s(t[n],e)}function Se(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i-1:e instanceof RegExp&&e.test(t)}function mt(e,t){for(var n in e){var r=e[n];if(r){var i=vt(r.componentOptions);i&&!t(i)&&(gt(r),e[n]=null)}}}function gt(e){e&&(e.componentInstance._inactive||ve(e.componentInstance,"deactivated"),e.componentInstance.$destroy())}function yt(e){var t={};t.get=function(){return Ri},Object.defineProperty(e,"config",t),e.util={warn:eo,extend:u,mergeOptions:M,defineReactive:O},e.set=S,e.delete=T,e.nextTick=Xi,e.options=Object.create(null),Ri._assetTypes.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,u(e.options.components,Do),ct(e),ut(e),lt(e),dt(e)}function _t(e){for(var t=e.data,n=e,r=e;r.componentInstance;)r=r.componentInstance._vnode,r.data&&(t=bt(r.data,t));for(;n=n.parent;)n.data&&(t=bt(t,n.data));return $t(t)}function bt(e,t){return{staticClass:wt(e.staticClass,t.staticClass),class:e.class?[e.class,t.class]:t.class}}function $t(e){var t=e.class,n=e.staticClass;return n||t?wt(n,xt(t)):""}function wt(e,t){return e?t?e+" "+t:e:t||""}function xt(e){var t="";if(!e)return t;if("string"==typeof e)return e;if(Array.isArray(e)){for(var n,r=0,i=e.length;r-1?ia[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:ia[e]=/HTMLUnknownElement/.test(t.toString())}function At(e){if("string"==typeof e){var t=document.querySelector(e);return t?t:document.createElement("div")}return e}function Ot(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function St(e,t){return document.createElementNS(Xo[e],t)}function Tt(e){return document.createTextNode(e)}function Et(e){return document.createComment(e)}function jt(e,t,n){e.insertBefore(t,n)}function Nt(e,t){e.removeChild(t)}function It(e,t){e.appendChild(t)}function Lt(e){return e.parentNode}function Dt(e){return e.nextSibling}function Mt(e){return e.tagName}function Pt(e,t){e.textContent=t}function Rt(e,t,n){e.setAttribute(t,n)}function Ft(e,t){var n=e.data.ref;if(n){var i=e.context,o=e.componentInstance||e.elm,a=i.$refs;t?Array.isArray(a[n])?r(a[n],o):a[n]===o&&(a[n]=void 0):e.data.refInFor?Array.isArray(a[n])&&a[n].indexOf(o)<0?a[n].push(o):a[n]=[o]:a[n]=o}}function Ht(e){return null==e}function Ut(e){return null!=e}function Bt(e,t){return e.key===t.key&&e.tag===t.tag&&e.isComment===t.isComment&&!e.data==!t.data}function Vt(e,t,n){var r,i,o={};for(r=t;r<=n;++r)i=e[r].key,Ut(i)&&(o[i]=r);return o}function zt(e){function t(e){return new fo(O.tagName(e).toLowerCase(),{},[],void 0,e)}function r(e,t){function n(){0===--n.listeners&&i(e)}return n.listeners=t,n}function i(e){var t=O.parentNode(e);t&&O.removeChild(t,e)}function a(e,t,n,r,i){if(e.isRootInsert=!i,!s(e,t,n,r)){var o=e.data,a=e.children,c=e.tag;Ut(c)?(e.elm=e.ns?O.createElementNS(e.ns,c):O.createElement(c,e),v(e),f(e,a,t),Ut(o)&&d(e,t),l(n,e.elm,r)):e.isComment?(e.elm=O.createComment(e.text),l(n,e.elm,r)):(e.elm=O.createTextNode(e.text),l(n,e.elm,r))}}function s(e,t,n,r){var i=e.data;if(Ut(i)){var o=Ut(e.componentInstance)&&i.keepAlive;if(Ut(i=i.hook)&&Ut(i=i.init)&&i(e,!1,n,r),Ut(e.componentInstance))return c(e,t),o&&u(e,t,n,r),!0}}function c(e,t){e.data.pendingInsert&&t.push.apply(t,e.data.pendingInsert),e.elm=e.componentInstance.$el,p(e)?(d(e,t),v(e)):(Ft(e),t.push(e))}function u(e,t,n,r){for(var i,o=e;o.componentInstance;)if(o=o.componentInstance._vnode,Ut(i=o.data)&&Ut(i=i.transition)){for(i=0;ip?(u=Ht(n[m+1])?null:n[m+1].elm,h(e,u,n,f,m,r)):f>m&&g(e,t,l,p)}function b(e,t,n,r){if(e!==t){if(t.isStatic&&e.isStatic&&t.key===e.key&&(t.isCloned||t.isOnce))return t.elm=e.elm,void(t.componentInstance=e.componentInstance);var i,o=t.data,a=Ut(o);a&&Ut(i=o.hook)&&Ut(i=i.prepatch)&&i(e,t);var s=t.elm=e.elm,c=e.children,u=t.children;if(a&&p(t)){for(i=0;i=0&&(m=e.charAt(h)," "===m);h--);m&&va.test(m)||(l=!0)}}else void 0===o?(v=i+1,o=e.slice(0,i).trim()):t();if(void 0===o?o=e.slice(0,i).trim():0!==v&&t(),a)for(i=0;i=Mo}function hn(e){return 34===e||39===e}function mn(e){var t=1;for(Ho=Fo;!vn();)if(e=dn(),hn(e))gn(e);else if(91===e&&t++,93===e&&t--,0===t){Uo=Fo;break}}function gn(e){for(var t=e;!vn()&&(e=dn(),e!==t););}function yn(e,t,n){Bo=n;var r=t.value,i=t.modifiers,o=e.tag,a=e.attrsMap.type;if("select"===o)$n(e,r,i);else if("input"===o&&"checkbox"===a)_n(e,r,i);else if("input"===o&&"radio"===a)bn(e,r,i);else if("input"===o||"textarea"===o)wn(e,r,i);else if(!Ri.isReservedTag(o))return ln(e,r,i),!1;return!0}function _n(e,t,n){var r=n&&n.number,i=cn(e,"value")||"null",o=cn(e,"true-value")||"true",a=cn(e,"false-value")||"false";rn(e,"checked","Array.isArray("+t+")?_i("+t+","+i+")>-1"+("true"===o?":("+t+")":":_q("+t+","+o+")")),sn(e,ma,"var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$c){$$i<0&&("+t+"=$$a.concat($$v))}else{$$i>-1&&("+t+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+t+"=$$c}",null,!0)}function bn(e,t,n){var r=n&&n.number,i=cn(e,"value")||"null";i=r?"_n("+i+")":i,rn(e,"checked","_q("+t+","+i+")"),sn(e,ma,fn(t,i),null,!0)}function $n(e,t,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",o="$event.target.multiple ? $$selectedVal : $$selectedVal[0]",a="var $$selectedVal = "+i+";";a=a+" "+fn(t,o),sn(e,"change",a,null,!0)}function wn(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,u=o?"change":"range"===r?ha:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=fn(t,l);c&&(f="if($event.target.composing)return;"+f),rn(e,"value","("+t+")"),sn(e,u,f,null,!0),(s||a||"number"===r)&&sn(e,"blur","$forceUpdate()")}function xn(e){var t;e[ha]&&(t=zi?"change":"input",e[t]=[].concat(e[ha],e[t]||[]),delete e[ha]),e[ma]&&(t=Zi?"click":"change",e[t]=[].concat(e[ma],e[t]||[]),delete e[ma])}function Cn(e,t,n,r){if(n){var i=t,o=Vo;t=function(n){var a=1===arguments.length?i(n):i.apply(null,arguments);null!==a&&kn(e,t,r,o)}}Vo.addEventListener(e,t,r)}function kn(e,t,n,r){(r||Vo).removeEventListener(e,t,n)}function An(e,t){if(e.data.on||t.data.on){var n=t.data.on||{},r=e.data.on||{};Vo=t.elm,xn(n),q(n,r,Cn,kn,t.context)}}function On(e,t){if(e.data.domProps||t.data.domProps){var n,r,i=t.elm,o=e.data.domProps||{},a=t.data.domProps||{};a.__ob__&&(a=t.data.domProps=u({},a));for(n in o)null==a[n]&&(i[n]="");for(n in a)if(r=a[n],"textContent"!==n&&"innerHTML"!==n||(t.children&&(t.children.length=0),r!==o[n]))if("value"===n){i._value=r;var s=null==r?"":String(r);Sn(i,t,s)&&(i.value=s)}else i[n]=r}}function Sn(e,t,n){return!e.composing&&("option"===t.tag||Tn(e,n)||En(e,n))}function Tn(e,t){return document.activeElement!==e&&e.value!==t}function En(e,n){var r=e.value,i=e._vModifiers;return i&&i.number||"number"===e.type?t(r)!==t(n):i&&i.trim?r.trim()!==n.trim():r!==n}function jn(e){var t=Nn(e.style);return e.staticStyle?u(e.staticStyle,t):t}function Nn(e){return Array.isArray(e)?p(e):"string"==typeof e?_a(e):e}function In(e,t){var n,r={};if(t)for(var i=e;i.componentInstance;)i=i.componentInstance._vnode,i.data&&(n=jn(i.data))&&u(r,n);(n=jn(e.data))&&u(r,n);for(var o=e;o=o.parent;)o.data&&(n=jn(o.data))&&u(r,n);return r}function Ln(e,t){var n=t.data,r=e.data;if(n.staticStyle||n.style||r.staticStyle||r.style){var i,o,a=t.elm,s=e.data.staticStyle,c=e.data.style||{},l=s||c,f=Nn(t.data.style)||{};t.data.style=f.__ob__?u({},f):f;var p=In(t,!0);for(o in l)null==p[o]&&wa(a,o,"");for(o in p)i=p[o],i!==l[o]&&wa(a,o,null==i?"":i)}}function Dn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function Mn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t);else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");e.setAttribute("class",n.trim())}}function Pn(e){if(e){if("object"==typeof e){var t={};return e.css!==!1&&u(t,Aa(e.name||"v")),u(t,e),t}return"string"==typeof e?Aa(e):void 0}}function Rn(e){La(function(){La(e)})}function Fn(e,t){(e._transitionClasses||(e._transitionClasses=[])).push(t),Dn(e,t)}function Hn(e,t){e._transitionClasses&&r(e._transitionClasses,t),Mn(e,t)}function Un(e,t,n){var r=Bn(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===Sa?ja:Ia,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout(function(){c0&&(n=Sa,l=a,f=o.length):t===Ta?u>0&&(n=Ta,l=u,f=c.length):(l=Math.max(a,u),n=l>0?a>u?Sa:Ta:null,f=n?n===Sa?o.length:c.length:0);var p=n===Sa&&Da.test(r[Ea+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:p}}function Vn(e,t){for(;e.length1}function Zn(e,t){t.data.show||Jn(t)}function Gn(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=e.options.length;s-1,a.selected!==o&&(a.selected=o);else if(h(Qn(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function Yn(e,t){for(var n=0,r=t.length;n',n.innerHTML.indexOf(t)>0}function pr(e){return Wa=Wa||document.createElement("div"),Wa.innerHTML=e,Wa.textContent}function dr(e,t){var n=t?Ls:Is;return e.replace(n,function(e){return Ns[e]})}function vr(e,t){function n(t){f+=t,e=e.substring(t)}function r(){var t=e.match(os);if(t){var r={tagName:t[1],attrs:[],start:f};n(t[0].length);for(var i,o;!(i=e.match(as))&&(o=e.match(ns));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=f,r}}function i(e){var n=e.tagName,r=e.unarySlash;u&&("p"===s&&Qa(n)&&o(s),Ya(n)&&s===n&&o(n));for(var i=l(n)||"html"===n&&"head"===s||!!r,a=e.attrs.length,f=new Array(a),p=0;p=0&&c[i].lowerCasedTag!==o;i--);else i=0;if(i>=0){for(var a=c.length-1;a>=i;a--)t.end&&t.end(c[a].tag,n,r);c.length=i,s=i&&c[i-1].tag}else"br"===o?t.start&&t.start(e,[],!0,n,r):"p"===o&&(t.start&&t.start(e,[],!1,n,r),t.end&&t.end(e,n,r))}for(var a,s,c=[],u=t.expectHTML,l=t.isUnaryTag||Mi,f=0;e;){if(a=e,s&&Es(s)){var p=s.toLowerCase(),d=js[p]||(js[p]=new RegExp("([\\s\\S]*?)(]*>)","i")),v=0,h=e.replace(d,function(e,n,r){return v=r.length,Es(p)||"noscript"===p||(n=n.replace(//g,"$1").replace(//g,"$1")),t.chars&&t.chars(n),""});f+=e.length-h.length,e=h,o(p,f-v,f)}else{var m=e.indexOf("<");if(0===m){if(us.test(e)){var g=e.indexOf("-->");if(g>=0){n(g+3);continue}}if(ls.test(e)){var y=e.indexOf("]>");if(y>=0){n(y+2);continue}}var _=e.match(cs);if(_){n(_[0].length);continue}var b=e.match(ss);if(b){var $=f;n(b[0].length),o(b[1],$,f);continue}var w=r();if(w){i(w);continue}}var x=void 0,C=void 0,k=void 0;if(m>=0){for(C=e.slice(m);!(ss.test(C)||os.test(C)||us.test(C)||ls.test(C)||(k=C.indexOf("<",1),k<0));)m+=k,C=e.slice(m);x=e.substring(0,m),n(m)}m<0&&(x=e,e=""),t.chars&&x&&t.chars(x)}if(e===a){t.chars&&t.chars(e);break}}o()}function hr(e,t){var n=t?Ps(t):Ds;if(n.test(e)){for(var r,i,o=[],a=n.lastIndex=0;r=n.exec(e);){i=r.index,i>a&&o.push(JSON.stringify(e.slice(a,i)));var s=Xt(r[1].trim());o.push("_s("+s+")"),a=i+r[0].length}return a0,Ki=Vi&&Vi.indexOf("edge/")>0,qi=Vi&&Vi.indexOf("android")>0,Wi=Vi&&/iphone|ipad|ipod|ios/.test(Vi),Zi=Vi&&/chrome\/\d+/.test(Vi)&&!Ki,Gi=function(){return void 0===ki&&(ki=!Bi&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),ki},Yi=Bi&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Qi="undefined"!=typeof Symbol&&$(Symbol)&&"undefined"!=typeof Reflect&&$(Reflect.ownKeys),Xi=function(){function e(){r=!1;var e=n.slice(0);n.length=0;for(var t=0;t1&&(t[n[0].trim()]=n[1].trim())}}),t}),ba=/^--/,$a=/\s*!important$/,wa=function(e,t,n){ba.test(t)?e.style.setProperty(t,n):$a.test(n)?e.style.setProperty(t,n.replace($a,""),"important"):e.style[Ca(t)]=n},xa=["Webkit","Moz","ms"],Ca=a(function(e){if(zo=zo||document.createElement("div"),e=Ei(e),"filter"!==e&&e in zo.style)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=0;n\/=]+)/,es=/(?:=)/,ts=[/"([^"]*)"+/.source,/'([^']*)'+/.source,/([^\s"'=<>`]+)/.source],ns=new RegExp("^\\s*"+Xa.source+"(?:\\s*("+es.source+")\\s*(?:"+ts.join("|")+"))?"),rs="[a-zA-Z_][\\w\\-\\.]*",is="((?:"+rs+"\\:)?"+rs+")",os=new RegExp("^<"+is),as=/^\s*(\/?)>/,ss=new RegExp("^<\\/"+is+"[^>]*>"),cs=/^]+>/i,us=/^