diff --git a/hosted/timezone.php b/hosted/timezone.php index 33d184b..1e62312 100644 --- a/hosted/timezone.php +++ b/hosted/timezone.php @@ -1,3 +1,16 @@ \ No newline at end of file diff --git a/src/assets/version.h b/src/assets/version.h index 8e34c37..7591d38 100644 --- a/src/assets/version.h +++ b/src/assets/version.h @@ -4,10 +4,10 @@ const uint8_t VersionMajor = 2; const uint8_t VersionMinor = 0; const uint8_t VersionPatch = 0; -const uint8_t VersionMetadata = ; +const uint8_t VersionMetadata = 0; const char VersionBranch[] = "master"; const char VersionSemVer[] = "2.0.0"; -const char VersionFullSemVer[] = "2.0.0"; +const char VersionFullSemVer[] = "2.0.0+0"; const char VersionCommitDate[] = "2018-02-17"; #endif diff --git a/src/main.cpp b/src/main.cpp index 1278f67..104c1c0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -75,7 +75,7 @@ void setup() stairs = new Stairs(); stairs->init(pwmDriver); - + /* _dln("Setup :: starting initialization sequence"); stairs->set(0, 255); delay(300); @@ -89,6 +89,7 @@ void setup() } stairs->set(stepCount - 1, 0); + */ _dln("Setup :: initializing WiFi"); WiFi.persistent(false); @@ -118,13 +119,6 @@ void loop() ESP.restart(); } - if (motionTriggerSettingsChanged) - { - initMotionPins(); - motionTriggerSettingsChanged = false; - } - - currentTime = millis(); updateDebugStatus(); diff --git a/src/main.triggers.h b/src/main.triggers.h index a76b5c7..432846e 100644 --- a/src/main.triggers.h +++ b/src/main.triggers.h @@ -302,6 +302,13 @@ bool lastMotion = false; void updateMotionTrigger() { + if (motionTriggerSettingsChanged) + { + initMotionPins(); + activeMotionStart = 0; + } + + if (!motionTriggerSettings->enabled() || !motionTriggerSettings->triggerCount()) { activeMotionStart = 0; @@ -355,6 +362,12 @@ void checkTriggers() bool motionChanged = (activeMotionStart > 0) != lastMotion; lastMotion = (activeMotionStart > 0); + if (motionTriggerSettingsChanged) + { + motionChanged = true; + motionTriggerSettingsChanged = false; + } + if (!motionChanged && !timeTriggerChanged) return; diff --git a/web/app.js b/web/app.js index 66353c8..04cd2e9 100644 --- a/web/app.js +++ b/web/app.js @@ -1,5 +1,36 @@ function startApp() { + // Source: https://github.com/axios/axios/issues/164 + axios.interceptors.response.use(undefined, function axiosRetryInterceptor(err) { + var config = err.config; + // If config does not exist or the retry option is not set, reject + if(!config || !config.retry) return Promise.reject(err); + + // Set the variable for keeping track of the retry count + config.__retryCount = config.__retryCount || 0; + + // Check if we've maxed out the total number of retries + if(config.__retryCount >= config.retry) { + // Reject with the error + return Promise.reject(err); + } + + // Increase the retry count + config.__retryCount += 1; + + // Create new promise to handle exponential backoff + var backoff = new Promise(function(resolve) { + setTimeout(function() { + resolve(); + }, config.retryDelay || 1); + }); + + // Return the promise in which recalls axios to retry the request + return backoff.then(function() { + return axios(config); + }); + }); + Vue.component('check', { template: '
{{ title }}
', props: { @@ -119,7 +150,7 @@ function startApp() }); var i18n = new VueI18n({ - locale: navigator.language, + locale: navigator.language.split('-')[0], fallbackLocale: 'en', messages: messages }); @@ -338,7 +369,7 @@ function startApp() loadStatus: function() { var self = this; - return axios.get('/api/status') + return axios.get('/api/status', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -350,7 +381,7 @@ function startApp() loadConnection: function() { var self = this; - return axios.get('/api/connection') + return axios.get('/api/connection', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -362,7 +393,7 @@ function startApp() loadSystem: function() { var self = this; - return axios.get('/api/system') + return axios.get('/api/system', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -374,7 +405,7 @@ function startApp() loadTimeTriggers: function() { var self = this; - return axios.get('/api/triggers/time') + return axios.get('/api/triggers/time', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -419,7 +450,7 @@ function startApp() loadMotionTriggers: function() { var self = this; - return axios.get('/api/triggers/motion') + return axios.get('/api/triggers/motion', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -431,7 +462,7 @@ function startApp() loadSteps: function() { var self = this; - return axios.get('/api/steps/values') + return axios.get('/api/steps/values', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (Array.isArray(response.data)) @@ -481,7 +512,7 @@ function startApp() ip: self.connection.ip, subnetmask: self.connection.subnetmask, gateway: self.connection.gateway, - }) + }, { retry: 10, retryDelay: 1000 }) .then(function(response) { }) @@ -499,7 +530,7 @@ function startApp() self.saving = true; - axios.post('/api/system', self.system) + axios.post('/api/system', self.system, { retry: 10, retryDelay: 1000 }) .then(function(response) { self.showNotification(i18n.t('rebootPending')); @@ -595,7 +626,7 @@ function startApp() var self = this; if (!self.saving) { - axios.get('/api/connection/status') + axios.get('/api/connection/status', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -693,7 +724,9 @@ function startApp() axios.post('/api/steps/values', { transitionTime: 1000, - values: steps + values: steps, + retry: 10, + retryDelay: 1000 }) .then(function(response) { @@ -761,7 +794,7 @@ function startApp() }); } - axios.post('/api/triggers/time', timeSettings) + axios.post('/api/triggers/time', timeSettings, { retry: 10, retryDelay: 1000 }) .then(function(response) { }) @@ -806,7 +839,7 @@ function startApp() self.saving = true; - axios.post('/api/triggers/motion', self.triggers.motion) + axios.post('/api/triggers/motion', self.triggers.motion, { retry: 10, retryDelay: 1000 }) .then(function(response) { }) @@ -857,7 +890,7 @@ function startApp() { var self = this; - axios.get('/api/steps') + axios.get('/api/steps', { retry: 10, retryDelay: 1000 }) .then(function(response) { if (typeof response.data == 'object') @@ -945,7 +978,7 @@ function startApp() count: self.calibration.count, useCurve: self.calibration.useCurve, ranges: self.calibration.ranges - }) + }, { retry: 10, retryDelay: 1000 }) .then(function(response) { }) @@ -960,7 +993,7 @@ function startApp() { var self = this; - return axios.get('/api/stacktrace/delete') + return axios.get('/api/stacktrace/delete', { retry: 10, retryDelay: 1000 }) .then(function(response) { self.status.resetReason = 0; diff --git a/web/dist/bundle.js b/web/dist/bundle.js index 3713616..39e52bc 100644 --- a/web/dist/bundle.js +++ b/web/dist/bundle.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new o(e),n=a(o.prototype.request,t);return i.extend(n,o.prototype,t),i.extend(n,t),n}var i=n(2),a=n(3),o=n(5),s=n(6),c=r(s);c.Axios=o,c.create=function(e){return r(i.merge(s,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(20),c.all=function(e){return Promise.all(e)},c.spread=n(25),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===l.call(e)}function i(e){return null!==e&&"object"==typeof e}function a(e){return"[object Function]"===l.call(e)}function o(e,t){if(null!==e&&void 0!==e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,i=e.length;n=200&&e<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){s.headers[e]={}}),i.forEach(["post","put","patch"],function(e){s.headers[e]=i.merge(o)}),e.exports=s},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),i=n(9),a=n(12),o=n(13),s=n(14),c=n(10),l="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,u){var f=e.data,d=e.headers;r.isFormData(f)&&delete d["Content-Type"];var p=new XMLHttpRequest,h="onreadystatechange",v=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in p||s(e.url)||(p=new window.XDomainRequest,h="onload",v=!0,p.onprogress=function(){},p.ontimeout=function(){}),e.auth){var m=e.auth.username||"",g=e.auth.password||"";d.Authorization="Basic "+l(m+":"+g)}if(p.open(e.method.toUpperCase(),a(e.url,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p[h]=function(){if(p&&(4===p.readyState||v)&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?o(p.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:1223===p.status?204:p.status,statusText:1223===p.status?"No Content":p.statusText,headers:n,config:e,request:p};i(t,u,r),p=null}},p.onerror=function(){u(c("Network Error",e,null,p)),p=null},p.ontimeout=function(){u(c("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var y=n(16),b=(e.withCredentials||s(e.url))&&e.xsrfCookieName?y.read(e.xsrfCookieName):void 0;b&&(d[e.xsrfHeaderName]=b)}if("setRequestHeader"in p&&r.forEach(d,function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)}),e.withCredentials&&(p.withCredentials=!0),e.responseType)try{p.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){p&&(p.abort(),u(e),p=null)}),void 0===f&&(f=null),p.send(f)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,i,a){var o=new Error(e);return r(o,t,n,i,a)}},function(e,t){"use strict";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var i=n(2);e.exports=function(e,t,n){if(!t)return e;var a;if(n)a=n(t);else if(i.isURLSearchParams(t))a=t.toString();else{var o=[];i.forEach(t,function(e,t){null!==e&&void 0!==e&&(i.isArray(e)&&(t+="[]"),i.isArray(e)||(e=[e]),i.forEach(e,function(e){i.isDate(e)?e=e.toISOString():i.isObject(e)&&(e=JSON.stringify(e)),o.push(r(t)+"="+r(e))}))}),a=o.join("&")}return a&&(e+=(-1===e.indexOf("?")?"?":"&")+a),e}},function(e,t,n){"use strict";var r=n(2),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,a,o={};return e?(r.forEach(e.split("\n"),function(e){if(a=e.indexOf(":"),t=r.trim(e.substr(0,a)).toLowerCase(),n=r.trim(e.substr(a+1)),t){if(o[t]&&i.indexOf(t)>=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([n]):o[t]?o[t]+", "+n:n}}),o):o}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(i.setAttribute("href",t),t=i.href),i.setAttribute("href",t),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");return t=e(window.location.href),function(n){var i=r.isString(n)?e(n):n;return i.protocol===t.protocol&&i.host===t.host}}():function(){return!0}},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=function(e){for(var t,i,a=String(e),o="",s=0,c=r;a.charAt(0|s)||(c="=",s%1);o+=c.charAt(63&t>>8-s%1*8)){if((i=a.charCodeAt(s+=.75))>255)throw new n;t=t<<8|i}return o}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,i,a,o){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(i)&&s.push("path="+i),r.isString(a)&&s.push("domain="+a),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";function r(){this.handlers=[]}var i=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){i.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var i=n(2),a=n(19),o=n(20),s=n(6),c=n(21),l=n(22);e.exports=function(e){r(e),e.baseURL&&!c(e.url)&&(e.url=l(e.baseURL,e.url)),e.headers=e.headers||{},e.data=a(e.data,e.headers,e.transformRequest),e.headers=i.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),i.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});return(e.adapter||s.adapter)(e).then(function(t){return r(e),t.data=a(t.data,t.headers,e.transformResponse),t},function(t){return o(t)||(r(e),t&&t.response&&(t.response.data=a(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new i(e),t(n.reason))})}var i=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e;return{token:new r(function(t){e=t}),cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}),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 void 0===e||null===e}function t(e){return void 0!==e&&null!==e}function n(e){return!0===e}function r(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function i(e){return null!==e&&"object"==typeof e}function a(e){return"[object Object]"===mn.call(e)}function o(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function s(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function c(e){var t=parseFloat(e);return isNaN(t)?e:t}function l(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}function f(e,t){return bn.call(e,t)}function d(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function p(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 h(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function v(e,t){for(var n in t)e[n]=t[n];return e}function m(e){for(var t={},n=0;n0&&(X((c=i(c,(o||"")+"_"+s))[0])&&X(u)&&(f[l]=C(u.text+c[0].text),c.shift()),f.push.apply(f,c)):r(c)?X(u)?f[l]=C(u.text+c):""!==c&&f.push(C(c)):X(c)&&X(u)?f[l]=C(u.text+c.text):(n(a._isVList)&&t(c.tag)&&e(c.key)&&t(o)&&(c.key="__vlist"+o+"_"+s+"__"),f.push(c)));return f}(l):void 0:c===Ir&&(s=function(e){for(var t=0;t=0||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}(n[a],r[a],i[a]));return t}(e);r&&v(e.extendOptions,r),(t=e.options=L(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Ee(e){this._init(e)}function je(e){return e&&(e.Ctor.options.name||e.tag)}function Pe(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:(n=e,!("[object RegExp]"!==mn.call(n))&&e.test(t));var n}function Ie(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var a in n){var o=n[a];if(o){var s=je(o.componentOptions);s&&!t(s)&&Le(n,a,r,i)}}}function Le(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,u(n,t)}function Fe(e,n){return{staticClass:Ne(e.staticClass,n.staticClass),class:t(e.class)?[e.class,n.class]:n.class}}function Ne(e,t){return e?t?e+" "+t:e:t||""}function Me(e){return Array.isArray(e)?function(e){for(var n,r="",i=0,a=e.length;i=0&&" "===(m=e.charAt(v));v--);m&&bi.test(m)||(u=!0)}}else void 0===a?(h=i+1,a=e.slice(0,i).trim()):t();if(void 0===a?a=e.slice(0,i).trim():0!==h&&t(),o)for(i=0;i-1?{exp:e.slice(0,Hr),key:'"'+e.slice(Hr+1)+'"'}:{exp:e,key:null};for(Vr=e,Hr=zr=Kr=0;!ct();)lt(Ur=st())?ut(Ur):91===Ur&&function(e){var t=1;for(zr=Hr;!ct();)if(e=st(),lt(e))ut(e);else if(91===e&&t++,93===e&&t--,0===t){Kr=Hr;break}}(Ur);return{exp:e.slice(0,zr),key:e.slice(zr+1,Kr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function st(){return Vr.charCodeAt(++Hr)}function ct(){return Hr>=Wr}function lt(e){return 34===e||39===e}function ut(e){for(var t=e;!ct()&&(e=st())!==t;);}function ft(e,t,n,r,i){t=(a=t)._withTask||(a._withTask=function(){hr=!0;var e=a.apply(null,arguments);return hr=!1,e}),n&&(t=function(e,t,n){var r=qr;return function i(){null!==e.apply(null,arguments)&&dt(t,i,n,r)}}(t,e,r)),qr.addEventListener(e,t,Un?{capture:r,passive:i}:r);var a}function dt(e,t,n,r){(r||qr).removeEventListener(e,t._withTask||t,n)}function pt(n,r){if(!e(n.data.on)||!e(r.data.on)){var i=r.data.on||{},a=n.data.on||{};qr=r.elm,function(e){if(t(e[_i])){var n=Nn?"change":"input";e[n]=[].concat(e[_i],e[n]||[]),delete e[_i]}t(e[wi])&&(e.change=[].concat(e[wi],e.change||[]),delete e[wi])}(i),q(i,a,ft,dt,r.context),qr=void 0}}function ht(n,r){if(!e(n.data.domProps)||!e(r.data.domProps)){var i,a,o=r.elm,s=n.data.domProps||{},l=r.data.domProps||{};t(l.__ob__)&&(l=r.data.domProps=v({},l));for(i in s)e(l[i])&&(o[i]="");for(i in l){if(a=l[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),a===s[i])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===i){o._value=a;var u=e(a)?"":String(a);d=u,!(f=o).composing&&("OPTION"===f.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(f,d)||function(e,n){var r=e.value,i=e._vModifiers;if(t(i)){if(i.lazy)return!1;if(i.number)return c(r)!==c(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(f,d))&&(o.value=u)}else o[i]=a}}var f,d}function vt(e){var t=mt(e.style);return e.staticStyle?v(e.staticStyle,t):t}function mt(e){return Array.isArray(e)?m(e):"string"==typeof e?Ci(e):e}function gt(n,r){var i=r.data,a=n.data;if(!(e(i.staticStyle)&&e(i.style)&&e(a.staticStyle)&&e(a.style))){var o,s,c=r.elm,l=a.staticStyle,u=a.normalizedStyle||a.style||{},f=l||u,d=mt(r.data.style)||{};r.data.normalizedStyle=t(d.__ob__)?v({},d):d;var p=function(e,t){for(var n,r={},i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=vt(i.data))&&v(r,n);(n=vt(e.data))&&v(r,n);for(var a=e;a=a.parent;)a.data&&(n=vt(a.data))&&v(r,n);return r}(r);for(s in f)e(p[s])&&Ai(c,s,"");for(s in p)(o=p[s])!==f[s]&&Ai(c,s,null==o?"":o)}}function yt(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 bt(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),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function _t(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&v(t,Ei(e.name||"v")),v(t,e),t}return"string"==typeof e?Ei(e):void 0}}function wt(e){Ri(function(){Ri(e)})}function Tt(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),yt(e,t))}function kt(e,t){e._transitionClasses&&u(e._transitionClasses,t),bt(e,t)}function Ct(e,t,n){var r=St(e,t),i=r.type,a=r.timeout,o=r.propCount;if(!i)return n();var s=i===Pi?Fi:Mi,c=0,l=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++c>=o&&l()};setTimeout(function(){c0&&(n=Pi,u=o,f=a.length):t===Ii?l>0&&(n=Ii,u=l,f=c.length):f=(n=(u=Math.max(o,l))>0?o>l?Pi:Ii:null)?n===Pi?a.length:c.length:0,{type:n,timeout:u,propCount:f,hasTransform:n===Pi&&Bi.test(r[Li+"Property"])}}function xt(e,t){for(;e.length1}function jt(e,t){!0!==t.data.show&&$t(t)}function Pt(e,t,n){It(e,t,n),(Nn||Rn)&&setTimeout(function(){It(e,t,n)},0)}function It(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var a,o,s=0,c=e.options.length;s-1,o.selected!==a&&(o.selected=a);else if(y(Ft(o),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function Lt(e,t){return t.every(function(t){return!y(t,e)})}function Ft(e){return"_value"in e?e._value:e.value}function Nt(e){e.target.composing=!0}function Mt(e){e.target.composing&&(e.target.composing=!1,Rt(e.target,"input"))}function Rt(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Bt(e){return!e.componentInstance||e.data&&e.data.transition?e:Bt(e.componentInstance._vnode)}function Wt(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Wt(Q(t.children)):e}function Vt(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var a in i)t[wn(a)]=i[a];return t}function Ut(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function Ht(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function zt(e){e.data.newPos=e.elm.getBoundingClientRect()}function Kt(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var a=e.elm.style;a.transform=a.WebkitTransform="translate("+r+"px,"+i+"px)",a.transitionDuration="0s"}}function qt(e,t){var n=t?Oa:$a;return e.replace(n,function(e){return Aa[e]})}function Jt(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n':'
',ka.innerHTML.indexOf(" ")>0}var vn=Object.freeze({}),mn=Object.prototype.toString,gn=l("slot,component",!0),yn=l("key,ref,slot,slot-scope,is"),bn=Object.prototype.hasOwnProperty,_n=/-(\w)/g,wn=d(function(e){return e.replace(_n,function(e,t){return t?t.toUpperCase():""})}),Tn=d(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),kn=/\B([A-Z])/g,Cn=d(function(e){return e.replace(kn,"-$1").toLowerCase()}),Sn=function(e,t,n){return!1},xn=function(e){return e},An="data-server-rendered",$n=["component","directive","filter"],On=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Dn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Sn,isReservedAttr:Sn,isUnknownElement:Sn,getTagNamespace:g,parsePlatformTagName:xn,mustUseProp:Sn,_lifecycleHooks:On},En=/[^\w.$]/,jn="__proto__"in{},Pn="undefined"!=typeof window,In="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Ln=In&&WXEnvironment.platform.toLowerCase(),Fn=Pn&&window.navigator.userAgent.toLowerCase(),Nn=Fn&&/msie|trident/.test(Fn),Mn=Fn&&Fn.indexOf("msie 9.0")>0,Rn=Fn&&Fn.indexOf("edge/")>0,Bn=Fn&&Fn.indexOf("android")>0||"android"===Ln,Wn=Fn&&/iphone|ipad|ipod|ios/.test(Fn)||"ios"===Ln,Vn=(Fn&&/chrome\/\d+/.test(Fn),{}.watch),Un=!1;if(Pn)try{var Hn={};Object.defineProperty(Hn,"passive",{get:function(){Un=!0}}),window.addEventListener("test-passive",null,Hn)}catch(e){}var zn,Kn,qn=function(){return void 0===zn&&(zn=!Pn&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),zn},Jn=Pn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Gn="undefined"!=typeof Symbol&&k(Symbol)&&"undefined"!=typeof Reflect&&k(Reflect.ownKeys);Kn="undefined"!=typeof Set&&k(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var Xn=g,Zn=0,Yn=function(){this.id=Zn++,this.subs=[]};Yn.prototype.addSub=function(e){this.subs.push(e)},Yn.prototype.removeSub=function(e){u(this.subs,e)},Yn.prototype.depend=function(){Yn.target&&Yn.target.addDep(this)},Yn.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;tAr&&Tr[n].id>e.id;)n--;Tr.splice(n+1,0,e)}else Tr.push(e);Sr||(Sr=!0,H(le))}}(this)},Or.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||i(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){B(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Or.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Or.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},Or.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||u(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Dr={enumerable:!0,configurable:!0,get:g,set:g},Er={lazy:!0};Se(xe.prototype);var jr={init:function(e,n,r,i){if(!e.componentInstance||e.componentInstance._isDestroyed)(e.componentInstance=function(e,n,a,o){var s={_isComponent:!0,parent:wr,_parentVnode:e,_parentElm:r||null,_refElm:i||null},c=e.data.inlineTemplate;return t(c)&&(s.render=c.render,s.staticRenderFns=c.staticRenderFns),new e.componentOptions.Ctor(s)}(e)).$mount(n?e.elm:void 0,n);else if(e.data.keepAlive){var a=e;jr.prepatch(a,a)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,i){var a=!!(i||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==vn);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=i,e.$attrs=r.data&&r.data.attrs||vn,e.$listeners=n||vn,t&&e.$options.props){or.shouldConvert=!1;for(var o=e._props,s=e.$options._propKeys||[],c=0;c1?h(n):n;for(var r=h(arguments,1),i=0,a=n.length;iparseInt(this.max)&&Le(o,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={};t.get=function(){return Dn},Object.defineProperty(e,"config",t),e.util={warn:Xn,extend:v,mergeOptions:L,defineReactive:$},e.set=O,e.delete=D,e.nextTick=H,e.options=Object.create(null),$n.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,v(e.options.components,Br),e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=h(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},e.mixin=function(e){return this.options=L(this.options,e),this},function(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var a=e.name||n.options.name,o=function(e){this._init(e)};return(o.prototype=Object.create(n.prototype)).constructor=o,o.cid=t++,o.options=L(n.options,e),o.super=n,o.options.props&&function(e){var t=e.options.props;for(var n in t)ue(e.prototype,"_props",n)}(o),o.options.computed&&function(e){var t=e.options.computed;for(var n in t)fe(e.prototype,n,t[n])}(o),o.extend=n.extend,o.mixin=n.mixin,o.use=n.use,$n.forEach(function(e){o[e]=n[e]}),a&&(o.options.components[a]=o),o.superOptions=n.options,o.extendOptions=e,o.sealedOptions=v({},o.options),i[r]=o,o}}(e),n=e,$n.forEach(function(e){n[e]=function(t,n){return n?("component"===e&&a(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}});var n}(Ee),Object.defineProperty(Ee.prototype,"$isServer",{get:qn}),Object.defineProperty(Ee.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Ee.version="2.5.13";var Wr,Vr,Ur,Hr,zr,Kr,qr,Jr,Gr=l("style,class"),Xr=l("input,textarea,option,select,progress"),Zr=function(e,t,n){return"value"===n&&Xr(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Yr=l("contenteditable,draggable,spellcheck"),Qr=l("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),ei="http://www.w3.org/1999/xlink",ti=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},ni=function(e){return ti(e)?e.slice(6,e.length):""},ri=function(e){return null==e||!1===e},ii={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},ai=l("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),oi=l("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),si=function(e){return ai(e)||oi(e)},ci=Object.create(null),li=l("text,number,password,search,email,tel,url"),ui=Object.freeze({createElement:function(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)},createElementNS:function(e,t){return document.createElementNS(ii[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setAttribute:function(e,t,n){e.setAttribute(t,n)}}),fi={create:function(e,t){We(t)},update:function(e,t){e.data.ref!==t.data.ref&&(We(e,!0),We(t))},destroy:function(e){We(e,!0)}},di=new er("",{},[]),pi=["create","activate","update","remove","destroy"],hi={create:He,update:He,destroy:function(e){He(e,di)}},vi=Object.create(null),mi=[fi,hi],gi={create:qe,update:qe},yi={create:Ge,update:Ge},bi=/[\w).+\-_$\]]/,_i="__r",wi="__c",Ti={create:pt,update:pt},ki={create:ht,update:ht},Ci=d(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}),Si=/^--/,xi=/\s*!important$/,Ai=function(e,t,n){if(Si.test(t))e.style.setProperty(t,n);else if(xi.test(n))e.style.setProperty(t,n.replace(xi,""),"important");else{var r=Oi(t);if(Array.isArray(n))for(var i=0,a=n.length;ip?h(n,e(i[b+1])?null:i[b+1].elm,i,d,b,a):d>b&&m(0,r,f,p)}(c,d,p,a,s):t(p)?(t(r.text)&&S.setTextContent(c,""),h(c,null,p,0,p.length-1,a)):t(d)?m(0,d,0,d.length-1):t(r.text)&&S.setTextContent(c,""):r.text!==i.text&&S.setTextContent(c,i.text),t(u)&&t(l=u.hook)&&t(l=l.postpatch)&&l(r,i)}}}function b(e,r,i){if(n(i)&&t(e.parent))e.parent.data.pendingInsert=r;else for(var a=0;a-1?ci[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:ci[e]=/HTMLUnknownElement/.test(t.toString())},v(Ee.options.directives,Ui),v(Ee.options.components,qi),Ee.prototype.__patch__=Pn?Wi:g,Ee.prototype.$mount=function(e,t){return function(e,t,n){e.$el=t,e.$options.render||(e.$options.render=nr),ce(e,"beforeMount");return new Or(e,function(){e._update(e._render(),n)},g,null,!0),n=!1,null==e.$vnode&&(e._isMounted=!0,ce(e,"mounted")),e}(this,e=e&&Pn?Be(e):void 0,t)},Ee.nextTick(function(){Dn.devtools&&Jn&&Jn.emit("init",Ee)},0);var Ji,Gi=/\{\{((?:.|\n)+?)\}\}/g,Xi=/[-.*+?^${}()|[\]\/\\]/g,Zi=d(function(e){var t=e[0].replace(Xi,"\\$&"),n=e[1].replace(Xi,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}),Yi={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=it(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=rt(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}},Qi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=it(e,"style");n&&(e.staticStyle=JSON.stringify(Ci(n)));var r=rt(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},ea=l("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),ta=l("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),na=l("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),ra=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ia="[a-zA-Z_][\\w\\-\\.]*",aa="((?:"+ia+"\\:)?"+ia+")",oa=new RegExp("^<"+aa),sa=/^\s*(\/?)>/,ca=new RegExp("^<\\/"+aa+"[^>]*>"),la=/^]+>/i,ua=/^/g,"$1").replace(//g,"$1")),Ea(d,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});u+=e.length-h.length,e=h,r(d,u-f,u)}else{var v=e.indexOf("<");if(0===v){if(ua.test(e)){var m=e.indexOf("--\x3e");if(m>=0){t.shouldKeepComment&&t.comment(e.substring(4,m)),n(m+3);continue}}if(fa.test(e)){var g=e.indexOf("]>");if(g>=0){n(g+2);continue}}var y=e.match(la);if(y){n(y[0].length);continue}var b=e.match(ca);if(b){var _=u;n(b[0].length),r(b[1],_,u);continue}var w=function(){var t=e.match(oa);if(t){var r={tagName:t[1],attrs:[],start:u};n(t[0].length);for(var i,a;!(i=e.match(sa))&&(a=e.match(ra));)n(a[0].length),r.attrs.push(a);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=u,r}}();if(w){!function(e){var n=e.tagName,i=e.unarySlash;s&&("p"===a&&na(n)&&r(a),l(n)&&a===n&&r(n));for(var u=c(n)||!!i,f=e.attrs.length,d=new Array(f),p=0;p=0){for(k=e.slice(v);!(ca.test(k)||oa.test(k)||ua.test(k)||fa.test(k)||(C=k.indexOf("<",1))<0);)v+=C,k=e.slice(v);T=e.substring(0,v),n(v)}v<0&&(T=e,e=""),t.chars&&T&&t.chars(T)}if(e===i){t.chars&&t.chars(e);break}}r()}(e,{warn:pa,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,start:function(e,o,l){var u=i&&i.ns||_a(e);Nn&&"svg"===u&&(o=function(e){for(var t=[],n=0;nc&&(s.push(a=e.slice(c,i)),o.push(JSON.stringify(a)));var l=Xe(r[1].trim());o.push("_s("+l+")"),s.push({"@binding":l}),c=i+r[0].length}return c1?1:0:1:e?Math.min(e,2):0;var n}(t,n.length)]?n[t].trim():e}function o(e){return JSON.parse(JSON.stringify(e))}function s(e){for(var n=arguments,r=Object(e),i=1;i=97&&t<=122||t>=65&&t<=90?"ident":t>=49&&t<=57?"number":"else"}function p(e){var t=e.trim();return("0"!==e.charAt(0)||!isNaN(e))&&(n=t,F.test(n)?function(e){var t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var n}var h,v=Object.prototype.toString,m="[object Object]",g=Object.prototype.hasOwnProperty,y="undefined"!=typeof Intl&&void 0!==Intl.DateTimeFormat,b="undefined"!=typeof Intl&&void 0!==Intl.NumberFormat,_={beforeCreate:function(){var e=this.$options;if(e.i18n=e.i18n||(e.__i18n?{}:null),e.i18n){if(e.i18n instanceof M){if(e.__i18n)try{var t={};e.__i18n.forEach(function(e){t=s(t,JSON.parse(e))}),Object.keys(t).forEach(function(n){e.i18n.mergeLocaleMessage(n,t[n])})}catch(e){}this._i18n=e.i18n,this._i18nWatcher=this._i18n.watchI18nData(),this._i18n.subscribeDataChanging(this),this._subscribing=!0}else if(n(e.i18n)){if(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof M&&(e.i18n.root=this.$root.$i18n,e.i18n.fallbackLocale=this.$root.$i18n.fallbackLocale,e.i18n.silentTranslationWarn=this.$root.$i18n.silentTranslationWarn),e.__i18n)try{var r={};e.__i18n.forEach(function(e){r=s(r,JSON.parse(e))}),e.i18n.messages=r}catch(e){}this._i18n=new M(e.i18n),this._i18nWatcher=this._i18n.watchI18nData(),this._i18n.subscribeDataChanging(this),this._subscribing=!0,(void 0===e.i18n.sync||e.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale())}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof M?(this._i18n=this.$root.$i18n,this._i18n.subscribeDataChanging(this),this._subscribing=!0):e.parent&&e.parent.$i18n&&e.parent.$i18n instanceof M&&(this._i18n=e.parent.$i18n,this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){this._i18n&&(this._subscribing&&(this._i18n.unsubscribeDataChanging(this),delete this._subscribing),this._i18nWatcher&&(this._i18nWatcher(),delete this._i18nWatcher),this._localeWatcher&&(this._localeWatcher(),delete this._localeWatcher),this._i18n=null)}},w={name:"i18n",functional:!0,props:{tag:{type:String,default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(t,n){var r=n.props,i=n.data,a=n.children,o=n.parent.$i18n;if(a=(a||[]).filter(function(e){return e.tag||(e.text=e.text.trim())}),!o)return a;var s=r.path,c=r.locale,l={},u=r.places||{},f=Array.isArray(u)?u.length>0:Object.keys(u).length>0,d=a.every(function(e){if(e.data&&e.data.attrs){var t=e.data.attrs.place;return void 0!==t&&""!==t}});return f&&a.length>0&&!d&&e("If places prop is set, all child elements must have place prop set."),Array.isArray(u)?u.forEach(function(e,t){l[t]=e}):Object.keys(u).forEach(function(e){l[e]=u[e]}),a.forEach(function(e,t){var n=d?""+e.data.attrs.place:""+t;l[n]=e}),t(r.tag,i,o.i(s,c,l))}},T=function(){this._caches=Object.create(null)};T.prototype.interpolate=function(e,n){var r=this._caches[e];return r||(r=function(e){for(var t=[],n=0,r="";n0)f--,u=D,h[S]();else{if(f=0,!1===(n=p(n)))return!1;h[x]()}};null!==u;)if(l++,"\\"!==(t=e[l])||!function(){var t=e[l+1];if(u===E&&"'"===t||u===j&&'"'===t)return l++,r="\\"+t,h[S](),!0}()){if(i=d(t),(a=(s=L[u])[i]||s.else||I)===I)return;if(u=a[0],(o=h[a[1]])&&(r=a[2],r=void 0===r?t:r,!1===o()))return;if(u===P)return c}}(e))&&(this._cache[e]=t),t||[]},N.prototype.getPathValue=function(e,n){if(!t(e))return null;var r=this.parsePath(n);if(i=r,Array.isArray(i)&&0===i.length)return null;for(var i,a=r.length,o=e,s=0;s-1)e.splice(n,1)}}(this._dataListeners,e)},M.prototype.watchI18nData=function(){var e=this;return this._vm.$watch("$data",function(){for(var t=e._dataListeners.length;t--;)h.nextTick(function(){e._dataListeners[t]&&e._dataListeners[t].$forceUpdate()})},{deep:!0})},M.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var e=this._vm;return this._root.vm.$watch("locale",function(t){e.$set(e,"locale",t),e.$forceUpdate()},{immediate:!0})},R.vm.get=function(){return this._vm},R.messages.get=function(){return o(this._getMessages())},R.dateTimeFormats.get=function(){return o(this._getDateTimeFormats())},R.numberFormats.get=function(){return o(this._getNumberFormats())},R.locale.get=function(){return this._vm.locale},R.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},R.fallbackLocale.get=function(){return this._vm.fallbackLocale},R.fallbackLocale.set=function(e){this._vm.$set(this._vm,"fallbackLocale",e)},R.missing.get=function(){return this._missing},R.missing.set=function(e){this._missing=e},R.formatter.get=function(){return this._formatter},R.formatter.set=function(e){this._formatter=e},R.silentTranslationWarn.get=function(){return this._silentTranslationWarn},R.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},M.prototype._getMessages=function(){return this._vm.messages},M.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},M.prototype._getNumberFormats=function(){return this._vm.numberFormats},M.prototype._warnDefault=function(e,t,n,i){return r(n)?(this.missing&&this.missing.apply(null,[e,t,i]),t):n},M.prototype._isFallbackRoot=function(e){return!e&&!r(this._root)&&this._fallbackRoot},M.prototype._interpolate=function(e,t,i,a,o,s){if(!t)return null;var c=this._path.getPathValue(t,i);if(Array.isArray(c))return c;var l;if(r(c)){if(!n(t))return null;if("string"!=typeof(l=t[i]))return null}else{if("string"!=typeof c)return null;l=c}return l.indexOf("@:")>=0&&(l=this._link(e,t,l,a,o,s)),s?this._render(l,o,s):l},M.prototype._link=function(e,t,n,r,i,a){var o=n,s=o.match(/(@:[\w\-_|.]+)/g);for(var c in s)if(s.hasOwnProperty(c)){var l=s[c],u=l.substr(2),f=this._interpolate(e,t,u,r,"raw"===i?"string":i,"raw"===i?void 0:a);if(this._isFallbackRoot(f)){if(!this._root)throw Error("unexpected error");var d=this._root;f=d._translate(d._getMessages(),d.locale,d.fallbackLocale,u,r,i,a)}o=(f=this._warnDefault(e,u,f,r))?o.replace(l,f):o}return o},M.prototype._render=function(e,t,n){var r=this._formatter.interpolate(e,n);return"string"===t?r.join(""):r},M.prototype._translate=function(e,t,n,i,a,o,s){var c=this._interpolate(t,e[t],i,a,o,s);return r(c)?r(c=this._interpolate(n,e[n],i,a,o,s))?null:c:c},M.prototype._t=function(e,t,n,r){for(var a=[],o=arguments.length-4;o-- >0;)a[o]=arguments[o+4];if(!e)return"";var s=i.apply(void 0,a),c=s.locale||t,l=this._translate(n,c,this.fallbackLocale,e,r,"string",s.params);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return(u=this._root).t.apply(u,[e].concat(a))}return this._warnDefault(c,e,l,r);var u},M.prototype.t=function(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return(r=this)._t.apply(r,[e,this.locale,this._getMessages(),null].concat(t));var r},M.prototype._i=function(e,t,n,r,i){var a=this._translate(n,t,this.fallbackLocale,e,r,"raw",i);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.i(e,t,i)}return this._warnDefault(t,e,a,r)},M.prototype.i=function(e,t,n){return e?("string"!=typeof t&&(t=this.locale),this._i(e,t,this._getMessages(),null,n)):""},M.prototype._tc=function(e,t,n,r,i){for(var o=[],s=arguments.length-5;s-- >0;)o[s]=arguments[s+5];return e?(void 0===i&&(i=1),a((c=this)._t.apply(c,[e,t,n,r].concat(o)),i)):"";var c},M.prototype.tc=function(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return(i=this)._tc.apply(i,[e,this.locale,this._getMessages(),null,t].concat(n));var i},M.prototype._te=function(e,t,n){for(var r=[],a=arguments.length-3;a-- >0;)r[a]=arguments[a+3];var o=i.apply(void 0,r).locale||t;return this._exist(n[o],e)},M.prototype.te=function(e,t){return this._te(e,this.locale,this._getMessages(),t)},M.prototype.getLocaleMessage=function(e){return o(this._vm.messages[e]||{})},M.prototype.setLocaleMessage=function(e,t){this._vm.messages[e]=t},M.prototype.mergeLocaleMessage=function(e,t){this._vm.messages[e]=h.util.extend(this._vm.messages[e]||{},t)},M.prototype.getDateTimeFormat=function(e){return o(this._vm.dateTimeFormats[e]||{})},M.prototype.setDateTimeFormat=function(e,t){this._vm.dateTimeFormats[e]=t},M.prototype.mergeDateTimeFormat=function(e,t){this._vm.dateTimeFormats[e]=h.util.extend(this._vm.dateTimeFormats[e]||{},t)},M.prototype._localizeDateTime=function(e,t,n,i,a){var o=t,s=i[o];if((r(s)||r(s[a]))&&(o=n,s=i[o]),r(s)||r(s[a]))return null;var c=s[a],l=o+"__"+a,u=this._dateTimeFormatters[l];return u||(u=this._dateTimeFormatters[l]=new Intl.DateTimeFormat(o,c)),u.format(e)},M.prototype._d=function(e,t,n){if(!n)return new Intl.DateTimeFormat(t).format(e);var r=this._localizeDateTime(e,t,this.fallbackLocale,this._getDateTimeFormats(),n);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.d(e,n,t)}return r||""},M.prototype.d=function(e){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.locale,a=null;return 1===n.length?"string"==typeof n[0]?a=n[0]:t(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(a=n[0].key)):2===n.length&&("string"==typeof n[0]&&(a=n[0]),"string"==typeof n[1]&&(i=n[1])),this._d(e,i,a)},M.prototype.getNumberFormat=function(e){return o(this._vm.numberFormats[e]||{})},M.prototype.setNumberFormat=function(e,t){this._vm.numberFormats[e]=t},M.prototype.mergeNumberFormat=function(e,t){this._vm.numberFormats[e]=h.util.extend(this._vm.numberFormats[e]||{},t)},M.prototype._localizeNumber=function(e,t,n,i,a){var o=t,s=i[o];if((r(s)||r(s[a]))&&(o=n,s=i[o]),r(s)||r(s[a]))return null;var c=s[a],l=o+"__"+a,u=this._numberFormatters[l];return u||(u=this._numberFormatters[l]=new Intl.NumberFormat(o,c)),u.format(e)},M.prototype._n=function(e,t,n){if(!n)return new Intl.NumberFormat(t).format(e);var r=this._localizeNumber(e,t,this.fallbackLocale,this._getNumberFormats(),n);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.n(e,n,t)}return r||""},M.prototype.n=function(e){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.locale,a=null;return 1===n.length?"string"==typeof n[0]?a=n[0]:t(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(a=n[0].key)):2===n.length&&("string"==typeof n[0]&&(a=n[0]),"string"==typeof n[1]&&(i=n[1])),this._n(e,i,a)},Object.defineProperties(M.prototype,R),M.availabilities={dateTimeFormat:y,numberFormat:b},M.install=function e(t){(h=t).version&&Number(h.version.split(".")[0]),e.installed=!0,Object.defineProperty(h.prototype,"$i18n",{get:function(){return this._i18n}}),n=h,Object.defineProperty(n.prototype,"$t",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=e.$i18n;return i._t.apply(i,[t,i.locale,i._getMessages(),e].concat(n))}}}),Object.defineProperty(n.prototype,"$tc",{get:function(){var e=this;return function(t,n){for(var r=[],i=arguments.length-2;i-- >0;)r[i]=arguments[i+2];var a=e.$i18n;return a._tc.apply(a,[t,a.locale,a._getMessages(),e,n].concat(r))}}}),Object.defineProperty(n.prototype,"$te",{get:function(){var e=this;return function(t,n){var r=e.$i18n;return r._te(t,r.locale,r._getMessages(),n)}}}),Object.defineProperty(n.prototype,"$d",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(i=e.$i18n).d.apply(i,[t].concat(n));var i}}}),Object.defineProperty(n.prototype,"$n",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(i=e.$i18n).n.apply(i,[t].concat(n));var i}}}),h.mixin(_),h.directive("t",{bind:c,update:l}),h.component(w.name,w);var n,r=h.config.optionMergeStrategies;r.i18n=r.methods},M.version="7.3.3","undefined"!=typeof window&&window.Vue&&window.Vue.use(M),M});var messages={en:{title:"Stairs",systemID:"System ID",firmwareVersion:"Firmware version: ",copyright:"Copyright © 2017 Mark van Renswoude",loading:"Please wait, loading configuration...",rebootPending:"The system will be rebooted, please refresh this page afterwards",applyButton:"Apply",applyButtonSaving:"Saving...",deviceTime:"Time: ",wifiStatus:{accesspoint:{title:"AP: ",disabled:"Disabled"},stationmode:{title:"WiFi: ",disabled:"Disabled",idle:"Idle",noSSID:"SSID not found",scanCompleted:"Scan completed",connectFailed:"Failed to connect",connectionLost:"Connection lost",disconnected:"Disconnected"}},status:{tabTitle:"Status",title:"Current status",allStepsTrue:"Set intensity for all steps",allStepsFalse:"Set intensity individually"},triggers:{tabTitle:"Triggers",timeTitle:"Time",timeInternet:"Please note that time triggers require an internet connection.",timeNoData:"No time triggers defined yet",timeEnabled:"Enable time triggers",timeTransitionTime:"Transition time in milliseconds",timeAdd:"Add",timeDelete:"Delete",timeTriggerEnabled:"Enabled",timeFixedTime:"Fixed time",timeSunrise:"Sunrise",timeSunset:"Sunset",timeTime:"Time in minutes",timeMonday:"Monday",timeTuesday:"Tuesday",timeWednesday:"Wednesday",timeThursday:"Thursday",timeFriday:"Friday",timeSaturday:"Saturday",timeSunday:"Sunday",motionTitle:"Motion",motionNoData:"No motion triggers defined yet",motionEnabled:"Enable motion triggers",motionEnabledDuringTimeTrigger:"Activate even if a time trigger is already active",motionEnabledDuringDay:"Activate during the day (between sunrise and sunset)",motionTransitionTime:"Transition time in milliseconds",motionDelay:"Keep on time in milliseconds",motionTriggerEnabled:"Enabled",motionAdd:"Add",motionDelete:"Delete",motionPin:"GPIO pin (active high)",motionDirection:"Sweep animation",motionDirectionNonDirectional:"None (all steps at the same time)",motionDirectionTopDown:"Top down",motionDirectionBottomUp:"Bottom up"},connection:{tabTitle:"Connection",title:"Connection parameters",accesspoint:"Enable access point",accesspointHint:"Allows for a direct connection from your device to this Stairs module for configuration purposes. The Stairs configuration is available on http://192.168.1.4/ when you are connected to it. Turn it off as soon as station mode is configured, as it is not secured in any way. You can always turn this option back on by pushing the access point button until the LED lights up.",stationmode:"Enable station mode",stationmodeHint:"Connect this Stairs module to your own WiFi router. Please enter the SSID, password and further configuration below.",ssid:"SSID",password:"Password",dhcp:"Use DHCP",dhcpHint:"Automatically assigns an IP address to this Stairs module. You probably want to keep this on unless you know what you're doing.",ipaddress:"IP address",subnetmask:"Subnet mask",gateway:"Gateway",hostname:"Hostname",hostnamePlaceholder:"Default: mac address"},system:{tabTitle:"System",ntpTitle:"Time synchronisation (NTP)",pinsTitle:"Hardware pinout",mapsTitle:"Google Maps API",firmwareTitle:"Firmware update",calibrateTitle:"Calibrate",calibrateButton:"Calibrate steps",calibrateHint:"Use the button below to configure the number of steps, and to adjust the brightness of each individual step",ntpServer:"NTP server",ntpInterval:"Refresh interval (in minutes)",ntpLat:"Latitude",ntpLng:"Longitude",ntpLocation:"Get latitude / longitude from location",ntpLocationSearch:"Search",pinLEDAP:"Access Point status LED pin (+3.3v)",pinLEDSTA:"Station Mode status LED pin (+3.3v)",pinAPButton:"Enable Access Point button pin (active low)",pinPWMDriverSDA:"PCA9685 PWM driver SDA pin (data)",pinPWMDriverSCL:"PCA9685 PWM driver SCL pin (clock)",pwmAddress:"PCA9685 PWM driver I²C address",pwmFrequency:"PCA9685 PWM driver frequency",mapsAPIKey:"Google Maps API key",mapsAPIKeyhint:"Recommended if using time triggers. Used for looking up the current timezone. Will work without an API key, but Google might throttle your request. Register for a free API key at http://console.developers.google.com/ and activate it's use for the Maps API."},error:{loadStatus:"Could not load system status",loadConnection:"Could not load connection settings",loadSystem:"Could not load system settings",loadTimeTriggers:"Could not load time trigger settings",loadMotionTriggers:"Could not load motion trigger settings",applyConnection:"Could not save connection settings",applySystem:"Could not save system settings",updateWiFiStatus:"Could not retrieve WiFi status",uploadFirmware:"Error while uploading firmware",updateSteps:"Could not apply new step values",searchLocation:"Could not look up location coordinates",applyTimeTriggers:"Could not save time trigger settings",applyMotionTriggers:"Could not save motion trigger settings",loadSteps:"Could not load calibration settings",updateCalibration:"Could not save calibration settings",resetError:"The system reports that it has been reset unexpectedly. The last power up status is:",resetReason:{0:"Normal startup",1:"Unresponsive, reset by hardware watchdog",2:"Unhandled exception",3:"Unresponsive, reset by software watchdog",4:"System restart requested",5:"Wake up from deep sleep",6:"System reset"},stackTrace:"A stack trace is available. Please send it to your nearest developer and/or delete it from this Stairs device to remove this message.",stackTraceDownload:"Download",stackTraceDelete:"Remove",stackTraceDeleteError:"Could not remove stack trace"},calibration:{title:"Calibration wizard",backButton:"Back",count:"Number of steps",nextButton:"Next",applyButton:"Complete",allStepsValue:"Intensity for all steps",ranges:"Min / max values per step",useCurve:"Use logarithmic curve for intensity (recommended for LEDs)"}},nl:{title:"Trap",systemID:"Systeem ID",firmwareVersion:"Firmware versie: ",copyright:"Copyright © 2017 Mark van Renswoude",loading:"Een ogenblik geduld, bezig met laden van configuratie...",rebootPending:"Het systeem wordt opnieuw opgestart, ververse deze pagina nadien",applyButton:"Opslaan",applyButtonSaving:"Bezig met opslaan...",deviceTime:"Tijd: ",wifiStatus:{accesspoint:{title:"AP: ",disabled:"Uitgeschakeld"},stationmode:{title:"WiFi: ",disabled:"Uitgeschakeld",idle:"Slaapstand",noSSID:"SSID niet gevonden",scanCompleted:"Scan afgerond",connectFailed:"Kan geen verbinding maken",connectionLost:"Verbinding verloren",disconnected:"Niet verbonden"}},status:{tabTitle:"Status",title:"Huidige status",allStepsTrue:"Alle treden dezelfde intensiteit",allStepsFalse:"Treden individueel instellen"},triggers:{tabTitle:"Triggers",timeTitle:"Tijd",timeInternet:"Let op dat voor tijd triggers een internetverbinding vereist is.",timeNoData:"Nog geen tijd triggers geconfigureerd",timeEnabled:"Tijd triggers inschakelen",timeTransitionTime:"Transitie tijd in milliseconden",timeAdd:"Toevoegen",timeDelete:"Verwijderen",timeTriggerEnabled:"Actief",timeFixedTime:"Vaste tijd",timeSunrise:"Zonsopkomst",timeSunset:"Zonsondergang",timeTime:"Tijd in minuten",timeMonday:"Maandag",timeTuesday:"Dinsdag",timeWednesday:"Woensdag",timeThursday:"Donderdag",timeFriday:"Vrijdag",timeSaturday:"Zaterdag",timeSunday:"Zondag",motionTitle:"Beweging",motionNoData:"Nog geen beweging triggers geconfigureerd",motionEnabled:"Beweging triggers inschakelen",motionEnabledDuringTimeTrigger:"Ook inschakelen als er al een tijd trigger actief is",motionEnabledDuringDay:"Ook overdag inschakelen (tussen zonsopgang en zonsondergang)",motionTransitionTime:"Transitie tijd in milliseconden",motionDelay:"Tijd aan in milliseconden",motionTriggerEnabled:"Actief",motionAdd:"Toevoegen",motionDelete:"Verwijderen",motionPin:"GPIO pin (actief hoog)",motionDirection:"Animatie",motionDirectionNonDirectional:"Geen (alle treden gelijktijdig)",motionDirectionTopDown:"Boven naar beneden",motionDirectionBottomUp:"Beneden naar boven"},connection:{tabTitle:"Verbinding",title:"Verbinding configuratie",accesspoint:"Access point inschakelen",accesspointHint:"Maakt het mogelijk om een directe connectie vanaf een apparaat naar deze Trap module te maken om de module te configureren. De Trap module is te benaderen via http://192.168.1.4/ nadat je connectie hebt gemaakt. Schakel deze optie uit na het configureren, aangezien deze niet beveiligd is. Je kunt deze optie ook inschakelen door op de Access point knop te drukken totdat de LED aan gaat.",stationmode:"Verbinding met WiFi maken",stationmodeHint:"Verbind deze Trap module aan je eigen WiFi router. Vul hieronder het SSID en wachtwoord in, en configureer eventuel de overige opties.",ssid:"SSID",password:"Wachtwoord",dhcp:"Gebruik DHCP",dhcpHint:"Automatisch een IP adres toewijzen aan deze Trap module. Waarschijnlijk wil je deze optie aan laten, tenzij je weet waar je mee bezig bent.",ipaddress:"IP adres",subnetmask:"Subnet masker",gateway:"Gateway",hostname:"Hostnaam",hostnamePlaceholder:"Standaard: mac adres"},system:{tabTitle:"Systeem",ntpTitle:"Tijd synchronisatie (NTP)",pinsTitle:"Hardware aansluitingen",mapsTitle:"Google Maps API",firmwareTitle:"Firmware bijwerken",calibrateTitle:"Kalibratie",calibrateButton:"Kalibreer treden",calibrateHint:"Gebruik onderstaande knop om het aantal treden in te stellen, en om de helderheid van elke trede aan te passen",ntpServer:"NTP server",ntpInterval:"Ververs interval (in minuten)",ntpLat:"Breedtegraad",ntpLng:"Lengtegraad",ntpLocation:"Breedtegraad / lengtegraad ophalen op basis van locatie",ntpLocationSearch:"Zoeken",pinLEDAP:"Access Point status LED pin (+3.3v)",pinLEDSTA:"WiFi status LED pin (+3.3v)",pinAPButton:"Access Point inschakelen knop pin (actief laag)",pinPWMDriverSDA:"PCA9685 PWM driver SDA pin (data)",pinPWMDriverSCL:"PCA9685 PWM driver SCL pin (klok)",pwmAddress:"PCA9685 PWM driver I²C address",pwmFrequency:"PCA9685 PWM driver frequency",mapsAPIKey:"Google Maps API key",mapsAPIKeyhint:"Aangeraden bij gebruik van de tijd triggers. Wordt gebruikt om de huidige tijdzone te bepalen. Werkt ook zonder API key, maar Google beperkt dan sterk de requests. Registreer een gratis API key op http://console.developers.google.com/ en activeer het voor gebruik met de Maps API."},error:{loadStatus:"Kan systeemstatus niet ophalen",loadConnection:"Kan verbinding instellingen niet ophalen",loadSystem:"Kan systeem instellingen niet ophalen",loadTimeTriggers:"Kan tijd trigger instellingen niet ophalen",loadMotionTriggers:"Kan beweging trigger instellingen niet ophalen",applyConnection:"Kan verbinding instellingen niet opslaan",applySystem:"Kan systeem instellingen niet opslaan",updateWiFiStatus:"Kan WiFi status niet ophalen",uploadFirmware:"Fout tijdens bijwerken van firmware",updateSteps:"Kan trap instellingen niet opslaan",searchLocation:"Kan locatie coordinaten niet bepalen",applyTimeTriggers:"Kan tijd trigger instellingen niet opslaan",applyMotionTriggers:"Kan beweging trigger instellingen niet opslaan",loadSteps:"Kan kalibratie instellingen niet ophalen",updateCalibration:"Kan kalibratie instellingen niet opslaan",resetError:"Het systeem is onverwachts herstart. De laatste status is:",resetReason:{0:"Normaal opgestart",1:"Reageert niet, herstart door hardware watchdog",2:"Onafgehandelde fout",3:"Reageert niet, herstart door software watchdog",4:"Herstart verzoek door systeem",5:"Wakker geworden uit diepe slaap",6:"Systeem gereset"},stackTrace:"Een stack trace is beschikbaar. Stuur het naar de dichtsbijzijnde ontwikkelaar en/of verwijder het van deze Trap module om dit bericht te verbergen.",stackTraceDownload:"Downloaden",stackTraceDelete:"Verwijderen",stackTraceDeleteError:"Kan stack trace niet verwijderen"},calibration:{title:"Kalibratie wizard",backButton:"Terug",count:"Aantal treden",nextButton:"Volgende",applyButton:"Voltooien",allStepsValue:"Intensiteit voor alle treden",ranges:"Min / max waarden per trede",useCurve:"Gebruik logaritmische curve voor intensiteit (aangeraden voor LEDs)"}}};function startApp(){Vue.component("check",{template:'
{{ title }}
',props:{title:String,value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},methods:{handleClick:function(){this.disabled||(this.value=!this.value,this.$emit("input",this.value))},handleKeyDown:function(e){32==e.keyCode&&(this.handleClick(),e.preventDefault())}}}),Vue.component("radio",{template:'
{{ title }}
',props:{title:String,value:null,id:null,disabled:{type:Boolean,default:!1}},methods:{handleClick:function(){this.disabled||(this.value=this.id,this.$emit("input",this.value))},handleKeyDown:function(e){32==e.keyCode&&(this.handleClick(),e.preventDefault())}}}),Vue.component("range",{template:'
{{ value.start }}
{{ value.end }}
',props:["value"],mounted:function(){this.oldValue={start:this.value.start,end:this.value.end}},watch:{value:{handler:function(e){e.start!=this.oldValue.start?e.start>e.end&&(e.end=e.start+1,this.$emit("input",e)):e.end!=this.oldValue.end&&e.end0?0:i.time||0,relativeTime:i.triggerType>0?i.time||0:0,monday:(1&i.daysOfWeek)>0,tuesday:(2&i.daysOfWeek)>0,wednesday:(4&i.daysOfWeek)>0,thursday:(8&i.daysOfWeek)>0,friday:(16&i.daysOfWeek)>0,saturday:(32&i.daysOfWeek)>0,sunday:(64&i.daysOfWeek)>0})}e.triggers.time=n}}).catch(e.handleAPIError.bind(e,"error.loadTimeTriggers"))},loadMotionTriggers:function(){var e=this;return axios.get("/api/triggers/motion").then(function(t){"object"==typeof t.data&&(e.triggers.motion=t.data)}).catch(e.handleAPIError.bind(e,"error.loadMotionTriggers"))},loadSteps:function(){var e=this;return axios.get("/api/steps/values").then(function(t){if(Array.isArray(t.data)){for(var n=!0,r=!1,i=0,a=[],o=0;o0){var n=t.data.results[0].geometry.location;e.system.lat=n.lat,e.system.lng=n.lng}}).catch(e.handleAPIError.bind(e,"error.searchLocation")).then(function(){e.searchingLocation=!1}))},applyTimeTriggers:function(){var e=this;if(!e.saving){e.saving=!0;for(var t={enabled:e.triggers.time.enabled,transitionTime:e.triggers.time.transitionTime,triggers:[]},n=0;n0?r.relativeTime:r.fixedTime,daysOfWeek:(r.monday?1:0)|(r.tuesday?2:0)|(r.wednesday?4:0)|(r.thursday?8:0)|(r.friday?16:0)|(r.saturday?32:0)|(r.sunday?64:0)})}axios.post("/api/triggers/time",t).then(function(e){}).catch(e.handleAPIError.bind(e,"error.applyTimeTriggers")).then(function(){e.saving=!1})}},addTimeTrigger:function(){this.triggers.time.triggers.push({brightness:0,triggerType:0,enabled:!0,fixedTime:540,relativeTime:0,monday:!0,tuesday:!0,wednesday:!0,thursday:!0,friday:!0,saturday:!0,sunday:!0})},deleteTimeTrigger:function(e){this.triggers.time.triggers.splice(e,1)},applyMotionTriggers:function(){var e=this;e.saving||(e.saving=!0,axios.post("/api/triggers/motion",e.triggers.motion).then(function(e){}).catch(e.handleAPIError.bind(e,"error.applyMotionTriggers")).then(function(){e.saving=!1}))},addMotionTrigger:function(){this.triggers.motion.triggers.push({brightness:0,enabled:!0,pin:2,direction:1})},deleteMotionTrigger:function(e){this.triggers.motion.triggers.splice(e,1)},getDisplayTime:function(e,t){var n="";t&&(n+=e>=0?"+":"-");var r=(e=Math.abs(e))%60;return n+=Math.floor(e/60)+":",r<10&&(n+="0"),n+=r},startCalibration:function(){var e=this;axios.get("/api/steps").then(function(t){"object"==typeof t.data&&(e.calibration={wizardStep:0,count:t.data.count,useCurve:t.data.useCurve,ranges:t.data.ranges})}).catch(e.handleAPIError.bind(e,"error.loadSteps"))},stopCalibration:function(){this.calibration=null},applyCalibration:function(){this.stopCalibration()},hasNextCalibrationStep:function(){return this.calibration.wizardStep<1},nextCalibrationStep:function(){if(0==this.calibration.wizardStep)if(this.calibration.count<1?this.calibration.count=1:this.calibration.count>16&&(this.calibration.count=16),this.calibration.ranges.length>this.calibration.count)this.calibration.ranges.splice(this.calibration.count);else for(;this.calibration.ranges.length=0?"+":"-")+r.substr(-2)+":"+i.substr(-2);return t+":"+n.substr(-2)+" ("+a+")"}},watch:{allSteps:{handler:function(){this.stepsChanged()},sync:!0},allStepsValue:{handler:function(){this.stepsChanged()},sync:!0},steps:{handler:function(){this.stepsChanged()},deep:!0,sync:!0},activeTab:function(e){window.location.hash="#"+e},calibration:{handler:function(){this.calibrationChanged()},deep:!0}}})} \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new o(e),n=a(o.prototype.request,t);return i.extend(n,o.prototype,t),i.extend(n,t),n}var i=n(2),a=n(3),o=n(5),s=n(6),c=r(s);c.Axios=o,c.create=function(e){return r(i.merge(s,e))},c.Cancel=n(23),c.CancelToken=n(24),c.isCancel=n(20),c.all=function(e){return Promise.all(e)},c.spread=n(25),e.exports=c,e.exports.default=c},function(e,t,n){"use strict";function r(e){return"[object Array]"===l.call(e)}function i(e){return null!==e&&"object"==typeof e}function a(e){return"[object Function]"===l.call(e)}function o(e,t){if(null!==e&&void 0!==e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,i=e.length;n=200&&e<300}};s.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){s.headers[e]={}}),i.forEach(["post","put","patch"],function(e){s.headers[e]=i.merge(o)}),e.exports=s},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),i=n(9),a=n(12),o=n(13),s=n(14),c=n(10),l="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,u){var f=e.data,d=e.headers;r.isFormData(f)&&delete d["Content-Type"];var p=new XMLHttpRequest,h="onreadystatechange",v=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in p||s(e.url)||(p=new window.XDomainRequest,h="onload",v=!0,p.onprogress=function(){},p.ontimeout=function(){}),e.auth){var m=e.auth.username||"",g=e.auth.password||"";d.Authorization="Basic "+l(m+":"+g)}if(p.open(e.method.toUpperCase(),a(e.url,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p[h]=function(){if(p&&(4===p.readyState||v)&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?o(p.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:1223===p.status?204:p.status,statusText:1223===p.status?"No Content":p.statusText,headers:n,config:e,request:p};i(t,u,r),p=null}},p.onerror=function(){u(c("Network Error",e,null,p)),p=null},p.ontimeout=function(){u(c("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var y=n(16),b=(e.withCredentials||s(e.url))&&e.xsrfCookieName?y.read(e.xsrfCookieName):void 0;b&&(d[e.xsrfHeaderName]=b)}if("setRequestHeader"in p&&r.forEach(d,function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)}),e.withCredentials&&(p.withCredentials=!0),e.responseType)try{p.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){p&&(p.abort(),u(e),p=null)}),void 0===f&&(f=null),p.send(f)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,i,a){var o=new Error(e);return r(o,t,n,i,a)}},function(e,t){"use strict";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var i=n(2);e.exports=function(e,t,n){if(!t)return e;var a;if(n)a=n(t);else if(i.isURLSearchParams(t))a=t.toString();else{var o=[];i.forEach(t,function(e,t){null!==e&&void 0!==e&&(i.isArray(e)&&(t+="[]"),i.isArray(e)||(e=[e]),i.forEach(e,function(e){i.isDate(e)?e=e.toISOString():i.isObject(e)&&(e=JSON.stringify(e)),o.push(r(t)+"="+r(e))}))}),a=o.join("&")}return a&&(e+=(-1===e.indexOf("?")?"?":"&")+a),e}},function(e,t,n){"use strict";var r=n(2),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,a,o={};return e?(r.forEach(e.split("\n"),function(e){if(a=e.indexOf(":"),t=r.trim(e.substr(0,a)).toLowerCase(),n=r.trim(e.substr(a+1)),t){if(o[t]&&i.indexOf(t)>=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([n]):o[t]?o[t]+", "+n:n}}),o):o}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(i.setAttribute("href",t),t=i.href),i.setAttribute("href",t),{href:i.href,protocol:i.protocol?i.protocol.replace(/:$/,""):"",host:i.host,search:i.search?i.search.replace(/^\?/,""):"",hash:i.hash?i.hash.replace(/^#/,""):"",hostname:i.hostname,port:i.port,pathname:"/"===i.pathname.charAt(0)?i.pathname:"/"+i.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),i=document.createElement("a");return t=e(window.location.href),function(n){var i=r.isString(n)?e(n):n;return i.protocol===t.protocol&&i.host===t.host}}():function(){return!0}},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=function(e){for(var t,i,a=String(e),o="",s=0,c=r;a.charAt(0|s)||(c="=",s%1);o+=c.charAt(63&t>>8-s%1*8)){if((i=a.charCodeAt(s+=.75))>255)throw new n;t=t<<8|i}return o}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,i,a,o){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(i)&&s.push("path="+i),r.isString(a)&&s.push("domain="+a),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";function r(){this.handlers=[]}var i=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){i.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var i=n(2),a=n(19),o=n(20),s=n(6),c=n(21),l=n(22);e.exports=function(e){r(e),e.baseURL&&!c(e.url)&&(e.url=l(e.baseURL,e.url)),e.headers=e.headers||{},e.data=a(e.data,e.headers,e.transformRequest),e.headers=i.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),i.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});return(e.adapter||s.adapter)(e).then(function(t){return r(e),t.data=a(t.data,t.headers,e.transformResponse),t},function(t){return o(t)||(r(e),t&&t.response&&(t.response.data=a(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new i(e),t(n.reason))})}var i=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e;return{token:new r(function(t){e=t}),cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}),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 void 0===e||null===e}function t(e){return void 0!==e&&null!==e}function n(e){return!0===e}function r(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function i(e){return null!==e&&"object"==typeof e}function a(e){return"[object Object]"===mn.call(e)}function o(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function s(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function c(e){var t=parseFloat(e);return isNaN(t)?e:t}function l(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}function f(e,t){return bn.call(e,t)}function d(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function p(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 h(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function v(e,t){for(var n in t)e[n]=t[n];return e}function m(e){for(var t={},n=0;n0&&(X((c=i(c,(o||"")+"_"+s))[0])&&X(u)&&(f[l]=C(u.text+c[0].text),c.shift()),f.push.apply(f,c)):r(c)?X(u)?f[l]=C(u.text+c):""!==c&&f.push(C(c)):X(c)&&X(u)?f[l]=C(u.text+c.text):(n(a._isVList)&&t(c.tag)&&e(c.key)&&t(o)&&(c.key="__vlist"+o+"_"+s+"__"),f.push(c)));return f}(l):void 0:c===Ir&&(s=function(e){for(var t=0;t=0||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}(n[a],r[a],i[a]));return t}(e);r&&v(e.extendOptions,r),(t=e.options=L(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Ee(e){this._init(e)}function Pe(e){return e&&(e.Ctor.options.name||e.tag)}function je(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:(n=e,!("[object RegExp]"!==mn.call(n))&&e.test(t));var n}function Ie(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var a in n){var o=n[a];if(o){var s=Pe(o.componentOptions);s&&!t(s)&&Le(n,a,r,i)}}}function Le(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,u(n,t)}function Fe(e,n){return{staticClass:Ne(e.staticClass,n.staticClass),class:t(e.class)?[e.class,n.class]:n.class}}function Ne(e,t){return e?t?e+" "+t:e:t||""}function Me(e){return Array.isArray(e)?function(e){for(var n,r="",i=0,a=e.length;i=0&&" "===(m=e.charAt(v));v--);m&&bi.test(m)||(u=!0)}}else void 0===a?(h=i+1,a=e.slice(0,i).trim()):t();if(void 0===a?a=e.slice(0,i).trim():0!==h&&t(),o)for(i=0;i-1?{exp:e.slice(0,Ur),key:'"'+e.slice(Ur+1)+'"'}:{exp:e,key:null};for(Vr=e,Ur=zr=Kr=0;!ct();)lt(Hr=st())?ut(Hr):91===Hr&&function(e){var t=1;for(zr=Ur;!ct();)if(e=st(),lt(e))ut(e);else if(91===e&&t++,93===e&&t--,0===t){Kr=Ur;break}}(Hr);return{exp:e.slice(0,zr),key:e.slice(zr+1,Kr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function st(){return Vr.charCodeAt(++Ur)}function ct(){return Ur>=Wr}function lt(e){return 34===e||39===e}function ut(e){for(var t=e;!ct()&&(e=st())!==t;);}function ft(e,t,n,r,i){t=(a=t)._withTask||(a._withTask=function(){hr=!0;var e=a.apply(null,arguments);return hr=!1,e}),n&&(t=function(e,t,n){var r=qr;return function i(){null!==e.apply(null,arguments)&&dt(t,i,n,r)}}(t,e,r)),qr.addEventListener(e,t,Hn?{capture:r,passive:i}:r);var a}function dt(e,t,n,r){(r||qr).removeEventListener(e,t._withTask||t,n)}function pt(n,r){if(!e(n.data.on)||!e(r.data.on)){var i=r.data.on||{},a=n.data.on||{};qr=r.elm,function(e){if(t(e[_i])){var n=Nn?"change":"input";e[n]=[].concat(e[_i],e[n]||[]),delete e[_i]}t(e[wi])&&(e.change=[].concat(e[wi],e.change||[]),delete e[wi])}(i),q(i,a,ft,dt,r.context),qr=void 0}}function ht(n,r){if(!e(n.data.domProps)||!e(r.data.domProps)){var i,a,o=r.elm,s=n.data.domProps||{},l=r.data.domProps||{};t(l.__ob__)&&(l=r.data.domProps=v({},l));for(i in s)e(l[i])&&(o[i]="");for(i in l){if(a=l[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),a===s[i])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===i){o._value=a;var u=e(a)?"":String(a);d=u,!(f=o).composing&&("OPTION"===f.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(f,d)||function(e,n){var r=e.value,i=e._vModifiers;if(t(i)){if(i.lazy)return!1;if(i.number)return c(r)!==c(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(f,d))&&(o.value=u)}else o[i]=a}}var f,d}function vt(e){var t=mt(e.style);return e.staticStyle?v(e.staticStyle,t):t}function mt(e){return Array.isArray(e)?m(e):"string"==typeof e?Ci(e):e}function gt(n,r){var i=r.data,a=n.data;if(!(e(i.staticStyle)&&e(i.style)&&e(a.staticStyle)&&e(a.style))){var o,s,c=r.elm,l=a.staticStyle,u=a.normalizedStyle||a.style||{},f=l||u,d=mt(r.data.style)||{};r.data.normalizedStyle=t(d.__ob__)?v({},d):d;var p=function(e,t){for(var n,r={},i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=vt(i.data))&&v(r,n);(n=vt(e.data))&&v(r,n);for(var a=e;a=a.parent;)a.data&&(n=vt(a.data))&&v(r,n);return r}(r);for(s in f)e(p[s])&&Ai(c,s,"");for(s in p)(o=p[s])!==f[s]&&Ai(c,s,null==o?"":o)}}function yt(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 bt(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),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function _t(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&v(t,Ei(e.name||"v")),v(t,e),t}return"string"==typeof e?Ei(e):void 0}}function wt(e){Ri(function(){Ri(e)})}function Tt(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),yt(e,t))}function kt(e,t){e._transitionClasses&&u(e._transitionClasses,t),bt(e,t)}function Ct(e,t,n){var r=St(e,t),i=r.type,a=r.timeout,o=r.propCount;if(!i)return n();var s=i===ji?Fi:Mi,c=0,l=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++c>=o&&l()};setTimeout(function(){c0&&(n=ji,u=o,f=a.length):t===Ii?l>0&&(n=Ii,u=l,f=c.length):f=(n=(u=Math.max(o,l))>0?o>l?ji:Ii:null)?n===ji?a.length:c.length:0,{type:n,timeout:u,propCount:f,hasTransform:n===ji&&Bi.test(r[Li+"Property"])}}function xt(e,t){for(;e.length1}function Pt(e,t){!0!==t.data.show&&$t(t)}function jt(e,t,n){It(e,t,n),(Nn||Rn)&&setTimeout(function(){It(e,t,n)},0)}function It(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var a,o,s=0,c=e.options.length;s-1,o.selected!==a&&(o.selected=a);else if(y(Ft(o),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function Lt(e,t){return t.every(function(t){return!y(t,e)})}function Ft(e){return"_value"in e?e._value:e.value}function Nt(e){e.target.composing=!0}function Mt(e){e.target.composing&&(e.target.composing=!1,Rt(e.target,"input"))}function Rt(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Bt(e){return!e.componentInstance||e.data&&e.data.transition?e:Bt(e.componentInstance._vnode)}function Wt(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Wt(Q(t.children)):e}function Vt(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var a in i)t[wn(a)]=i[a];return t}function Ht(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function Ut(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function zt(e){e.data.newPos=e.elm.getBoundingClientRect()}function Kt(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var a=e.elm.style;a.transform=a.WebkitTransform="translate("+r+"px,"+i+"px)",a.transitionDuration="0s"}}function qt(e,t){var n=t?Oa:$a;return e.replace(n,function(e){return Aa[e]})}function Jt(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n':'
',ka.innerHTML.indexOf(" ")>0}var vn=Object.freeze({}),mn=Object.prototype.toString,gn=l("slot,component",!0),yn=l("key,ref,slot,slot-scope,is"),bn=Object.prototype.hasOwnProperty,_n=/-(\w)/g,wn=d(function(e){return e.replace(_n,function(e,t){return t?t.toUpperCase():""})}),Tn=d(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),kn=/\B([A-Z])/g,Cn=d(function(e){return e.replace(kn,"-$1").toLowerCase()}),Sn=function(e,t,n){return!1},xn=function(e){return e},An="data-server-rendered",$n=["component","directive","filter"],On=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Dn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Sn,isReservedAttr:Sn,isUnknownElement:Sn,getTagNamespace:g,parsePlatformTagName:xn,mustUseProp:Sn,_lifecycleHooks:On},En=/[^\w.$]/,Pn="__proto__"in{},jn="undefined"!=typeof window,In="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Ln=In&&WXEnvironment.platform.toLowerCase(),Fn=jn&&window.navigator.userAgent.toLowerCase(),Nn=Fn&&/msie|trident/.test(Fn),Mn=Fn&&Fn.indexOf("msie 9.0")>0,Rn=Fn&&Fn.indexOf("edge/")>0,Bn=Fn&&Fn.indexOf("android")>0||"android"===Ln,Wn=Fn&&/iphone|ipad|ipod|ios/.test(Fn)||"ios"===Ln,Vn=(Fn&&/chrome\/\d+/.test(Fn),{}.watch),Hn=!1;if(jn)try{var Un={};Object.defineProperty(Un,"passive",{get:function(){Hn=!0}}),window.addEventListener("test-passive",null,Un)}catch(e){}var zn,Kn,qn=function(){return void 0===zn&&(zn=!jn&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),zn},Jn=jn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Gn="undefined"!=typeof Symbol&&k(Symbol)&&"undefined"!=typeof Reflect&&k(Reflect.ownKeys);Kn="undefined"!=typeof Set&&k(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var Xn=g,Zn=0,Yn=function(){this.id=Zn++,this.subs=[]};Yn.prototype.addSub=function(e){this.subs.push(e)},Yn.prototype.removeSub=function(e){u(this.subs,e)},Yn.prototype.depend=function(){Yn.target&&Yn.target.addDep(this)},Yn.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;tAr&&Tr[n].id>e.id;)n--;Tr.splice(n+1,0,e)}else Tr.push(e);Sr||(Sr=!0,U(le))}}(this)},Or.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||i(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){B(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Or.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Or.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},Or.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||u(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Dr={enumerable:!0,configurable:!0,get:g,set:g},Er={lazy:!0};Se(xe.prototype);var Pr={init:function(e,n,r,i){if(!e.componentInstance||e.componentInstance._isDestroyed)(e.componentInstance=function(e,n,a,o){var s={_isComponent:!0,parent:wr,_parentVnode:e,_parentElm:r||null,_refElm:i||null},c=e.data.inlineTemplate;return t(c)&&(s.render=c.render,s.staticRenderFns=c.staticRenderFns),new e.componentOptions.Ctor(s)}(e)).$mount(n?e.elm:void 0,n);else if(e.data.keepAlive){var a=e;Pr.prepatch(a,a)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,i){var a=!!(i||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==vn);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=i,e.$attrs=r.data&&r.data.attrs||vn,e.$listeners=n||vn,t&&e.$options.props){or.shouldConvert=!1;for(var o=e._props,s=e.$options._propKeys||[],c=0;c1?h(n):n;for(var r=h(arguments,1),i=0,a=n.length;iparseInt(this.max)&&Le(o,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={};t.get=function(){return Dn},Object.defineProperty(e,"config",t),e.util={warn:Xn,extend:v,mergeOptions:L,defineReactive:$},e.set=O,e.delete=D,e.nextTick=U,e.options=Object.create(null),$n.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,v(e.options.components,Br),e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=h(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},e.mixin=function(e){return this.options=L(this.options,e),this},function(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var a=e.name||n.options.name,o=function(e){this._init(e)};return(o.prototype=Object.create(n.prototype)).constructor=o,o.cid=t++,o.options=L(n.options,e),o.super=n,o.options.props&&function(e){var t=e.options.props;for(var n in t)ue(e.prototype,"_props",n)}(o),o.options.computed&&function(e){var t=e.options.computed;for(var n in t)fe(e.prototype,n,t[n])}(o),o.extend=n.extend,o.mixin=n.mixin,o.use=n.use,$n.forEach(function(e){o[e]=n[e]}),a&&(o.options.components[a]=o),o.superOptions=n.options,o.extendOptions=e,o.sealedOptions=v({},o.options),i[r]=o,o}}(e),n=e,$n.forEach(function(e){n[e]=function(t,n){return n?("component"===e&&a(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}});var n}(Ee),Object.defineProperty(Ee.prototype,"$isServer",{get:qn}),Object.defineProperty(Ee.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Ee.version="2.5.13";var Wr,Vr,Hr,Ur,zr,Kr,qr,Jr,Gr=l("style,class"),Xr=l("input,textarea,option,select,progress"),Zr=function(e,t,n){return"value"===n&&Xr(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Yr=l("contenteditable,draggable,spellcheck"),Qr=l("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),ei="http://www.w3.org/1999/xlink",ti=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},ni=function(e){return ti(e)?e.slice(6,e.length):""},ri=function(e){return null==e||!1===e},ii={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},ai=l("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),oi=l("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),si=function(e){return ai(e)||oi(e)},ci=Object.create(null),li=l("text,number,password,search,email,tel,url"),ui=Object.freeze({createElement:function(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)},createElementNS:function(e,t){return document.createElementNS(ii[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setAttribute:function(e,t,n){e.setAttribute(t,n)}}),fi={create:function(e,t){We(t)},update:function(e,t){e.data.ref!==t.data.ref&&(We(e,!0),We(t))},destroy:function(e){We(e,!0)}},di=new er("",{},[]),pi=["create","activate","update","remove","destroy"],hi={create:Ue,update:Ue,destroy:function(e){Ue(e,di)}},vi=Object.create(null),mi=[fi,hi],gi={create:qe,update:qe},yi={create:Ge,update:Ge},bi=/[\w).+\-_$\]]/,_i="__r",wi="__c",Ti={create:pt,update:pt},ki={create:ht,update:ht},Ci=d(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}),Si=/^--/,xi=/\s*!important$/,Ai=function(e,t,n){if(Si.test(t))e.style.setProperty(t,n);else if(xi.test(n))e.style.setProperty(t,n.replace(xi,""),"important");else{var r=Oi(t);if(Array.isArray(n))for(var i=0,a=n.length;ip?h(n,e(i[b+1])?null:i[b+1].elm,i,d,b,a):d>b&&m(0,r,f,p)}(c,d,p,a,s):t(p)?(t(r.text)&&S.setTextContent(c,""),h(c,null,p,0,p.length-1,a)):t(d)?m(0,d,0,d.length-1):t(r.text)&&S.setTextContent(c,""):r.text!==i.text&&S.setTextContent(c,i.text),t(u)&&t(l=u.hook)&&t(l=l.postpatch)&&l(r,i)}}}function b(e,r,i){if(n(i)&&t(e.parent))e.parent.data.pendingInsert=r;else for(var a=0;a-1?ci[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:ci[e]=/HTMLUnknownElement/.test(t.toString())},v(Ee.options.directives,Hi),v(Ee.options.components,qi),Ee.prototype.__patch__=jn?Wi:g,Ee.prototype.$mount=function(e,t){return function(e,t,n){e.$el=t,e.$options.render||(e.$options.render=nr),ce(e,"beforeMount");return new Or(e,function(){e._update(e._render(),n)},g,null,!0),n=!1,null==e.$vnode&&(e._isMounted=!0,ce(e,"mounted")),e}(this,e=e&&jn?Be(e):void 0,t)},Ee.nextTick(function(){Dn.devtools&&Jn&&Jn.emit("init",Ee)},0);var Ji,Gi=/\{\{((?:.|\n)+?)\}\}/g,Xi=/[-.*+?^${}()|[\]\/\\]/g,Zi=d(function(e){var t=e[0].replace(Xi,"\\$&"),n=e[1].replace(Xi,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}),Yi={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=it(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=rt(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}},Qi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=it(e,"style");n&&(e.staticStyle=JSON.stringify(Ci(n)));var r=rt(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},ea=l("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),ta=l("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),na=l("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),ra=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ia="[a-zA-Z_][\\w\\-\\.]*",aa="((?:"+ia+"\\:)?"+ia+")",oa=new RegExp("^<"+aa),sa=/^\s*(\/?)>/,ca=new RegExp("^<\\/"+aa+"[^>]*>"),la=/^]+>/i,ua=/^/g,"$1").replace(//g,"$1")),Ea(d,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});u+=e.length-h.length,e=h,r(d,u-f,u)}else{var v=e.indexOf("<");if(0===v){if(ua.test(e)){var m=e.indexOf("--\x3e");if(m>=0){t.shouldKeepComment&&t.comment(e.substring(4,m)),n(m+3);continue}}if(fa.test(e)){var g=e.indexOf("]>");if(g>=0){n(g+2);continue}}var y=e.match(la);if(y){n(y[0].length);continue}var b=e.match(ca);if(b){var _=u;n(b[0].length),r(b[1],_,u);continue}var w=function(){var t=e.match(oa);if(t){var r={tagName:t[1],attrs:[],start:u};n(t[0].length);for(var i,a;!(i=e.match(sa))&&(a=e.match(ra));)n(a[0].length),r.attrs.push(a);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=u,r}}();if(w){!function(e){var n=e.tagName,i=e.unarySlash;s&&("p"===a&&na(n)&&r(a),l(n)&&a===n&&r(n));for(var u=c(n)||!!i,f=e.attrs.length,d=new Array(f),p=0;p=0){for(k=e.slice(v);!(ca.test(k)||oa.test(k)||ua.test(k)||fa.test(k)||(C=k.indexOf("<",1))<0);)v+=C,k=e.slice(v);T=e.substring(0,v),n(v)}v<0&&(T=e,e=""),t.chars&&T&&t.chars(T)}if(e===i){t.chars&&t.chars(e);break}}r()}(e,{warn:pa,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,start:function(e,o,l){var u=i&&i.ns||_a(e);Nn&&"svg"===u&&(o=function(e){for(var t=[],n=0;nc&&(s.push(a=e.slice(c,i)),o.push(JSON.stringify(a)));var l=Xe(r[1].trim());o.push("_s("+l+")"),s.push({"@binding":l}),c=i+r[0].length}return c1?1:0:1:e?Math.min(e,2):0;var n}(t,n.length)]?n[t].trim():e}function o(e){return JSON.parse(JSON.stringify(e))}function s(e){for(var n=arguments,r=Object(e),i=1;i=97&&t<=122||t>=65&&t<=90?"ident":t>=49&&t<=57?"number":"else"}function p(e){var t=e.trim();return("0"!==e.charAt(0)||!isNaN(e))&&(n=t,F.test(n)?function(e){var t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var n}var h,v=Object.prototype.toString,m="[object Object]",g=Object.prototype.hasOwnProperty,y="undefined"!=typeof Intl&&void 0!==Intl.DateTimeFormat,b="undefined"!=typeof Intl&&void 0!==Intl.NumberFormat,_={beforeCreate:function(){var e=this.$options;if(e.i18n=e.i18n||(e.__i18n?{}:null),e.i18n){if(e.i18n instanceof M){if(e.__i18n)try{var t={};e.__i18n.forEach(function(e){t=s(t,JSON.parse(e))}),Object.keys(t).forEach(function(n){e.i18n.mergeLocaleMessage(n,t[n])})}catch(e){}this._i18n=e.i18n,this._i18nWatcher=this._i18n.watchI18nData(),this._i18n.subscribeDataChanging(this),this._subscribing=!0}else if(n(e.i18n)){if(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof M&&(e.i18n.root=this.$root.$i18n,e.i18n.fallbackLocale=this.$root.$i18n.fallbackLocale,e.i18n.silentTranslationWarn=this.$root.$i18n.silentTranslationWarn),e.__i18n)try{var r={};e.__i18n.forEach(function(e){r=s(r,JSON.parse(e))}),e.i18n.messages=r}catch(e){}this._i18n=new M(e.i18n),this._i18nWatcher=this._i18n.watchI18nData(),this._i18n.subscribeDataChanging(this),this._subscribing=!0,(void 0===e.i18n.sync||e.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale())}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof M?(this._i18n=this.$root.$i18n,this._i18n.subscribeDataChanging(this),this._subscribing=!0):e.parent&&e.parent.$i18n&&e.parent.$i18n instanceof M&&(this._i18n=e.parent.$i18n,this._i18n.subscribeDataChanging(this),this._subscribing=!0)},beforeDestroy:function(){this._i18n&&(this._subscribing&&(this._i18n.unsubscribeDataChanging(this),delete this._subscribing),this._i18nWatcher&&(this._i18nWatcher(),delete this._i18nWatcher),this._localeWatcher&&(this._localeWatcher(),delete this._localeWatcher),this._i18n=null)}},w={name:"i18n",functional:!0,props:{tag:{type:String,default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(t,n){var r=n.props,i=n.data,a=n.children,o=n.parent.$i18n;if(a=(a||[]).filter(function(e){return e.tag||(e.text=e.text.trim())}),!o)return a;var s=r.path,c=r.locale,l={},u=r.places||{},f=Array.isArray(u)?u.length>0:Object.keys(u).length>0,d=a.every(function(e){if(e.data&&e.data.attrs){var t=e.data.attrs.place;return void 0!==t&&""!==t}});return f&&a.length>0&&!d&&e("If places prop is set, all child elements must have place prop set."),Array.isArray(u)?u.forEach(function(e,t){l[t]=e}):Object.keys(u).forEach(function(e){l[e]=u[e]}),a.forEach(function(e,t){var n=d?""+e.data.attrs.place:""+t;l[n]=e}),t(r.tag,i,o.i(s,c,l))}},T=function(){this._caches=Object.create(null)};T.prototype.interpolate=function(e,n){var r=this._caches[e];return r||(r=function(e){for(var t=[],n=0,r="";n0)f--,u=D,h[S]();else{if(f=0,!1===(n=p(n)))return!1;h[x]()}};null!==u;)if(l++,"\\"!==(t=e[l])||!function(){var t=e[l+1];if(u===E&&"'"===t||u===P&&'"'===t)return l++,r="\\"+t,h[S](),!0}()){if(i=d(t),(a=(s=L[u])[i]||s.else||I)===I)return;if(u=a[0],(o=h[a[1]])&&(r=a[2],r=void 0===r?t:r,!1===o()))return;if(u===j)return c}}(e))&&(this._cache[e]=t),t||[]},N.prototype.getPathValue=function(e,n){if(!t(e))return null;var r=this.parsePath(n);if(i=r,Array.isArray(i)&&0===i.length)return null;for(var i,a=r.length,o=e,s=0;s-1)e.splice(n,1)}}(this._dataListeners,e)},M.prototype.watchI18nData=function(){var e=this;return this._vm.$watch("$data",function(){for(var t=e._dataListeners.length;t--;)h.nextTick(function(){e._dataListeners[t]&&e._dataListeners[t].$forceUpdate()})},{deep:!0})},M.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var e=this._vm;return this._root.vm.$watch("locale",function(t){e.$set(e,"locale",t),e.$forceUpdate()},{immediate:!0})},R.vm.get=function(){return this._vm},R.messages.get=function(){return o(this._getMessages())},R.dateTimeFormats.get=function(){return o(this._getDateTimeFormats())},R.numberFormats.get=function(){return o(this._getNumberFormats())},R.locale.get=function(){return this._vm.locale},R.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},R.fallbackLocale.get=function(){return this._vm.fallbackLocale},R.fallbackLocale.set=function(e){this._vm.$set(this._vm,"fallbackLocale",e)},R.missing.get=function(){return this._missing},R.missing.set=function(e){this._missing=e},R.formatter.get=function(){return this._formatter},R.formatter.set=function(e){this._formatter=e},R.silentTranslationWarn.get=function(){return this._silentTranslationWarn},R.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},M.prototype._getMessages=function(){return this._vm.messages},M.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},M.prototype._getNumberFormats=function(){return this._vm.numberFormats},M.prototype._warnDefault=function(e,t,n,i){return r(n)?(this.missing&&this.missing.apply(null,[e,t,i]),t):n},M.prototype._isFallbackRoot=function(e){return!e&&!r(this._root)&&this._fallbackRoot},M.prototype._interpolate=function(e,t,i,a,o,s){if(!t)return null;var c=this._path.getPathValue(t,i);if(Array.isArray(c))return c;var l;if(r(c)){if(!n(t))return null;if("string"!=typeof(l=t[i]))return null}else{if("string"!=typeof c)return null;l=c}return l.indexOf("@:")>=0&&(l=this._link(e,t,l,a,o,s)),s?this._render(l,o,s):l},M.prototype._link=function(e,t,n,r,i,a){var o=n,s=o.match(/(@:[\w\-_|.]+)/g);for(var c in s)if(s.hasOwnProperty(c)){var l=s[c],u=l.substr(2),f=this._interpolate(e,t,u,r,"raw"===i?"string":i,"raw"===i?void 0:a);if(this._isFallbackRoot(f)){if(!this._root)throw Error("unexpected error");var d=this._root;f=d._translate(d._getMessages(),d.locale,d.fallbackLocale,u,r,i,a)}o=(f=this._warnDefault(e,u,f,r))?o.replace(l,f):o}return o},M.prototype._render=function(e,t,n){var r=this._formatter.interpolate(e,n);return"string"===t?r.join(""):r},M.prototype._translate=function(e,t,n,i,a,o,s){var c=this._interpolate(t,e[t],i,a,o,s);return r(c)?r(c=this._interpolate(n,e[n],i,a,o,s))?null:c:c},M.prototype._t=function(e,t,n,r){for(var a=[],o=arguments.length-4;o-- >0;)a[o]=arguments[o+4];if(!e)return"";var s=i.apply(void 0,a),c=s.locale||t,l=this._translate(n,c,this.fallbackLocale,e,r,"string",s.params);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return(u=this._root).t.apply(u,[e].concat(a))}return this._warnDefault(c,e,l,r);var u},M.prototype.t=function(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];return(r=this)._t.apply(r,[e,this.locale,this._getMessages(),null].concat(t));var r},M.prototype._i=function(e,t,n,r,i){var a=this._translate(n,t,this.fallbackLocale,e,r,"raw",i);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.i(e,t,i)}return this._warnDefault(t,e,a,r)},M.prototype.i=function(e,t,n){return e?("string"!=typeof t&&(t=this.locale),this._i(e,t,this._getMessages(),null,n)):""},M.prototype._tc=function(e,t,n,r,i){for(var o=[],s=arguments.length-5;s-- >0;)o[s]=arguments[s+5];return e?(void 0===i&&(i=1),a((c=this)._t.apply(c,[e,t,n,r].concat(o)),i)):"";var c},M.prototype.tc=function(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];return(i=this)._tc.apply(i,[e,this.locale,this._getMessages(),null,t].concat(n));var i},M.prototype._te=function(e,t,n){for(var r=[],a=arguments.length-3;a-- >0;)r[a]=arguments[a+3];var o=i.apply(void 0,r).locale||t;return this._exist(n[o],e)},M.prototype.te=function(e,t){return this._te(e,this.locale,this._getMessages(),t)},M.prototype.getLocaleMessage=function(e){return o(this._vm.messages[e]||{})},M.prototype.setLocaleMessage=function(e,t){this._vm.messages[e]=t},M.prototype.mergeLocaleMessage=function(e,t){this._vm.messages[e]=h.util.extend(this._vm.messages[e]||{},t)},M.prototype.getDateTimeFormat=function(e){return o(this._vm.dateTimeFormats[e]||{})},M.prototype.setDateTimeFormat=function(e,t){this._vm.dateTimeFormats[e]=t},M.prototype.mergeDateTimeFormat=function(e,t){this._vm.dateTimeFormats[e]=h.util.extend(this._vm.dateTimeFormats[e]||{},t)},M.prototype._localizeDateTime=function(e,t,n,i,a){var o=t,s=i[o];if((r(s)||r(s[a]))&&(o=n,s=i[o]),r(s)||r(s[a]))return null;var c=s[a],l=o+"__"+a,u=this._dateTimeFormatters[l];return u||(u=this._dateTimeFormatters[l]=new Intl.DateTimeFormat(o,c)),u.format(e)},M.prototype._d=function(e,t,n){if(!n)return new Intl.DateTimeFormat(t).format(e);var r=this._localizeDateTime(e,t,this.fallbackLocale,this._getDateTimeFormats(),n);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.d(e,n,t)}return r||""},M.prototype.d=function(e){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.locale,a=null;return 1===n.length?"string"==typeof n[0]?a=n[0]:t(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(a=n[0].key)):2===n.length&&("string"==typeof n[0]&&(a=n[0]),"string"==typeof n[1]&&(i=n[1])),this._d(e,i,a)},M.prototype.getNumberFormat=function(e){return o(this._vm.numberFormats[e]||{})},M.prototype.setNumberFormat=function(e,t){this._vm.numberFormats[e]=t},M.prototype.mergeNumberFormat=function(e,t){this._vm.numberFormats[e]=h.util.extend(this._vm.numberFormats[e]||{},t)},M.prototype._localizeNumber=function(e,t,n,i,a){var o=t,s=i[o];if((r(s)||r(s[a]))&&(o=n,s=i[o]),r(s)||r(s[a]))return null;var c=s[a],l=o+"__"+a,u=this._numberFormatters[l];return u||(u=this._numberFormatters[l]=new Intl.NumberFormat(o,c)),u.format(e)},M.prototype._n=function(e,t,n){if(!n)return new Intl.NumberFormat(t).format(e);var r=this._localizeNumber(e,t,this.fallbackLocale,this._getNumberFormats(),n);if(this._isFallbackRoot(r)){if(!this._root)throw Error("unexpected error");return this._root.n(e,n,t)}return r||""},M.prototype.n=function(e){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=this.locale,a=null;return 1===n.length?"string"==typeof n[0]?a=n[0]:t(n[0])&&(n[0].locale&&(i=n[0].locale),n[0].key&&(a=n[0].key)):2===n.length&&("string"==typeof n[0]&&(a=n[0]),"string"==typeof n[1]&&(i=n[1])),this._n(e,i,a)},Object.defineProperties(M.prototype,R),M.availabilities={dateTimeFormat:y,numberFormat:b},M.install=function e(t){(h=t).version&&Number(h.version.split(".")[0]),e.installed=!0,Object.defineProperty(h.prototype,"$i18n",{get:function(){return this._i18n}}),n=h,Object.defineProperty(n.prototype,"$t",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];var i=e.$i18n;return i._t.apply(i,[t,i.locale,i._getMessages(),e].concat(n))}}}),Object.defineProperty(n.prototype,"$tc",{get:function(){var e=this;return function(t,n){for(var r=[],i=arguments.length-2;i-- >0;)r[i]=arguments[i+2];var a=e.$i18n;return a._tc.apply(a,[t,a.locale,a._getMessages(),e,n].concat(r))}}}),Object.defineProperty(n.prototype,"$te",{get:function(){var e=this;return function(t,n){var r=e.$i18n;return r._te(t,r.locale,r._getMessages(),n)}}}),Object.defineProperty(n.prototype,"$d",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(i=e.$i18n).d.apply(i,[t].concat(n));var i}}}),Object.defineProperty(n.prototype,"$n",{get:function(){var e=this;return function(t){for(var n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(i=e.$i18n).n.apply(i,[t].concat(n));var i}}}),h.mixin(_),h.directive("t",{bind:c,update:l}),h.component(w.name,w);var n,r=h.config.optionMergeStrategies;r.i18n=r.methods},M.version="7.3.3","undefined"!=typeof window&&window.Vue&&window.Vue.use(M),M});var messages={en:{title:"Stairs",systemID:"System ID",firmwareVersion:"Firmware version: ",copyright:"Copyright © 2017 Mark van Renswoude",loading:"Please wait, loading configuration...",rebootPending:"The system will be rebooted, please refresh this page afterwards",applyButton:"Apply",applyButtonSaving:"Saving...",deviceTime:"Time: ",wifiStatus:{accesspoint:{title:"AP: ",disabled:"Disabled"},stationmode:{title:"WiFi: ",disabled:"Disabled",idle:"Idle",noSSID:"SSID not found",scanCompleted:"Scan completed",connectFailed:"Failed to connect",connectionLost:"Connection lost",disconnected:"Disconnected"}},status:{tabTitle:"Status",title:"Current status",allStepsTrue:"Set intensity for all steps",allStepsFalse:"Set intensity individually"},triggers:{tabTitle:"Triggers",timeTitle:"Time",timeInternet:"Please note that time triggers require an internet connection.",timeNoData:"No time triggers defined yet",timeEnabled:"Enable time triggers",timeTransitionTime:"Transition time in milliseconds",timeAdd:"Add",timeDelete:"Delete",timeTriggerEnabled:"Enabled",timeFixedTime:"Fixed time",timeSunrise:"Sunrise",timeSunset:"Sunset",timeTime:"Time in minutes",timeMonday:"Monday",timeTuesday:"Tuesday",timeWednesday:"Wednesday",timeThursday:"Thursday",timeFriday:"Friday",timeSaturday:"Saturday",timeSunday:"Sunday",motionTitle:"Motion",motionNoData:"No motion triggers defined yet",motionEnabled:"Enable motion triggers",motionEnabledDuringTimeTrigger:"Activate even if a time trigger is already active",motionEnabledDuringDay:"Activate during the day (between sunrise and sunset)",motionTransitionTime:"Transition time in milliseconds",motionDelay:"Keep on time in milliseconds",motionTriggerEnabled:"Enabled",motionAdd:"Add",motionDelete:"Delete",motionPin:"GPIO pin (active high)",motionDirection:"Sweep animation",motionDirectionNonDirectional:"None (all steps at the same time)",motionDirectionTopDown:"Top down",motionDirectionBottomUp:"Bottom up"},connection:{tabTitle:"Connection",title:"Connection parameters",accesspoint:"Enable access point",accesspointHint:"Allows for a direct connection from your device to this Stairs module for configuration purposes. The Stairs configuration is available on http://192.168.1.4/ when you are connected to it. Turn it off as soon as station mode is configured, as it is not secured in any way. You can always turn this option back on by pushing the access point button until the LED lights up.",stationmode:"Enable station mode",stationmodeHint:"Connect this Stairs module to your own WiFi router. Please enter the SSID, password and further configuration below.",ssid:"SSID",password:"Password",dhcp:"Use DHCP",dhcpHint:"Automatically assigns an IP address to this Stairs module. You probably want to keep this on unless you know what you're doing.",ipaddress:"IP address",subnetmask:"Subnet mask",gateway:"Gateway",hostname:"Hostname",hostnamePlaceholder:"Default: mac address"},system:{tabTitle:"System",ntpTitle:"Time synchronisation (NTP)",pinsTitle:"Hardware pinout",mapsTitle:"Google Maps API",firmwareTitle:"Firmware update",calibrateTitle:"Calibrate",calibrateButton:"Calibrate steps",calibrateHint:"Use the button below to configure the number of steps, and to adjust the brightness of each individual step",ntpServer:"NTP server",ntpInterval:"Refresh interval (in minutes)",ntpLat:"Latitude",ntpLng:"Longitude",ntpLocation:"Get latitude / longitude from location",ntpLocationSearch:"Search",pinLEDAP:"Access Point status LED pin (+3.3v)",pinLEDSTA:"Station Mode status LED pin (+3.3v)",pinAPButton:"Enable Access Point button pin (active low)",pinPWMDriverSDA:"PCA9685 PWM driver SDA pin (data)",pinPWMDriverSCL:"PCA9685 PWM driver SCL pin (clock)",pwmAddress:"PCA9685 PWM driver I²C address",pwmFrequency:"PCA9685 PWM driver frequency",mapsAPIKey:"Google Maps API key",mapsAPIKeyhint:"Recommended if using time triggers. Used for looking up the current timezone. Will work without an API key, but Google might throttle your request. Register for a free API key at http://console.developers.google.com/ and activate it's use for the Maps API."},error:{loadStatus:"Could not load system status",loadConnection:"Could not load connection settings",loadSystem:"Could not load system settings",loadTimeTriggers:"Could not load time trigger settings",loadMotionTriggers:"Could not load motion trigger settings",applyConnection:"Could not save connection settings",applySystem:"Could not save system settings",updateWiFiStatus:"Could not retrieve WiFi status",uploadFirmware:"Error while uploading firmware",updateSteps:"Could not apply new step values",searchLocation:"Could not look up location coordinates",applyTimeTriggers:"Could not save time trigger settings",applyMotionTriggers:"Could not save motion trigger settings",loadSteps:"Could not load calibration settings",updateCalibration:"Could not save calibration settings",resetError:"The system reports that it has been reset unexpectedly. The last power up status is:",resetReason:{0:"Normal startup",1:"Unresponsive, reset by hardware watchdog",2:"Unhandled exception",3:"Unresponsive, reset by software watchdog",4:"System restart requested",5:"Wake up from deep sleep",6:"System reset"},stackTrace:"A stack trace is available. Please send it to your nearest developer and/or delete it from this Stairs device to remove this message.",stackTraceDownload:"Download",stackTraceDelete:"Hide",stackTraceDeleteError:"Could not remove stack trace"},calibration:{title:"Calibration wizard",backButton:"Back",count:"Number of steps",nextButton:"Next",applyButton:"Complete",allStepsValue:"Intensity for all steps",ranges:"Min / max values per step",useCurve:"Use logarithmic curve for intensity (recommended for LEDs)"}},nl:{title:"Trap",systemID:"Systeem ID",firmwareVersion:"Firmware versie: ",copyright:"Copyright © 2017 Mark van Renswoude",loading:"Een ogenblik geduld, bezig met laden van configuratie...",rebootPending:"Het systeem wordt opnieuw opgestart, ververse deze pagina nadien",applyButton:"Opslaan",applyButtonSaving:"Bezig met opslaan...",deviceTime:"Tijd: ",wifiStatus:{accesspoint:{title:"AP: ",disabled:"Uitgeschakeld"},stationmode:{title:"WiFi: ",disabled:"Uitgeschakeld",idle:"Slaapstand",noSSID:"SSID niet gevonden",scanCompleted:"Scan afgerond",connectFailed:"Kan geen verbinding maken",connectionLost:"Verbinding verloren",disconnected:"Niet verbonden"}},status:{tabTitle:"Status",title:"Huidige status",allStepsTrue:"Alle treden dezelfde intensiteit",allStepsFalse:"Treden individueel instellen"},triggers:{tabTitle:"Triggers",timeTitle:"Tijd",timeInternet:"Let op dat voor tijd triggers een internetverbinding vereist is.",timeNoData:"Nog geen tijd triggers geconfigureerd",timeEnabled:"Tijd triggers inschakelen",timeTransitionTime:"Transitie tijd in milliseconden",timeAdd:"Toevoegen",timeDelete:"Verwijderen",timeTriggerEnabled:"Actief",timeFixedTime:"Vaste tijd",timeSunrise:"Zonsopkomst",timeSunset:"Zonsondergang",timeTime:"Tijd in minuten",timeMonday:"Maandag",timeTuesday:"Dinsdag",timeWednesday:"Woensdag",timeThursday:"Donderdag",timeFriday:"Vrijdag",timeSaturday:"Zaterdag",timeSunday:"Zondag",motionTitle:"Beweging",motionNoData:"Nog geen beweging triggers geconfigureerd",motionEnabled:"Beweging triggers inschakelen",motionEnabledDuringTimeTrigger:"Ook inschakelen als er al een tijd trigger actief is",motionEnabledDuringDay:"Ook overdag inschakelen (tussen zonsopgang en zonsondergang)",motionTransitionTime:"Transitie tijd in milliseconden",motionDelay:"Tijd aan in milliseconden",motionTriggerEnabled:"Actief",motionAdd:"Toevoegen",motionDelete:"Verwijderen",motionPin:"GPIO pin (actief hoog)",motionDirection:"Animatie",motionDirectionNonDirectional:"Geen (alle treden gelijktijdig)",motionDirectionTopDown:"Boven naar beneden",motionDirectionBottomUp:"Beneden naar boven"},connection:{tabTitle:"Verbinding",title:"Verbinding configuratie",accesspoint:"Access point inschakelen",accesspointHint:"Maakt het mogelijk om een directe connectie vanaf een apparaat naar deze Trap module te maken om de module te configureren. De Trap module is te benaderen via http://192.168.1.4/ nadat je connectie hebt gemaakt. Schakel deze optie uit na het configureren, aangezien deze niet beveiligd is. Je kunt deze optie ook inschakelen door op de Access point knop te drukken totdat de LED aan gaat.",stationmode:"Verbinding met WiFi maken",stationmodeHint:"Verbind deze Trap module aan je eigen WiFi router. Vul hieronder het SSID en wachtwoord in, en configureer eventuel de overige opties.",ssid:"SSID",password:"Wachtwoord",dhcp:"Gebruik DHCP",dhcpHint:"Automatisch een IP adres toewijzen aan deze Trap module. Waarschijnlijk wil je deze optie aan laten, tenzij je weet waar je mee bezig bent.",ipaddress:"IP adres",subnetmask:"Subnet masker",gateway:"Gateway",hostname:"Hostnaam",hostnamePlaceholder:"Standaard: mac adres"},system:{tabTitle:"Systeem",ntpTitle:"Tijd synchronisatie (NTP)",pinsTitle:"Hardware aansluitingen",mapsTitle:"Google Maps API",firmwareTitle:"Firmware bijwerken",calibrateTitle:"Kalibratie",calibrateButton:"Kalibreer treden",calibrateHint:"Gebruik onderstaande knop om het aantal treden in te stellen, en om de helderheid van elke trede aan te passen",ntpServer:"NTP server",ntpInterval:"Ververs interval (in minuten)",ntpLat:"Breedtegraad",ntpLng:"Lengtegraad",ntpLocation:"Breedtegraad / lengtegraad ophalen op basis van locatie",ntpLocationSearch:"Zoeken",pinLEDAP:"Access Point status LED pin (+3.3v)",pinLEDSTA:"WiFi status LED pin (+3.3v)",pinAPButton:"Access Point inschakelen knop pin (actief laag)",pinPWMDriverSDA:"PCA9685 PWM driver SDA pin (data)",pinPWMDriverSCL:"PCA9685 PWM driver SCL pin (klok)",pwmAddress:"PCA9685 PWM driver I²C address",pwmFrequency:"PCA9685 PWM driver frequency",mapsAPIKey:"Google Maps API key",mapsAPIKeyhint:"Aangeraden bij gebruik van de tijd triggers. Wordt gebruikt om de huidige tijdzone te bepalen. Werkt ook zonder API key, maar Google beperkt dan sterk de requests. Registreer een gratis API key op http://console.developers.google.com/ en activeer het voor gebruik met de Maps API."},error:{loadStatus:"Kan systeemstatus niet ophalen",loadConnection:"Kan verbinding instellingen niet ophalen",loadSystem:"Kan systeem instellingen niet ophalen",loadTimeTriggers:"Kan tijd trigger instellingen niet ophalen",loadMotionTriggers:"Kan beweging trigger instellingen niet ophalen",applyConnection:"Kan verbinding instellingen niet opslaan",applySystem:"Kan systeem instellingen niet opslaan",updateWiFiStatus:"Kan WiFi status niet ophalen",uploadFirmware:"Fout tijdens bijwerken van firmware",updateSteps:"Kan trap instellingen niet opslaan",searchLocation:"Kan locatie coordinaten niet bepalen",applyTimeTriggers:"Kan tijd trigger instellingen niet opslaan",applyMotionTriggers:"Kan beweging trigger instellingen niet opslaan",loadSteps:"Kan kalibratie instellingen niet ophalen",updateCalibration:"Kan kalibratie instellingen niet opslaan",resetError:"Het systeem is onverwachts herstart. De laatste status is:",resetReason:{0:"Normaal opgestart",1:"Reageert niet, herstart door hardware watchdog",2:"Onafgehandelde fout",3:"Reageert niet, herstart door software watchdog",4:"Herstart verzoek door systeem",5:"Wakker geworden uit diepe slaap",6:"Systeem gereset"},stackTrace:"Een stack trace is beschikbaar. Stuur het naar de dichtsbijzijnde ontwikkelaar en/of verwijder het van deze Trap module om dit bericht te verbergen.",stackTraceDownload:"Downloaden",stackTraceDelete:"Verbergen",stackTraceDeleteError:"Kan stack trace niet verwijderen"},calibration:{title:"Kalibratie wizard",backButton:"Terug",count:"Aantal treden",nextButton:"Volgende",applyButton:"Voltooien",allStepsValue:"Intensiteit voor alle treden",ranges:"Min / max waarden per trede",useCurve:"Gebruik logaritmische curve voor intensiteit (aangeraden voor LEDs)"}}};function startApp(){axios.interceptors.response.use(void 0,function(e){var t=e.config;if(!t||!t.retry)return Promise.reject(e);if(t.__retryCount=t.__retryCount||0,t.__retryCount>=t.retry)return Promise.reject(e);t.__retryCount+=1;return new Promise(function(e){setTimeout(function(){e()},t.retryDelay||1)}).then(function(){return axios(t)})}),Vue.component("check",{template:'
{{ title }}
',props:{title:String,value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},methods:{handleClick:function(){this.disabled||(this.value=!this.value,this.$emit("input",this.value))},handleKeyDown:function(e){32==e.keyCode&&(this.handleClick(),e.preventDefault())}}}),Vue.component("radio",{template:'
{{ title }}
',props:{title:String,value:null,id:null,disabled:{type:Boolean,default:!1}},methods:{handleClick:function(){this.disabled||(this.value=this.id,this.$emit("input",this.value))},handleKeyDown:function(e){32==e.keyCode&&(this.handleClick(),e.preventDefault())}}}),Vue.component("range",{template:'
{{ value.start }}
{{ value.end }}
',props:["value"],mounted:function(){this.oldValue={start:this.value.start,end:this.value.end}},watch:{value:{handler:function(e){e.start!=this.oldValue.start?e.start>e.end&&(e.end=e.start+1,this.$emit("input",e)):e.end!=this.oldValue.end&&e.end0?0:i.time||0,relativeTime:i.triggerType>0?i.time||0:0,monday:(1&i.daysOfWeek)>0,tuesday:(2&i.daysOfWeek)>0,wednesday:(4&i.daysOfWeek)>0,thursday:(8&i.daysOfWeek)>0,friday:(16&i.daysOfWeek)>0,saturday:(32&i.daysOfWeek)>0,sunday:(64&i.daysOfWeek)>0})}e.triggers.time=n}}).catch(e.handleAPIError.bind(e,"error.loadTimeTriggers"))},loadMotionTriggers:function(){var e=this;return axios.get("/api/triggers/motion",{retry:10,retryDelay:1e3}).then(function(t){"object"==typeof t.data&&(e.triggers.motion=t.data)}).catch(e.handleAPIError.bind(e,"error.loadMotionTriggers"))},loadSteps:function(){var e=this;return axios.get("/api/steps/values",{retry:10,retryDelay:1e3}).then(function(t){if(Array.isArray(t.data)){for(var n=!0,r=!1,i=0,a=[],o=0;o0){var n=t.data.results[0].geometry.location;e.system.lat=n.lat,e.system.lng=n.lng}}).catch(e.handleAPIError.bind(e,"error.searchLocation")).then(function(){e.searchingLocation=!1}))},applyTimeTriggers:function(){var e=this;if(!e.saving){e.saving=!0;for(var t={enabled:e.triggers.time.enabled,transitionTime:e.triggers.time.transitionTime,triggers:[]},n=0;n0?r.relativeTime:r.fixedTime,daysOfWeek:(r.monday?1:0)|(r.tuesday?2:0)|(r.wednesday?4:0)|(r.thursday?8:0)|(r.friday?16:0)|(r.saturday?32:0)|(r.sunday?64:0)})}axios.post("/api/triggers/time",t,{retry:10,retryDelay:1e3}).then(function(e){}).catch(e.handleAPIError.bind(e,"error.applyTimeTriggers")).then(function(){e.saving=!1})}},addTimeTrigger:function(){this.triggers.time.triggers.push({brightness:0,triggerType:0,enabled:!0,fixedTime:540,relativeTime:0,monday:!0,tuesday:!0,wednesday:!0,thursday:!0,friday:!0,saturday:!0,sunday:!0})},deleteTimeTrigger:function(e){this.triggers.time.triggers.splice(e,1)},applyMotionTriggers:function(){var e=this;e.saving||(e.saving=!0,axios.post("/api/triggers/motion",e.triggers.motion,{retry:10,retryDelay:1e3}).then(function(e){}).catch(e.handleAPIError.bind(e,"error.applyMotionTriggers")).then(function(){e.saving=!1}))},addMotionTrigger:function(){this.triggers.motion.triggers.push({brightness:0,enabled:!0,pin:2,direction:1})},deleteMotionTrigger:function(e){this.triggers.motion.triggers.splice(e,1)},getDisplayTime:function(e,t){var n="";t&&(n+=e>=0?"+":"-");var r=(e=Math.abs(e))%60;return n+=Math.floor(e/60)+":",r<10&&(n+="0"),n+=r},startCalibration:function(){var e=this;axios.get("/api/steps",{retry:10,retryDelay:1e3}).then(function(t){"object"==typeof t.data&&(e.calibration={wizardStep:0,count:t.data.count,useCurve:t.data.useCurve,ranges:t.data.ranges})}).catch(e.handleAPIError.bind(e,"error.loadSteps"))},stopCalibration:function(){this.calibration=null},applyCalibration:function(){this.stopCalibration()},hasNextCalibrationStep:function(){return this.calibration.wizardStep<1},nextCalibrationStep:function(){if(0==this.calibration.wizardStep)if(this.calibration.count<1?this.calibration.count=1:this.calibration.count>16&&(this.calibration.count=16),this.calibration.ranges.length>this.calibration.count)this.calibration.ranges.splice(this.calibration.count);else for(;this.calibration.ranges.length=0?"+":"-")+r.substr(-2)+":"+i.substr(-2);return t+":"+n.substr(-2)+" ("+a+")"}},watch:{allSteps:{handler:function(){this.stepsChanged()},sync:!0},allStepsValue:{handler:function(){this.stepsChanged()},sync:!0},steps:{handler:function(){this.stepsChanged()},deep:!0,sync:!0},activeTab:function(e){window.location.hash="#"+e},calibration:{handler:function(){this.calibrationChanged()},deep:!0}}})} \ No newline at end of file diff --git a/web/index.html b/web/index.html index d6467f2..927fa83 100644 --- a/web/index.html +++ b/web/index.html @@ -54,10 +54,8 @@ {{ $t('error.stackTrace') }}

- + {{ $t('error.stackTraceDownload') }} + {{ $t('error.stackTraceDelete') }}
diff --git a/web/lang.js b/web/lang.js index 482d8ad..6d8b0e3 100644 --- a/web/lang.js +++ b/web/lang.js @@ -165,7 +165,7 @@ var messages = { }, stackTrace: 'A stack trace is available. Please send it to your nearest developer and/or delete it from this Stairs device to remove this message.', stackTraceDownload: 'Download', - stackTraceDelete: 'Remove', + stackTraceDelete: 'Hide', stackTraceDeleteError: 'Could not remove stack trace' }, @@ -348,7 +348,7 @@ var messages = { }, stackTrace: 'Een stack trace is beschikbaar. Stuur het naar de dichtsbijzijnde ontwikkelaar en/of verwijder het van deze Trap module om dit bericht te verbergen.', stackTraceDownload: 'Downloaden', - stackTraceDelete: 'Verwijderen', + stackTraceDelete: 'Verbergen', stackTraceDeleteError: 'Kan stack trace niet verwijderen' },