From aea31ee6ddbab3e81a96fc02a4c449192fa27701 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 15 Jun 2018 22:10:51 +0200 Subject: [PATCH 01/11] Support host tokens (#507) * Update coresys.py * Update bootstrap.py * Update security.py * fix lint * Update bootstrap.py --- hassio/api/security.py | 11 ++++++++--- hassio/bootstrap.py | 11 +++++++++-- hassio/coresys.py | 1 + 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/hassio/api/security.py b/hassio/api/security.py index 1e9115ecc..69888786b 100644 --- a/hassio/api/security.py +++ b/hassio/api/security.py @@ -44,13 +44,18 @@ class SecurityMiddleware(CoreSysAttributes): if hassio_token == self.sys_homeassistant.uuid: _LOGGER.debug("%s access from Home-Assistant", request.path) request[REQUEST_FROM] = 'homeassistant' - return await handler(request) + + # Host + if hassio_token == self.sys_machine_id: + _LOGGER.debug("%s access from Host", request.path) + request[REQUEST_FROM] = 'host' # Add-on addon = self.sys_addons.from_uuid(hassio_token) if addon: _LOGGER.info("%s access from %s", request.path, addon.slug) request[REQUEST_FROM] = addon.slug - return await handler(request) - raise HTTPUnauthorized() + if not request.get(REQUEST_FROM): + raise HTTPUnauthorized() + return await handler(request) diff --git a/hassio/bootstrap.py b/hassio/bootstrap.py index a2fcda3cc..828d0cdb4 100644 --- a/hassio/bootstrap.py +++ b/hassio/bootstrap.py @@ -24,6 +24,11 @@ from .dbus import DBusManager _LOGGER = logging.getLogger(__name__) +ENV_SHARE = 'SUPERVISOR_SHARE' +ENV_NAME = 'SUPERVISOR_NAME' +ENV_REPO = 'HOMEASSISTANT_REPOSITORY' +ENV_MACHINE = 'MACHINE_ID' + def initialize_coresys(loop): """Initialize HassIO coresys/objects.""" @@ -46,6 +51,9 @@ def initialize_coresys(loop): # bootstrap config initialize_system_data(coresys) + # Set Machine/Host ID + coresys.machine_id = os.environ.get(ENV_MACHINE) + return coresys @@ -139,8 +147,7 @@ def initialize_logging(): def check_environment(): """Check if all environment are exists.""" # check environment variables - for key in ('SUPERVISOR_SHARE', 'SUPERVISOR_NAME', - 'HOMEASSISTANT_REPOSITORY'): + for key in (ENV_SHARE, ENV_NAME, ENV_REPO): try: os.environ[key] except KeyError: diff --git a/hassio/coresys.py b/hassio/coresys.py index a5f84352d..fe8ef696e 100644 --- a/hassio/coresys.py +++ b/hassio/coresys.py @@ -17,6 +17,7 @@ class CoreSys: """Initialize coresys.""" # Static attributes self.exit_code = 0 + self.machine_id = None # External objects self._loop = loop From 7482d6dd45ceea4a07fdf2d5f7d1829d8c44d071 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 15 Jun 2018 22:55:57 +0200 Subject: [PATCH 02/11] Update last panel version (#508) --- .../api/panel/chunk.42328fc4c4b31ed4a23b.js | 1 + .../panel/chunk.42328fc4c4b31ed4a23b.js.gz | Bin 0 -> 18766 bytes .../api/panel/chunk.e4eb9811aad7204f14c4.js | 1 - .../panel/chunk.e4eb9811aad7204f14c4.js.gz | Bin 18662 -> 0 bytes hassio/api/panel/entrypoint.js | 2 +- hassio/api/panel/entrypoint.js.gz | Bin 1053 -> 1052 bytes hassio/api/panel/hassio-app.html | 2 +- hassio/api/panel/hassio-app.html.gz | Bin 138289 -> 138510 bytes hassio/api/panel/index.html.gz | Bin 530 -> 530 bytes home-assistant-polymer | 2 +- 10 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js create mode 100644 hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js.gz delete mode 100644 hassio/api/panel/chunk.e4eb9811aad7204f14c4.js delete mode 100644 hassio/api/panel/chunk.e4eb9811aad7204f14c4.js.gz diff --git a/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js b/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js new file mode 100644 index 000000000..bdd968f9f --- /dev/null +++ b/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{2:function(e,n,t){"use strict";t.r(n),t(75);var o,a,r=t(4),i=t(6),s=(t(27),t(74),t(56),t(20),t(11)),l=function(){function e(e,n){for(var t=0;t\n .invisible {\n visibility: hidden;\n }\n \n \n'],a=['\n \n \n'],Object.freeze(Object.defineProperties(o,{raw:{value:Object.freeze(a)}}))),u=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),c(n,[{key:"computeMenuButtonClass",value:function(e,n){return!e&&n?"invisible":""}},{key:"toggleMenu",value:function(e){e.stopPropagation(),this.fire("hass-open-menu")}}],[{key:"template",get:function(){return Object(r.a)(d)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-menu-button",u);var h=function(){function e(e,n){for(var t=0;t\n .placeholder {\n height: 100%;\n }\n\n .layout {\n height: calc(100% - 64px);\n }\n \n\n
\n \n \n
[[title]]
\n
\n
\n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n\n
\n \n \n
[[title]]
\n
\n
\n \n
\n
\n'])}})),b=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),h(n,null,[{key:"template",get:function(){return Object(r.a)(f)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}}}]),n}();customElements.define("hass-loading-screen",b),t(72),t(57),t(101),t(3);var m=document.createElement("template");m.setAttribute("style","display: none;"),m.innerHTML='\n \n\n \n\n \n\n \n',document.head.appendChild(m.content),t(70),t(55);var y=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n }\n paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
[[title]]
\n
\n \n \n \n
\n'],{raw:{value:Object.freeze(['\n \n \n \n \n
[[title]]
\n
\n \n \n \n
\n'])}})),O=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),w(n,[{key:"openDialog",value:function(){this.$.dialog.open()}}],[{key:"template",get:function(){return Object(r.a)(k)}},{key:"properties",get:function(){return{title:String,content:String}}}]),n}();customElements.define("hassio-markdown-dialog",O),t(93),t(13),t(12),t(86),t(84),t(92);var _=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n
\n
\n Save\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n
\n
\n Save\n
\n
\n'])}})),x=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),_(n,[{key:"addonChanged",value:function(e){var n=this;if(this.setProperties({selectedInput:e.audio_input||"null",selectedOutput:e.audio_output||"null"}),!this.outputDevices){var t=[{device:"null",name:"-"}];this.hass.callApi("get","hassio/hardware/audio").then(function(e){var o=e.data.audio,a=Object.keys(o.input).map(function(e){return{device:e,name:o.input[e]}}),r=Object.keys(o.output).map(function(e){return{device:e,name:o.output[e]}});n.setProperties({inputDevices:t.concat(a),outputDevices:t.concat(r)})},function(){n.setProperties({inputDevices:t,outputDevices:t})})}}},{key:"_saveSettings",value:function(){var e=this;this.error=null;var n="hassio/addons/"+this.addon.slug+"/options";this.hass.callApi("post",n,{audio_input:"null"===this.selectedInput?null:this.selectedInput,audio_output:"null"===this.selectedOutput?null:this.selectedOutput}).then(function(){e.fire("hass-api-called",{success:!0,path:n})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(j)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},inputDevices:Array,outputDevices:Array,selectedInput:String,selectedOutput:String,error:String}}}]),n}();customElements.define("hassio-addon-audio",x),t(91);var S=function(){function e(e,n){for(var t=0;t\n .container {\n position: relative;\n display: inline-block;\n }\n\n paper-button {\n transition: all 1s;\n }\n\n .success paper-button {\n color: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error paper-button {\n color: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n paper-button[disabled] {\n color: #c8c8c8;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
\n \n \n \n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n \n \n \n \n
\n'])}})),C=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),S(n,[{key:"tempClass",value:function(e){var n=this.$.container.classList;n.add(e),setTimeout(function(){n.remove(e)},1e3)}},{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("click",function(n){return e.buttonTapped(n)})}},{key:"buttonTapped",value:function(e){this.progress&&e.stopPropagation()}},{key:"actionSuccess",value:function(){this.tempClass("success")}},{key:"actionError",value:function(){this.tempClass("error")}},{key:"computeDisabled",value:function(e,n){return e||n}}],[{key:"template",get:function(){return Object(r.a)(P)}},{key:"properties",get:function(){return{hass:{type:Object},progress:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-progress-button",C);var E=function(){function e(e,n){for(var t=0;t\n'],{raw:{value:Object.freeze(['\n \n'])}})),A=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),E(n,[{key:"buttonTapped",value:function(){var e=this;this.progress=!0;var n={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(t){e.progress=!1,e.$.progress.actionSuccess(),n.success=!0,n.response=t},function(t){e.progress=!1,e.$.progress.actionError(),n.success=!1,n.response=t}).then(function(){e.fire("hass-api-called",n)})}}],[{key:"template",get:function(){return Object(r.a)(T)}},{key:"properties",get:function(){return{hass:Object,progress:{type:Boolean,value:!1},path:String,method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-call-api-button",A);var R=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
\n \n \n
\n
\n Reset to defaults\n Save\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n \n \n
\n
\n Reset to defaults\n Save\n
\n
\n'])}})),I=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),R(n,[{key:"addonChanged",value:function(e){this.config=e?JSON.stringify(e.options,null,2):""}},{key:"configChanged",value:function(e){try{this.$.config.classList.remove("syntaxerror"),this.configParsed=JSON.parse(e)}catch(e){this.$.config.classList.add("syntaxerror"),this.configParsed=null}}},{key:"saveTapped",value:function(){var e=this;this.error=null,this.hass.callApi("post","hassio/addons/"+this.addonSlug+"/options",{options:this.configParsed}).catch(function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(D)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},addonSlug:String,config:{type:String,observer:"configChanged"},configParsed:Object,error:String,resetData:{type:Object,value:{options:null}}}}}]),n}();customElements.define("hassio-addon-config",I),t(19),t(90);var z=t(7),q=[60,"second",60,"minute",24,"hour",7,"day"],L=t(76),H=(t(82),t(85)),M={__localizationCache:{requests:{},messages:{},ajax:null},properties:{language:{type:String},resources:{type:Object},formats:{type:Object,value:function(){return{}}},useKeyIfMissing:{type:Boolean,value:!1},localize:{type:Function,computed:"__computeLocalize(language, resources, formats)"},bubbleEvent:{type:Boolean,value:!1}},loadResources:function(e,n,t){var o=this.constructor.prototype;this.__checkLocalizationCache(o);var a,r=o.__localizationCache.ajax;function i(e){this.__onRequestResponse(e,n,t)}r||(r=o.__localizationCache.ajax=document.createElement("iron-ajax")),(a=o.__localizationCache.requests[e])?a.completes.then(i.bind(this),this.__onRequestError.bind(this)):(r.url=e,(a=r.generateRequest()).completes.then(i.bind(this),this.__onRequestError.bind(this)),o.__localizationCache.requests[e]=a)},__computeLocalize:function(e,n,t){var o=this.constructor.prototype;return this.__checkLocalizationCache(o),o.__localizationCache||(o.__localizationCache={requests:{},messages:{},ajax:null}),o.__localizationCache.messages={},function(){var a=arguments[0];if(a&&n&&e&&n[e]){var r=n[e][a];if(!r)return this.useKeyIfMissing?a:"";var i=a+r,s=o.__localizationCache.messages[i];s||(s=new H.a(r,e,t),o.__localizationCache.messages[i]=s);for(var l={},p=1;p=0?"past":"future";n=Math.abs(n);for(var o=0;o\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
\n
[[title]]
\n
\n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n
[[title]]
\n
\n \n \n
\n
\n'])}})),J=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),W(n,null,[{key:"template",get:function(){return Object(r.a)(Y)}},{key:"properties",get:function(){return{hass:Object,title:String,description:String,datetime:String,icon:{type:String,value:"hass:help-circle"},iconTitle:String,iconClass:String}}}]),n}();customElements.define("hassio-card-content",J);var G=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div{\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n ha-markdown img {\n max-width: 100%;\n }\n \n \n\n \n
\n
[[addon.name]]\n
\n \n \n
\n
\n
\n [[addon.description]].
\n Visit [[addon.name]] page for details.\n
\n \n \n
\n
\n \n \n
\n
\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n
\n
[[addon.name]]\n
\n \n \n
\n
\n
\n [[addon.description]].
\n Visit [[addon.name]] page for details.\n
\n \n \n
\n
\n \n \n
\n
\n \n'])}})),X=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),G(n,[{key:"computeIsRunning",value:function(e){return e&&"started"===e.state}},{key:"computeUpdateAvailable",value:function(e){return e&&!e.detached&&e.version&&e.version!==e.last_version}},{key:"pathWebui",value:function(e){return e&&e.replace("[HOST]",document.location.hostname)}},{key:"computeShowWebUI",value:function(e,n){return e&&n}},{key:"computeStartOnBoot",value:function(e){return"auto"===e}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/changelog").then(function(e){return e},function(){return"Error getting changelog"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Changelog",content:n})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var n="hassio/addons/"+this.addonSlug+"/uninstall",t={path:n};this.hass.callApi("post",n).then(function(e){t.success=!0,t.response=e},function(e){t.success=!1,t.response=e}).then(function(){e.fire("hass-api-called",t)})}}}],[{key:"template",get:function(){return Object(r.a)(V)}},{key:"properties",get:function(){return{hass:Object,addon:Object,addonSlug:String,isRunning:{type:Boolean,computed:"computeIsRunning(addon)"}}}}]),n}();customElements.define("hassio-addon-info",X);var K=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card {\n display: block;\n }\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'])}})),Z=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),K(n,[{key:"addonSlugChanged",value:function(e){var n=this;this.hass?this.refresh():setTimeout(function(){n.addonChanged(e)},0)}},{key:"refresh",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/logs").then(function(n){e.log=n})}}],[{key:"template",get:function(){return Object(r.a)(Q)}},{key:"properties",get:function(){return{hass:Object,addonSlug:{type:String,observer:"addonSlugChanged"},log:String}}}]),n}();customElements.define("hassio-addon-logs",Z),t(24);var ee=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
\n \n\n \n \n \n \n \n \n
ContainerHost
\n
\n
\n Reset to defaults\n Save\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n \n\n \n \n \n \n \n \n
ContainerHost
\n
\n
\n Reset to defaults\n Save\n
\n
\n'])}})),te=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),ee(n,[{key:"addonChanged",value:function(e){if(e){var n=e.network||{},t=Object.keys(n).map(function(e){return{container:e,host:n[e]}});this.config=t.sort(function(e,n){return e.host-n.host})}}},{key:"saveTapped",value:function(){var e=this;this.error=null;var n={};this.config.forEach(function(e){n[e.container]=parseInt(e.host)});var t="hassio/addons/"+this.addonSlug+"/options";this.hass.callApi("post",t,{network:n}).then(function(){e.fire("hass-api-called",{success:!0,path:t})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(ne)}},{key:"properties",get:function(){return{hass:Object,addonSlug:String,config:Object,addon:{type:Object,observer:"addonChanged"},error:String,resetData:{type:Object,value:{network:null}}}}}]),n}();customElements.define("hassio-addon-network",te);var oe=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n width: 600px;\n }\n hassio-addon-logs {\n min-width: 600px;\n }\n @media only screen and (max-width: 600px) {\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config,\n hassio-addon-logs {\n max-width: 100%;\n }\n }\n \n \n \n \n \n \n \n
Hass.io: add-on details
\n
\n
\n
\n \n\n \n
\n
\n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n \n \n
Hass.io: add-on details
\n
\n
\n
\n \n\n \n
\n
\n\n \n'])}})),re=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),oe(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"apiCalled",value:function(e){var n=e.detail.path;n&&("uninstall"===n.substr(n.lastIndexOf("/")+1)?this.backTapped():this.routeDataChanged(this.routeData))}},{key:"routeDataChanged",value:function(e){var n=this;this.routeMatches&&e&&e.slug&&this.hass.callApi("get","hassio/addons/"+e.slug+"/info").then(function(e){n.addon=e.data},function(){n.addon=null})}},{key:"backTapped",value:function(){history.back()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(ae)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,route:Object,routeData:{type:Object,observer:"routeDataChanged"},routeMatches:Boolean,addon:Object,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-addon-view",re);var ie=function(){function e(e,n){for(var t=0;t1&&void 0!==arguments[1]&&arguments[1]?history.replaceState(null,null,e):history.pushState(null,null,e),this.fire("location-changed")}}]),t}()}),ce=function(){function e(e,n){for(var t=0;t\n paper-card {\n cursor: pointer;\n }\n a.repo {\n display: block;\n color: var(--primary-text-color);\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),ue=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),ce(n,[{key:"sortAddons",value:function(e,n){return e.name\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
\n
\n Repositories\n
\n Configure which add-on repositories to fetch data from:\n
\n
\n \n \n
\n \n \n
\n
\n Add\n
\n
\n
\n'],{raw:{value:Object.freeze(['\n \n
\n
\n Repositories\n
\n Configure which add-on repositories to fetch data from:\n
\n
\n \n \n
\n \n \n
\n
\n Add\n
\n
\n
\n'])}})),be=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),he(n,[{key:"reposChanged",value:function(e){this.repoList=e.filter(function(e){return"core"!==e.slug&&"local"!==e.slug}),this.repoUrl=""}},{key:"sortRepos",value:function(e,n){return e.name\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n'])}})),ve=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),me(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.loadData()}},{key:"apiCalled",value:function(e){e.detail.success&&this.loadData()}},{key:"sortRepos",value:function(e,n){return"local"===e.slug?-1:"local"===n.slug?1:"core"===e.slug?-1:"core"===n.slug?1:e.name\n paper-card {\n cursor: pointer;\n }\n \n
\n
Add-ons
\n \n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n
Add-ons
\n \n \n
\n'])}})),ke=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),ge(n,[{key:"sortAddons",value:function(e,n){return e.name\n paper-card {\n display: block;\n height: 100%;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),xe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),_e(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Oe(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}}],[{key:"template",get:function(){return Object(r.a)(je)}},{key:"properties",get:function(){return{hass:Object,hassInfo:Object,error:String}}}]),n}();customElements.define("hassio-hass-update",xe);var Se=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 0 auto;\n }\n \n
\n \n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n \n \n
\n'])}})),Ce=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),Se(n,null,[{key:"template",get:function(){return Object(r.a)(Pe)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hassInfo:Object}}}]),n}();customElements.define("hassio-dashboard",Ce),t(61);var Ee=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
[[_computeName(snapshot)]]
\n
\n
\n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
\n [[_formatDatetime(snapshot.date)]]\n
\n
Home Assistant:
\n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
\n \n \n \n \n Restore selected\n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n \n \n
[[_computeName(snapshot)]]
\n
\n
\n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
\n [[_formatDatetime(snapshot.date)]]\n
\n
Home Assistant:
\n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
\n \n \n \n \n Restore selected\n \n
\n
\n'])}})),Ae=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),Ee(n,[{key:"_snapshotSlugChanged",value:function(e){var n=this;e&&"update"!==e&&this.hass.callApi("get","hassio/snapshots/"+e+"/info").then(function(e){e.data.folders=n._computeFolders(e.data.folders),e.data.addons=n._computeAddons(e.data.addons),n.snapshot=e.data,n.$.dialog.open()},function(){n.snapshot=null})}},{key:"_computeFolders",value:function(e){var n=[];return e.includes("homeassistant")&&n.push({slug:"homeassistant",name:"Home Assistant configuration",checked:!0}),e.includes("ssl")&&n.push({slug:"ssl",name:"SSL",checked:!0}),e.includes("share")&&n.push({slug:"share",name:"Share",checked:!0}),e.includes("addons/local")&&n.push({slug:"addons/local",name:"Local add-ons",checked:!0}),n}},{key:"_computeAddons",value:function(e){return e.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})}},{key:"_isFullSnapshot",value:function(e){return"full"===e}},{key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),t=this.snapshot.folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),o={homeassistant:this.restoreHass,addons:n,folders:t};this.snapshot.protected&&(o.password=this.snapshotPassword),this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/partial",o).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.protected?{password:this.snapshotPassword}:null;this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/full",n).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/remove").then(function(){e.$.dialog.close(),e.snapshotDeleted=!0},function(n){e.error=n.body.message})}},{key:"_computeDownloadUrl",value:function(e){return"/api/hassio/snapshots/"+e+"/download?api_password="+encodeURIComponent(this.hass.connection.options.authToken)}},{key:"_computeDownloadName",value:function(e){return"Hass_io_"+this._computeName(e).replace(/[^a-z0-9]+/gi,"_")+".tar"}},{key:"_computeName",value:function(e){return e.name||e.slug}},{key:"_computeType",value:function(e){return"full"===e?"Full snapshot":"Partial snapshot"}},{key:"_computeSize",value:function(e){return Math.ceil(10*e)/10+" MB"}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
\n
\n
\n Create snapshot\n
\n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
\n
\n \n
\n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
\n
\n Create\n
\n
\n
\n\n
\n
Available snapshots
\n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n
\n
\n
\n Create snapshot\n
\n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
\n
\n \n
\n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
\n
\n Create\n
\n
\n
\n\n
\n
Available snapshots
\n \n \n
\n
\n'])}})),Ie=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),Re(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e._apiCalled(n)}),this._updateSnapshots()}},{key:"_apiCalled",value:function(e){e.detail.success&&this._updateSnapshots()}},{key:"_updateSnapshots",value:function(){var e=this;this.hass.callApi("get","hassio/snapshots").then(function(n){e.snapshots=n.data.snapshots},function(n){e.error=n.message})}},{key:"_createSnapshot",value:function(){var e=this;if(this.error="",!this.snapshotHasPassword||this.snapshotPassword.length){this.creatingSnapshot=!0;var n=this.snapshotName;n.length||(n=(new Date).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric"}));var t=void 0,o=void 0;if("full"===this.snapshotType)t={name:n},o="hassio/snapshots/new/full";else{var a=this.addonList.filter(function(e){return e.checked}).map(function(e){return e.slug});t={name:n,folders:this.folderList.filter(function(e){return e.checked}).map(function(e){return e.slug}),addons:a},o="hassio/snapshots/new/partial"}this.snapshotHasPassword&&(t.password=this.snapshotPassword),this.hass.callApi("post",o,t).then(function(){e.creatingSnapshot=!1,e.fire("hass-api-called",{success:!0})},function(n){e.creatingSnapshot=!1,e.error=n.message})}else this.error="Please enter a password."}},{key:"_installedAddonsChanged",value:function(e){this.addonList=e.map(function(e){return{slug:e.slug,name:e.name,checked:!0}})}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n paper-button.info {\n max-width: 50%;\n }\n \n \n
\n

Host system

\n \n \n \n \n \n \n \n \n \n \n
Hostname[[data.hostname]]
System[[data.operating_system]]
\n Show hardware\n \n
\n
\n \n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n

Host system

\n \n \n \n \n \n \n \n \n \n \n
Hostname[[data.hostname]]
System[[data.operating_system]]
\n Show hardware\n \n
\n
\n \n \n \n
\n
\n'])}})),He=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),qe(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===ze(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"computeRebootAvailable",value:function(e){return e.features&&e.features.includes("reboot")}},{key:"computeShutdownAvailable",value:function(e){return e.features&&e.features.includes("shutdown")}},{key:"_showHardware",value:function(){var e=this;this.hass.callApi("get","hassio/hardware/info").then(function(n){return e._objectToMarkdown(n.data)},function(){return"Error getting hardware info"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Hardware",content:n})})}},{key:"_objectToMarkdown",value:function(e){var n=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o="";return Object.keys(e).forEach(function(a){"object"!==ze(e[a])?o+=t+"- "+a+": "+e[a]+"\n":(o+=t+"- "+a+":\n",Array.isArray(e[a])?e[a].length&&(o+=t+" - "+e[a].join("\n"+t+" - ")+"\n"):o+=n._objectToMarkdown(e[a]," "+t))}),o}}],[{key:"template",get:function(){return Object(r.a)(Le)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String}}}]),n}();customElements.define("hassio-host-info",He);var Me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n
\n

Hass.io supervisor

\n \n \n \n \n \n \n \n \n \n \n
Version\n [[data.version]]\n
Latest version[[data.last_version]]
\n \n
\n
\n Reload\n \n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n

Hass.io supervisor

\n \n \n \n \n \n \n \n \n \n \n
Version\n [[data.version]]\n
Latest version[[data.last_version]]
\n \n
\n
\n Reload\n \n \n \n
\n
\n'])}})),Fe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),Ue(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Me(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"_equals",value:function(e,n){return e===n}},{key:"_joinBeta",value:function(){var e=this;if(confirm("WARNING:\nBeta releases are for testers and early adopters and can contain unstable code changes. Make sure you have backups of your data before you activate this feature.\n\nThis inludes beta releases for:\n- Home Assistant (Release Candidates)\n- Hass.io supervisor\n- Host system")){var n="hassio/supervisor/options",t={channel:"beta"},o={method:"post",path:n,data:t};this.hass.callApi("post",n,t).then(function(e){o.success=!0,o.response=e},function(e){o.success=!1,o.response=e}).then(function(){e.fire("hass-api-called",o)})}}}],[{key:"template",get:function(){return Object(r.a)(Be)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String,leaveBeta:{type:Object,value:{channel:"stable"}}}}}]),n}();customElements.define("hassio-supervisor-info",Fe);var Ne=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: block;\n }\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'])}})),We=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),Ne(n,[{key:"ready",value:function(){(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.loadData()}},{key:"loadData",value:function(){var e=this;this.hass.callApi("get","hassio/supervisor/logs").then(function(n){e.log=n},function(){e.log="Error fetching logs"})}},{key:"refreshTapped",value:function(){this.loadData()}}],[{key:"template",get:function(){return Object(r.a)($e)}},{key:"properties",get:function(){return{hass:Object,log:String}}}]),n}();customElements.define("hassio-supervisor-log",We);var Ye=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 4px;\n }\n .title {\n margin-top: 24px;\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n \n
\n
Information
\n \n \n
System log
\n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n
Information
\n \n \n
System log
\n \n
\n'])}})),Ge=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),Ye(n,null,[{key:"template",get:function(){return Object(r.a)(Je)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hostInfo:Object}}}]),n}();customElements.define("hassio-system",Ge);var Ve=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #FFF;\n text-transform: uppercase;\n }\n \n \n \n \n \n
Hass.io
\n \n
\n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
\n \n \n \n \n
\n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n
Hass.io
\n \n
\n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
\n \n \n \n \n
\n\n \n\n \n'])}})),Ke=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),Ve(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"handlePageSelected",value:function(e){var n=e.detail.item.getAttribute("page-name");n!==this.page&&this.navigate("/hassio/"+n)}},{key:"equals",value:function(e,n){return e===n}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(Xe)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,page:String,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,snapshotSlug:String,snapshotDeleted:Boolean,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-pages-with-tabs",Ke);var Qe=function(){function e(e,n){for(var t=0;t\n \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n\n \n'])}})),nn=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),Qe(n,[{key:"ready",value:function(){var e=this;Ze(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),function(e,n,t){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var a=n.default_theme;("default"===t||t&&n.themes[t])&&(a=t);var r=Object.assign({},e._themes);if("default"!==a){var i=n.themes[a];Object.keys(i).forEach(function(n){var t="--"+n;e._themes[t]="",r[t]=i[n]})}if(e.updateStyles?e.updateStyles(r):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,r),o){var s=document.querySelector("meta[name=theme-color]");if(s){s.hasAttribute("default-content")||s.setAttribute("default-content",s.getAttribute("content"));var l=r["--primary-color"]||s.getAttribute("default-content");s.setAttribute("content",l)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"connectedCallback",value:function(){Ze(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var n=this;if(e.detail.success){var t=1;!function e(){n.$.data.refresh().catch(function(){t+=1,setTimeout(e,1e3*Math.min(t,5))})}()}}},{key:"computeIsLoaded",value:function(e,n,t){return null!==e&&null!==n&&null!==t}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0)}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}],[{key:"template",get:function(){return Object(r.a)(en)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:{type:Object,value:{prefix:"/hassio",path:"/dashboard",__queryParams:{}},observer:"routeChanged"},routeData:Object,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo)"}}}}]),n}();customElements.define("hassio-main",nn)},25:function(e,n){var t=document.createElement("template");t.setAttribute("style","display: none;"),t.innerHTML='\n \n',document.head.appendChild(t.content)}}]); \ No newline at end of file diff --git a/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js.gz b/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..5979a8fafc0782a44e67466f167b9402ff655c54 GIT binary patch literal 18766 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 literal 0 HcmV?d00001 diff --git a/hassio/api/panel/chunk.e4eb9811aad7204f14c4.js b/hassio/api/panel/chunk.e4eb9811aad7204f14c4.js deleted file mode 100644 index 578e3f2b7..000000000 --- a/hassio/api/panel/chunk.e4eb9811aad7204f14c4.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{2:function(e,n,t){"use strict";t.r(n),t(75);var o,a,r=t(4),s=t(6),i=(t(27),t(74),t(56),t(20),t(11)),l=function(){function e(e,n){for(var t=0;t\n .invisible {\n visibility: hidden;\n }\n \n \n'],a=['\n \n \n'],Object.freeze(Object.defineProperties(o,{raw:{value:Object.freeze(a)}}))),u=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),c(n,[{key:"computeMenuButtonClass",value:function(e,n){return!e&&n?"invisible":""}},{key:"toggleMenu",value:function(e){e.stopPropagation(),this.fire("hass-open-menu")}}],[{key:"template",get:function(){return Object(r.a)(d)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-menu-button",u);var h=function(){function e(e,n){for(var t=0;t\n .placeholder {\n height: 100%;\n }\n\n .layout {\n height: calc(100% - 64px);\n }\n \n\n
\n \n \n
[[title]]
\n
\n
\n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n\n
\n \n \n
[[title]]
\n
\n
\n \n
\n
\n'])}})),b=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),h(n,null,[{key:"template",get:function(){return Object(r.a)(f)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}}}]),n}();customElements.define("hass-loading-screen",b),t(72),t(57),t(101),t(3);var m=document.createElement("template");m.setAttribute("style","display: none;"),m.innerHTML='\n \n\n \n\n \n\n \n',document.head.appendChild(m.content),t(70),t(55);var y=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n }\n paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
[[title]]
\n
\n \n \n \n
\n'],{raw:{value:Object.freeze(['\n \n \n \n \n
[[title]]
\n
\n \n \n \n
\n'])}})),O=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),w(n,[{key:"openDialog",value:function(){this.$.dialog.open()}}],[{key:"template",get:function(){return Object(r.a)(k)}},{key:"properties",get:function(){return{title:String,content:String}}}]),n}();customElements.define("hassio-markdown-dialog",O),t(93),t(13),t(12),t(86),t(84),t(92);var _=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n
\n
\n Save\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n
\n
\n Save\n
\n
\n'])}})),x=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),_(n,[{key:"addonChanged",value:function(e){var n=this;if(this.setProperties({selectedInput:e.audio_input||"null",selectedOutput:e.audio_output||"null"}),!this.outputDevices){var t=[{device:"null",name:"-"}];this.hass.callApi("get","hassio/hardware/audio").then(function(e){var o=e.data.audio,a=Object.keys(o.input).map(function(e){return{device:e,name:o.input[e]}}),r=Object.keys(o.output).map(function(e){return{device:e,name:o.output[e]}});n.setProperties({inputDevices:t.concat(a),outputDevices:t.concat(r)})},function(){n.setProperties({inputDevices:t,outputDevices:t})})}}},{key:"_saveSettings",value:function(){var e=this;this.error=null;var n="hassio/addons/"+this.addon.slug+"/options";this.hass.callApi("post",n,{audio_input:"null"===this.selectedInput?null:this.selectedInput,audio_output:"null"===this.selectedOutput?null:this.selectedOutput}).then(function(){e.fire("hass-api-called",{success:!0,path:n})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(j)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},inputDevices:Array,outputDevices:Array,selectedInput:String,selectedOutput:String,error:String}}}]),n}();customElements.define("hassio-addon-audio",x),t(91);var S=function(){function e(e,n){for(var t=0;t\n .container {\n position: relative;\n display: inline-block;\n }\n\n paper-button {\n transition: all 1s;\n }\n\n .success paper-button {\n color: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error paper-button {\n color: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n paper-button[disabled] {\n color: #c8c8c8;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
\n \n \n \n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n \n \n \n \n
\n'])}})),C=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),S(n,[{key:"tempClass",value:function(e){var n=this.$.container.classList;n.add(e),setTimeout(function(){n.remove(e)},1e3)}},{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("click",function(n){return e.buttonTapped(n)})}},{key:"buttonTapped",value:function(e){this.progress&&e.stopPropagation()}},{key:"actionSuccess",value:function(){this.tempClass("success")}},{key:"actionError",value:function(){this.tempClass("error")}},{key:"computeDisabled",value:function(e,n){return e||n}}],[{key:"template",get:function(){return Object(r.a)(P)}},{key:"properties",get:function(){return{hass:{type:Object},progress:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-progress-button",C);var E=function(){function e(e,n){for(var t=0;t\n'],{raw:{value:Object.freeze(['\n \n'])}})),A=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),E(n,[{key:"buttonTapped",value:function(){var e=this;this.progress=!0;var n={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(t){e.progress=!1,e.$.progress.actionSuccess(),n.success=!0,n.response=t},function(t){e.progress=!1,e.$.progress.actionError(),n.success=!1,n.response=t}).then(function(){e.fire("hass-api-called",n)})}}],[{key:"template",get:function(){return Object(r.a)(T)}},{key:"properties",get:function(){return{hass:Object,progress:{type:Boolean,value:!1},path:String,method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-call-api-button",A);var R=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
\n \n \n
\n
\n Reset to defaults\n Save\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n \n \n
\n
\n Reset to defaults\n Save\n
\n
\n'])}})),I=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),R(n,[{key:"addonChanged",value:function(e){this.config=e?JSON.stringify(e.options,null,2):""}},{key:"configChanged",value:function(e){try{this.$.config.classList.remove("syntaxerror"),this.configParsed=JSON.parse(e)}catch(e){this.$.config.classList.add("syntaxerror"),this.configParsed=null}}},{key:"saveTapped",value:function(){var e=this;this.error=null,this.hass.callApi("post","hassio/addons/"+this.addonSlug+"/options",{options:this.configParsed}).catch(function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(D)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},addonSlug:String,config:{type:String,observer:"configChanged"},configParsed:Object,error:String,resetData:{type:Object,value:{options:null}}}}}]),n}();customElements.define("hassio-addon-config",I),t(19),t(90);var z=t(7),q=[60,"second",60,"minute",24,"hour",7,"day"],L=t(76),H=(t(82),t(85)),M={__localizationCache:{requests:{},messages:{},ajax:null},properties:{language:{type:String},resources:{type:Object},formats:{type:Object,value:function(){return{}}},useKeyIfMissing:{type:Boolean,value:!1},localize:{type:Function,computed:"__computeLocalize(language, resources, formats)"},bubbleEvent:{type:Boolean,value:!1}},loadResources:function(e,n,t){var o=this.constructor.prototype;this.__checkLocalizationCache(o);var a,r=o.__localizationCache.ajax;function s(e){this.__onRequestResponse(e,n,t)}r||(r=o.__localizationCache.ajax=document.createElement("iron-ajax")),(a=o.__localizationCache.requests[e])?a.completes.then(s.bind(this),this.__onRequestError.bind(this)):(r.url=e,(a=r.generateRequest()).completes.then(s.bind(this),this.__onRequestError.bind(this)),o.__localizationCache.requests[e]=a)},__computeLocalize:function(e,n,t){var o=this.constructor.prototype;return this.__checkLocalizationCache(o),o.__localizationCache||(o.__localizationCache={requests:{},messages:{},ajax:null}),o.__localizationCache.messages={},function(){var a=arguments[0];if(a&&n&&e&&n[e]){var r=n[e][a];if(!r)return this.useKeyIfMissing?a:"";var s=a+r,i=o.__localizationCache.messages[s];i||(i=new H.a(r,e,t),o.__localizationCache.messages[s]=i);for(var l={},p=1;p=0?"past":"future";n=Math.abs(n);for(var o=0;o\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
\n
[[title]]
\n
\n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n
[[title]]
\n
\n \n \n
\n
\n'])}})),J=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),W(n,null,[{key:"template",get:function(){return Object(r.a)(Y)}},{key:"properties",get:function(){return{hass:Object,title:String,description:String,datetime:String,icon:{type:String,value:"hass:help-circle"},iconTitle:String,iconClass:String}}}]),n}();customElements.define("hassio-card-content",J);var G=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div{\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n \n \n\n \n
\n
[[addon.name]]\n
\n \n \n
\n
\n
\n [[addon.description]].
\n Visit [[addon.name]] page for details.\n
\n \n \n
\n
\n \n \n
\n
\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n
\n
[[addon.name]]\n
\n \n \n
\n
\n
\n [[addon.description]].
\n Visit [[addon.name]] page for details.\n
\n \n \n
\n
\n \n \n
\n
\n \n'])}})),X=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),G(n,[{key:"computeIsRunning",value:function(e){return e&&"started"===e.state}},{key:"computeUpdateAvailable",value:function(e){return e&&!e.detached&&e.version&&e.version!==e.last_version}},{key:"pathWebui",value:function(e){return e&&e.replace("[HOST]",document.location.hostname)}},{key:"computeShowWebUI",value:function(e,n){return e&&n}},{key:"computeStartOnBoot",value:function(e){return"auto"===e}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/changelog").then(function(e){return e},function(){return"Error getting changelog"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Changelog",content:n})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var n="hassio/addons/"+this.addonSlug+"/uninstall",t={path:n};this.hass.callApi("post",n).then(function(e){t.success=!0,t.response=e},function(e){t.success=!1,t.response=e}).then(function(){e.fire("hass-api-called",t)})}}}],[{key:"template",get:function(){return Object(r.a)(V)}},{key:"properties",get:function(){return{hass:Object,addon:Object,addonSlug:String,isRunning:{type:Boolean,computed:"computeIsRunning(addon)"}}}}]),n}();customElements.define("hassio-addon-info",X);var K=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card {\n display: block;\n }\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'])}})),Z=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),K(n,[{key:"addonSlugChanged",value:function(e){var n=this;this.hass?this.refresh():setTimeout(function(){n.addonChanged(e)},0)}},{key:"refresh",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/logs").then(function(n){e.log=n})}}],[{key:"template",get:function(){return Object(r.a)(Q)}},{key:"properties",get:function(){return{hass:Object,addonSlug:{type:String,observer:"addonSlugChanged"},log:String}}}]),n}();customElements.define("hassio-addon-logs",Z),t(24);var ee=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
\n \n\n \n \n \n \n \n \n
ContainerHost
\n
\n
\n Reset to defaults\n Save\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n \n\n \n \n \n \n \n \n
ContainerHost
\n
\n
\n Reset to defaults\n Save\n
\n
\n'])}})),te=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),ee(n,[{key:"addonChanged",value:function(e){if(e){var n=e.network||{},t=Object.keys(n).map(function(e){return{container:e,host:n[e]}});this.config=t.sort(function(e,n){return e.host-n.host})}}},{key:"saveTapped",value:function(){var e=this;this.error=null;var n={};this.config.forEach(function(e){n[e.container]=parseInt(e.host)});var t="hassio/addons/"+this.addonSlug+"/options";this.hass.callApi("post",t,{network:n}).then(function(){e.fire("hass-api-called",{success:!0,path:t})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(ne)}},{key:"properties",get:function(){return{hass:Object,addonSlug:String,config:Object,addon:{type:Object,observer:"addonChanged"},error:String,resetData:{type:Object,value:{network:null}}}}}]),n}();customElements.define("hassio-addon-network",te);var oe=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n max-width: 600px;\n margin: 0 auto;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n }\n \n \n \n \n \n \n \n
Hass.io: add-on details
\n
\n
\n
\n \n\n \n
\n
\n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n \n \n
Hass.io: add-on details
\n
\n
\n
\n \n\n \n
\n
\n\n \n'])}})),re=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),oe(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"apiCalled",value:function(e){var n=e.detail.path;n&&("uninstall"===n.substr(n.lastIndexOf("/")+1)?this.backTapped():this.routeDataChanged(this.routeData))}},{key:"routeDataChanged",value:function(e){var n=this;this.routeMatches&&e&&e.slug&&this.hass.callApi("get","hassio/addons/"+e.slug+"/info").then(function(e){n.addon=e.data},function(){n.addon=null})}},{key:"backTapped",value:function(){history.back()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(ae)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,route:Object,routeData:{type:Object,observer:"routeDataChanged"},routeMatches:Boolean,addon:Object,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-addon-view",re);var se=function(){function e(e,n){for(var t=0;t1&&void 0!==arguments[1]&&arguments[1]?history.replaceState(null,null,e):history.pushState(null,null,e),this.fire("location-changed")}}]),t}()}),ce=function(){function e(e,n){for(var t=0;t\n paper-card {\n cursor: pointer;\n }\n a.repo {\n display: block;\n color: var(--primary-text-color);\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),ue=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(s.a)),ce(n,[{key:"sortAddons",value:function(e,n){return e.name\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
\n
\n Repositories\n
\n Configure which add-on repositories to fetch data from:\n
\n
\n \n \n
\n \n \n
\n
\n Add\n
\n
\n
\n'],{raw:{value:Object.freeze(['\n \n
\n
\n Repositories\n
\n Configure which add-on repositories to fetch data from:\n
\n
\n \n \n
\n \n \n
\n
\n Add\n
\n
\n
\n'])}})),be=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),he(n,[{key:"reposChanged",value:function(e){this.repoList=e.filter(function(e){return"core"!==e.slug&&"local"!==e.slug}),this.repoUrl=""}},{key:"sortRepos",value:function(e,n){return e.name\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n'])}})),ve=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),me(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.loadData()}},{key:"apiCalled",value:function(e){e.detail.success&&this.loadData()}},{key:"sortRepos",value:function(e,n){return"local"===e.slug?-1:"local"===n.slug?1:"core"===e.slug?-1:"core"===n.slug?1:e.name\n paper-card {\n cursor: pointer;\n }\n \n
\n
Add-ons
\n \n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n
Add-ons
\n \n \n
\n'])}})),ke=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(s.a)),ge(n,[{key:"sortAddons",value:function(e,n){return e.name\n paper-card {\n display: block;\n height: 100%;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),xe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),_e(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Oe(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}}],[{key:"template",get:function(){return Object(r.a)(je)}},{key:"properties",get:function(){return{hass:Object,hassInfo:Object,error:String}}}]),n}();customElements.define("hassio-hass-update",xe);var Se=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 0 auto;\n }\n \n
\n \n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n \n \n
\n'])}})),Ce=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),Se(n,null,[{key:"template",get:function(){return Object(r.a)(Pe)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hassInfo:Object}}}]),n}();customElements.define("hassio-dashboard",Ce),t(61);var Ee=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
[[_computeName(snapshot)]]
\n
\n
\n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
\n [[_formatDatetime(snapshot.date)]]\n
\n
Home Assistant:
\n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
\n \n \n \n \n Restore selected\n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n \n \n
[[_computeName(snapshot)]]
\n
\n
\n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
\n [[_formatDatetime(snapshot.date)]]\n
\n
Home Assistant:
\n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
\n \n \n \n \n Restore selected\n \n
\n
\n'])}})),Ae=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),Ee(n,[{key:"_snapshotSlugChanged",value:function(e){var n=this;e&&"update"!==e&&this.hass.callApi("get","hassio/snapshots/"+e+"/info").then(function(e){e.data.folders=n._computeFolders(e.data.folders),e.data.addons=n._computeAddons(e.data.addons),n.snapshot=e.data,n.$.dialog.open()},function(){n.snapshot=null})}},{key:"_computeFolders",value:function(e){var n=[];return e.includes("homeassistant")&&n.push({slug:"homeassistant",name:"Home Assistant configuration",checked:!0}),e.includes("ssl")&&n.push({slug:"ssl",name:"SSL",checked:!0}),e.includes("share")&&n.push({slug:"share",name:"Share",checked:!0}),e.includes("addons/local")&&n.push({slug:"addons/local",name:"Local add-ons",checked:!0}),n}},{key:"_computeAddons",value:function(e){return e.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})}},{key:"_isFullSnapshot",value:function(e){return"full"===e}},{key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),t=this.snapshot.folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),o={homeassistant:this.restoreHass,addons:n,folders:t};this.snapshot.protected&&(o.password=this.snapshotPassword),this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/partial",o).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.protected?{password:this.snapshotPassword}:null;this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/full",n).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/remove").then(function(){e.$.dialog.close(),e.snapshotDeleted=!0},function(n){e.error=n.body.message})}},{key:"_computeDownloadUrl",value:function(e){return"/api/hassio/snapshots/"+e+"/download?api_password="+encodeURIComponent(this.hass.connection.options.authToken)}},{key:"_computeDownloadName",value:function(e){return"Hass_io_"+this._computeName(e).replace(/[^a-z0-9]+/gi,"_")+".tar"}},{key:"_computeName",value:function(e){return e.name||e.slug}},{key:"_computeType",value:function(e){return"full"===e?"Full snapshot":"Partial snapshot"}},{key:"_computeSize",value:function(e){return Math.ceil(10*e)/10+" MB"}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
\n
\n
\n Create snapshot\n
\n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
\n
\n \n
\n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
\n
\n Create\n
\n
\n
\n\n
\n
Available snapshots
\n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n
\n
\n
\n Create snapshot\n
\n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
\n
\n \n
\n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
\n
\n Create\n
\n
\n
\n\n
\n
Available snapshots
\n \n \n
\n
\n'])}})),Ie=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),Re(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e._apiCalled(n)}),this._updateSnapshots()}},{key:"_apiCalled",value:function(e){e.detail.success&&this._updateSnapshots()}},{key:"_updateSnapshots",value:function(){var e=this;this.hass.callApi("get","hassio/snapshots").then(function(n){e.snapshots=n.data.snapshots},function(n){e.error=n.message})}},{key:"_createSnapshot",value:function(){var e=this;if(this.error="",!this.snapshotHasPassword||this.snapshotPassword.length){this.creatingSnapshot=!0;var n=this.snapshotName;n.length||(n=(new Date).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric"}));var t=void 0,o=void 0;if("full"===this.snapshotType)t={name:n},o="hassio/snapshots/new/full";else{var a=this.addonList.filter(function(e){return e.checked}).map(function(e){return e.slug});t={name:n,folders:this.folderList.filter(function(e){return e.checked}).map(function(e){return e.slug}),addons:a},o="hassio/snapshots/new/partial"}this.snapshotHasPassword&&(t.password=this.snapshotPassword),this.hass.callApi("post",o,t).then(function(){e.creatingSnapshot=!1,e.fire("hass-api-called",{success:!0})},function(n){e.creatingSnapshot=!1,e.error=n.message})}else this.error="Please enter a password."}},{key:"_installedAddonsChanged",value:function(e){this.addonList=e.map(function(e){return{slug:e.slug,name:e.name,checked:!0}})}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n paper-button.info {\n max-width: 50%;\n }\n \n \n
\n

Host system

\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Hostname[[data.hostname]]
System[[data.operating_system]]
Deployment[[data.deployment]]
\n Show hardware\n \n
\n
\n \n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n

Host system

\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Hostname[[data.hostname]]
System[[data.operating_system]]
Deployment[[data.deployment]]
\n Show hardware\n \n
\n
\n \n \n \n
\n
\n'])}})),He=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),qe(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===ze(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"computeRebootAvailable",value:function(e){return e.features&&e.features.includes("reboot")}},{key:"computeShutdownAvailable",value:function(e){return e.features&&e.features.includes("shutdown")}},{key:"_showHardware",value:function(){var e=this;this.hass.callApi("get","hassio/hardware/info").then(function(n){return e._objectToMarkdown(n.data)},function(){return"Error getting hardware info"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Hardware",content:n})})}},{key:"_objectToMarkdown",value:function(e){var n=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o="";return Object.keys(e).forEach(function(a){"object"!==ze(e[a])?o+=t+"- "+a+": "+e[a]+"\n":(o+=t+"- "+a+":\n",Array.isArray(e[a])?e[a].length&&(o+=t+" - "+e[a].join("\n"+t+" - ")+"\n"):o+=n._objectToMarkdown(e[a]," "+t))}),o}}],[{key:"template",get:function(){return Object(r.a)(Le)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String}}}]),n}();customElements.define("hassio-host-info",He);var Me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n
\n

Hass.io supervisor

\n \n \n \n \n \n \n \n \n \n \n
Version\n [[data.version]]\n
Latest version[[data.last_version]]
\n \n
\n
\n Reload\n \n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n

Hass.io supervisor

\n \n \n \n \n \n \n \n \n \n \n
Version\n [[data.version]]\n
Latest version[[data.last_version]]
\n \n
\n
\n Reload\n \n \n \n
\n
\n'])}})),Fe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(s.a)),Ue(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Me(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"_equals",value:function(e,n){return e===n}},{key:"_joinBeta",value:function(){var e=this;if(confirm("WARNING:\nBeta releases are for testers and early adopters and can contain unstable code changes. Make sure you have backups of your data before you activate this feature.\n\nThis inludes beta releases for:\n- Home Assistant (Release Candidates)\n- Hass.io supervisor\n- Host system")){var n="hassio/supervisor/options",t={channel:"beta"},o={method:"post",path:n,data:t};this.hass.callApi("post",n,t).then(function(e){o.success=!0,o.response=e},function(e){o.success=!1,o.response=e}).then(function(){e.fire("hass-api-called",o)})}}}],[{key:"template",get:function(){return Object(r.a)(Be)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String,leaveBeta:{type:Object,value:{channel:"stable"}}}}}]),n}();customElements.define("hassio-supervisor-info",Fe);var Ne=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: block;\n }\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'])}})),We=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),Ne(n,[{key:"ready",value:function(){(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.loadData()}},{key:"loadData",value:function(){var e=this;this.hass.callApi("get","hassio/supervisor/logs").then(function(n){e.log=n},function(){e.log="Error fetching logs"})}},{key:"refreshTapped",value:function(){this.loadData()}}],[{key:"template",get:function(){return Object(r.a)($e)}},{key:"properties",get:function(){return{hass:Object,log:String}}}]),n}();customElements.define("hassio-supervisor-log",We);var Ye=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 4px;\n }\n .title {\n margin-top: 24px;\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n \n
\n
Information
\n \n \n
System log
\n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n
Information
\n \n \n
System log
\n \n
\n'])}})),Ge=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,s.a),Ye(n,null,[{key:"template",get:function(){return Object(r.a)(Je)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hostInfo:Object}}}]),n}();customElements.define("hassio-system",Ge);var Ve=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #FFF;\n text-transform: uppercase;\n }\n \n \n \n \n \n
Hass.io
\n \n
\n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
\n \n \n \n \n
\n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n
Hass.io
\n \n
\n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
\n \n \n \n \n
\n\n \n\n \n'])}})),Ke=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(s.a)),Ve(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var s=a.get;return void 0!==s?s.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"handlePageSelected",value:function(e){var n=e.detail.item.getAttribute("page-name");n!==this.page&&this.navigate("/hassio/"+n)}},{key:"equals",value:function(e,n){return e===n}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(Xe)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,page:String,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,snapshotSlug:String,snapshotDeleted:Boolean,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-pages-with-tabs",Ke);var Qe=function(){function e(e,n){for(var t=0;t\n \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n\n \n'])}})),nn=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(s.a)),Qe(n,[{key:"ready",value:function(){var e=this;Ze(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),function(e,n,t){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var a=n.default_theme;("default"===t||t&&n.themes[t])&&(a=t);var r=Object.assign({},e._themes);if("default"!==a){var s=n.themes[a];Object.keys(s).forEach(function(n){var t="--"+n;e._themes[t]="",r[t]=s[n]})}if(e.updateStyles?e.updateStyles(r):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,r),o){var i=document.querySelector("meta[name=theme-color]");if(i){i.hasAttribute("default-content")||i.setAttribute("default-content",i.getAttribute("content"));var l=r["--primary-color"]||i.getAttribute("default-content");i.setAttribute("content",l)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"connectedCallback",value:function(){Ze(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var n=this;if(e.detail.success){var t=1;!function e(){n.$.data.refresh().catch(function(){t+=1,setTimeout(e,1e3*Math.min(t,5))})}()}}},{key:"computeIsLoaded",value:function(e,n,t){return null!==e&&null!==n&&null!==t}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0)}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}],[{key:"template",get:function(){return Object(r.a)(en)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:{type:Object,value:{prefix:"/hassio",path:"/dashboard",__queryParams:{}},observer:"routeChanged"},routeData:Object,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo)"}}}}]),n}();customElements.define("hassio-main",nn)},25:function(e,n){var t=document.createElement("template");t.setAttribute("style","display: none;"),t.innerHTML='\n \n',document.head.appendChild(t.content)}}]); \ No newline at end of file diff --git a/hassio/api/panel/chunk.e4eb9811aad7204f14c4.js.gz b/hassio/api/panel/chunk.e4eb9811aad7204f14c4.js.gz deleted file mode 100644 index c52c1c722863b0ff63059ca7cf1c6dd1b541c20b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18662 zcmaHyLtrip&|YKPwrx8%Hs08_ZQHhO+qP{xH_naIum7rDw6i#i+0SBT&O;at1@ylQ z1oYPT({Fn$^}c$*Vhz|T0p(N%PdR0+F?p;OzdUWXrTS_akxYVw1jztMu}S0s_%+`* z)OXZ3f5og4F@x_i?C1Wb-V#slGt6CGJzT=h zn@47R?(lFfk#qktZ>Go)V)l7E<-EGw?ruk+X5*>1 zB%fPBhcVPYuTyWqoyGi|R_g-#=ldD^r?)xQ-<_xKI@EVFoEKA&J_vuvIfrY*VQv4f zX}1zD*`g)KU(g;oahUDljxH!Ua~uC4xAT1e zhO-($CZY@aT#VdClTEyFu6uL7Wx_STM&y7YzcWXclT9)hayfp+=y)}DYmkv;lP8jo z!_$J^oqxH$-V-|(y|P6%b9LvSXmBu=-4!HY(qqJ3%YD{hQd)f0B{MeJklAZ%rp!?L zmrtYRa3SIufh%RbFD8sos-1Ohaz!%MMCfP`8lde{K-ZLhFU1#eHHZ0OY4x$geY3Ut zyye?0xM9k3ASkcXx(lap>?flpAzj39#<TWXYVtfh{sw12s^ZQs#7oOVxlj1Zwe$J`!^^wK=e0#f!vfrbg z^h3M;{W}u4YVo;j=`mULHc1U6nNnKUU7@9*QjbU|-pu5)a3^s#%0D2bb+XJxY#D{i zky)B47Gwig4>>ZlrItfgeXH4l`%1bPyiLk|;DBX`h#%rQvn5OJ74%$*Zo z=Ziu%^19&>wLyAquCD$RiuvM5{n3!1u72*w)YSIy@5g5`*6T}Sc*@Tk!5a*49=r(z zk?Ur#$ha@amviwOACwe3Sg!3+gsb;_u3yinwHo|Ko`K1RH(PA_Jl1Uiy z4K+v?B@v)_acB`AuLFl+uaX0ck%=nA1dB1O$r5k1v z&#$4z8!;Em7I3KH{4m#aQB4HbG+oDzAWn+%GBOTsZzf}F?tV2qpbaeB%bsD1T|@oz zcRK*E#E^55IjgvZ>HB$))b5;?*naism*kE9`4e+=r- zDRge`n>sToii~ZkWmaUl_+4nZ=#+)Q&UU+Ip>-mci^jz|aB`oG%JD?an#cpZhzKQX zzn{i6_;>5o=&2wo@R;+-)S>LDWnBfA`9%rucql4bTKt!=`5`o&3cx@ZnoOu; z8y5s>G}&HM1URi2H3uyheq6AP(^zEmO#o#%`Nt|ly<9Y)AnefQ&xczA5Q!l4B;|lS z{m1NFB-+4uLd>xPn1lwgiZMz~Tyx#(=H3rts?elYp+ELKiwe4swa8ABF4}<2;Cv5B6n}w z7DJr*5u_3=EX#)Z_8u=^iC}!3Tl;~rKm+~q#LD}{^3?dl5* zV$MFr&g`W5i5*`Q%-eb}9dwb(53*(-x(4CF`OpTTaIYE+uV}z8wqori!fKW>yp?%( z@Gqa4&ti#SR5;qfo7$sVu21659vJ4Q7z8Lt3NXKM>mrxKO0zyj!nS_EF-U zV2|(euTwgFb1H0UR!;Yed7y1yJmrWNuwo<@NwWdZ58Vu%7MJaL%Au>tH&%E$km#Dc z_ckrspAbG+2{jB-uHgWBRkyfE_Bje-zHqR@MtU4)1j)2P5zPo&82V8qkH}WYhl?eg zfuz|9q)4@RYP~sdg!wokv708eP$vo5LmhM(p7)mP+A@+qeth3d}(H@xiTI%en zH8ddS>+4$t>)Uzl8+{%NDG&vq!S91*`wR;H!_!+{!hDw>49Si}p8S$v~{{5%3I2nISHLymYJR+}u##8uYw5^;2y zeK$A35IHukQ|6<$sn@CF!~OmCSQxURLL=SXGr4 zK^FV6&Z`d`W^3Pwp?DG%c&n`%vk)1kFsQEPP@)fQt6{n^uqfhIf-hw6)&|s5F;{ld zA~Cz=oyF$NgWG0Srgsbiv7cpqg1W`SUxpc9UdwGi^2h3vPYOBl5bc!&~pNE@E$OW=x~h0fnr@Ol%*i}Y;BZExmQDgEpkw9 zUUmatS}P)H<;G9L*T~+$NJR`n{YT`GkVFMz6l#^=Od!}NC5JW zS3|oHvJ4*F>t62Jt~GCa{?t)g>n03pCbS+oC*=^KQk3tveqk>RKn|MVP*(U)yH~fl zmmb4^&K_+#*xYDl}IxvX%gNE;PC1 z=qMX|$wJlPRbuHLhTSK+X6#?%dzRstdeikL@fc#wQ~N+oLdW<^0N!bavE9>bS!_2{ zQ{fBXk-W_G%9vspOR!C*!i94N)>5Ywz852ge%%bUWo;L1?*rSxxe3p8zSuxU z@)Tjy>cE3Zq2Y9Jcj%-XU6wPd5@Oe<=b8v%VV zfLPVKusSJ+>l;S*b~L=+?$qKZ>6JOlc{8j$7OEVN2N}tiW+AE%%a#C~_$Fr7Q7RQG zr3aPjxgQaFT8-2?R}>!*ztW;fVYq6+z(y(y_+R6Vx;G9(Urc>i`(x8fg;W?n%EEKnzRCOp(X6vYBF(mq0B()~8kVjYbbB1da7pzgge6I0395<*u_V7U#CkxISn|?t8Wal^0S9p^N3M&vi zUgF{e2e=pLt}VZOTmk$h^`Ds%kL%x9dCyXA7L-QZ-aR2cyGT z1qBMIWwZ{JuTh&iq&ma?hyaA~TWD!y^w~85pwE|N!n{Eol=|VCZvvMcy_Gnju1{hD z!&{$XVS|v!g@62?p>n-%EWgi?{vredU{eq`>_iZo5?F|p7LtND#!4#@FSp0S7ZT=f z>we#_jHTj2KxJ{h_CaW6(4ftW9P@MMpxSanDH^<|FTuq#nD?M?{fz4{2coXa8g_{j z*Owfj4?y6=NL%DFwHF$|yqr;tBo{GCFVUZptMhf207JC5tG7-mBxr<(2NhkB3Klpz zXbj#in97=58tQx(OA_^Sja+jr30iGbK=s2_eU}wPZ_?wyFfjTaRRUo>2 zJ>{f&1=!Srnie6|QXS|?IkdjJWSKmwVU$L`!-rLAcNmes7pm|;03;@H9~{tKveNkk z;pmPvM%_rya0?6v%B}z)MBJtQH^!$-6LMC>3SW)~@|-cu{GHi7bI&3j{}Ow>&-r3# zwcr>WhwHLaa14RJ&&Oj%5PXO8tzP`wrA-iw+4%?yO4ehfQB)IIc$LDq1$VNov9ie) zGqlMQ7dE4m5d9S7*D${N1s1G9;4t{+ai?hb`(k`WHt|zt7d&s-(0a~xzqQUQdoS1* zAM`uVN%pq=!C$9-5cp-H>JiEo`4`RAP-_lXie!VrBW1ajv4wn^A|sHe48GQSl|Yqa znu+Yz$j`0~xUgnY`Y^VE9hR{O=<)M4dXp-`wz!+`HZ31*mQycBi8eslV-Y=PL(L(G zEU}INzLG1|t#iw*H-pA{;1=Fi=dDHKLN^P&q)1snlcCaqOw=`s!K`}AWlIMijdMuAptumJ z?4ffuzcKv}$s=V-=j1gSWD9^PY+)0*k7la~H_hF?b=9A9T44FHIgdl@H$$zr8dvea zINCg=7((<5X3qS4a6C@sH^)KHuEGIGq39aKycV)$LTTJJ6#|~dUh$n@^psD>Ab7@~ z*W{;rD`+2|$6PvGA$F-yiD!qqIQv-V?jT;=@!2Vcp@&q(LBb3|I9AA@wvr_1g?vOY zmq(~vAZf)o>H%2Rf!tO>!k`IBRJsUl<_Y*#Xc#b*b>uMTpqS1X2~}a;elv>P3?||# ziVOTQ%I07LM7w=V6H&{Yvk5CmtlgsCZQ(2u(ihMo;dj>D=-IcSs!_HQx$Poi=Y6CA z&%7|Y0fmdf=qnlL@RTGXW8+23IU3d6=B4EL0+`ww?O0e`n8(|HX%U<0C$so0#zCUD zY}}X&+Cq>zCWcRE;9M_~MPygMVIDxy{xit58}t-9dZEG#Z(bgMQ|mFM*ln3zJ^&9& z<>3r|!4&`%O%BiZ??I*gYft5{u?QHVI}C#hz>v*?%nm~1h3>$2HM_itq?U|BEa!XR zOKPh^QZtoa6-%Ic3yt=wFlnSxyFY(z@ojNprnX(oJ2>n0R=rarF^mtZ0Gfj-b)=6G z5Z=4|0Itq}fdu9+vu>apN{SDN#&^9#1yH(W@H`v{RH6FsNakjYuczqMY}uCfu*ynG z;?HkHZ z2KiuDoSJ2WT--q(S>dN9r3E&atZq|urvz(rqz+nT_ll~_S4{3f8x_ev_6d3+L2M~t zmo%S9vQR{l63JhvERplVKfs60q6FtGBsEJHO?o-*Xz!7*JgSIl=} zmA(Zjt)4b84um4Gtss1NwEd2#LecavVx|?XgN5;}jbRNfAZYuSlv`EoTXztK~Ii7MC^hz?90Z^PYp97GA3=1{%B$SWmuW=N??Ty>p!)Ygok=Tq7@ZWg;F`_ms z`y8vseQV1?DgJuLM8d+NxI{CCDo)HrueHqg(QMq&5sXl2xZwW7%k&Cz+ways^HOKb z2oM)6f{8aUCk_AODffl>E<2Jp%KJ4e`f*H@lS_aKWe05>>tEMP$UTAW`Jv-o`*>yCS~Y>*G}$+ltctG&D)d$0?&=YCCd z{CyQxrut|)e3|^+PtfyOn5&FT#|7M3G^@Y@+u3?twK=I-+Etc3?dc~6V*133;s|a; zYchCtmpJoD0b$D8?-5e;P;|XOo`IKCzumjje!qA;RuL7R%atVI8VUq{1l+5%?%?XrB=Z&qjM{BLad5OSyC(w z*alBwmKhQl{EI?#iHy`1bAN=8@NCU~N1rRa?~bVl{omihv=CCeY4Z$t&<}h6pE_4H zz!|Od(|J}fKzB>#?84y_it*gnfR{jk?4Hw(raymtKV0DZhsbdi8YAwe5Aj)hr(00E zr$Aq@WEc%6lpE6bq_)rgQ~roK_OQw7n<)Ma`)H=@Ti(8lww%QL4-&f=7vZ$MP373=OFAka-~>hJ?q<$vz9cm~H>s9Q#&jh1?H~eoZPqc0@ z6Dk2W7C_TRH>fJuNC&-5Ku96MAewlS6<8K?Sl&SHT>?Fom<*DZacDEQO$FssXpcP# zZkpE8hG|%L0LV4iHIUFq9q3G4qaOhqVq>~4JIAG382|Lpy@!W1r4%Y_y3sVPq^r?M znV}Mppm^Z!7Cdrp)A5n=L6}Pl<@Gc*c9tMys479LRV9= zI3VBHD$-3oQBG$kQrgopECguIQlV4zco>Q!tck^K({ZHGPE|%^$xcjRVBPL~*7@7t zqW2R1C1rjq($f4mcwH^wFROnKrj~K`20#y$@Mp(We2wBceT-tp2vgKa;8Z#ImR@o0 zWL-kO$))<^78>p3(`6*k?54lvS@)0NS`wNY!=WfnU}tjO<8QG7KlYMOvO5<+5B2 z>8WQ$Tk~#GetHl+AWOSA^SAT~$#)Wh^QqlhNlkx*OYd@G7CPF&x`@P8!o+ihF-v`}kj$Xa0iV1SgB%=&kr)n;*9cN+zzsg5ZJ%#=83>gK>z5 zf*SQ({7WBxn?OhAgrBlQ)JJlHh)HzZ zV#58B6}!Cvz#cX>L=B!dgK#3_-E{5s~sij_3MA}}K?pmgX%rdxS#97)#++1|GlBt~6j#KNC8 zrTck}dsK?+iqKJO-=WDsKZT4A^%3M7@n8HKDovmt!MWlLqyMDw_vRK7V^(+T>VS8Y zbkibR6t@Baygmhux4G(lDI$6rI5)s-MD?v>#-OqebnT?EQZVE*XJ-ZY_ zL`(YxL#+!ifA)ZcL$*z{2{GyCM@B1Rz+v%=)52e@jFHhW{2uI_GTn1~byb)dY*(FFCqtkpFLMgDdOsqre z$^wiGMFXs$9pYb($lOrr;ihWB)RD?_KXo`OZA()Snj>iv$e2Xtnk0Ty|AMix3dDJu zC$JvF<4VBvBb^!u4fseYkkwg;HJ5fc$W{Q^#p9tnAv*7qWP6r(~je+3aJw`aGQ= zF~e1yb6vJhyI+-6Q~`Pmcdb4-@pVM7?HFbq8fO;aVyX0l^PE4( z4>T2vbbEySN9jdzB+Xiq(H}@O)fq{(Q{AwyIlU;Wm(pL&Lm2?e9y;Nel?)L38@sDq zi0=FDLM^Y%hW4qtP~&vIEEOj*lUD9WRp)_FP@02SN>W;a#9j+|>Fq`)OK)AoE||h7 zUW@^=RmmlzOp-G1tE$j)r=501%qt1feBDLKRkAa&iiwK1|~fLcl#Q=^py_xXxZuv*LGqEi=#+7rf7 zj$yVUS6ZWIdD0OC$+QZ$(8?ZhT+>kjgRq*(^XCpNak(t{M)w(B^;c;6U{l1}ihko# zSTD+v!1iX|^om3jvGt()YDaITX(P*VtNmwYK{!iEetBeru3?7x+NimcZZW*}!mpP( z#^O)+MPseWZl)M8V6T6~JVxY``RMA4ho{d)BUlqD4z6dUwj-G`#4SAU_<7vPuL307 zPF&62TKO4B+1=x-(M7qP9f_=jqafMC3-|iNU^aBuBA+ z%;FxzaIyL1S!ejmi6nIS4cfY*Rad+bf^E}#-_Dih5;K(ySjLj_6`$z>gU!U(N0)1w z$F=HYdYw$`C1-BdhGJaqb1WWLnv^JthmRFSxZs4S#5t0bV>X_&0`W70_jLY@jcRUfeo9HQwMXx z-&2)@t3~u^BYeM~_szk?n?;_SCq`x5wTDhfxH?5yeyRK;$EjhzG>bc0pI>N7b-8s0 z^eYWKqRIf=84ahaDVEQHF_q%=Hj;4mYvGJs_A*psEX&mhh*m}w1BwQ+Y65&0a*8YU zAEyAH?s6NSM$;Z^K`DSI4M(Uu<46)%gkG6q-yMOgY2bj+~s3_uK^xS3Ue3f6pC@hN8tzYQR!uDHAQb3ay3c)%g9R06hih^MtZf$Bc zt*qcbWn~EFQKH;M%k?eKpgp&>g6y1>SA8Zp+(k3t$5$#%dj|&oTO37ny<| z%}R<&@xThPtR(UlkrqLdKPU;N5n{h(HCR6fHag--P_YM%{k3*5lv)ioPu%q3;mF+D zCwTLbKHnHmRK^hWCl02BR^>jhnPj0)R;9ya2%;O%2hR$X)9EC5r+}K|15_>R?f*`W z5s96c@k0nkhjeknf%z%3HwSPq^2|j9hFs>au#~xR$FN#Z`p3iCZ@Jn#r>$}v>nrIo zoOTZU!%Qnx;2dRa$X}IcV2>12NjoFsT6|@BF4FB3XTY_4{B4bKN{-O2r+(39!{s}I zYCcGgZ2(b&hg)**QuvmIgEFtaFbB?%ZsHyILpvyU(GJ|9Z*63|GCO%3SLb58K4UkF z#v<#mhd737K^B*Bdb7wCeQ&SA{@IWaV~ zsomzE(zxkb40rTdhpyQ^m1J0h!ODJD6uoib35{C{&A+dEV%JTPsptE{DUSG>AyV(? z4@xY&KOMjn42UdudYc@{dtOx5wfB{$!%)XT$4*k}Q;Ym@BXfYWT2l|Z92A5-z9X;2iD5!=*+b7d-TF~S@X{Ppj)r6#4D|xn$t|ytKBd=_f^_p8&XMzM++&7f4kY#UAP82pB z&EeEt<~lm^>(e~@ji%U*CIHLowLAtbm;Al3Xgw-dovqDf0*8}G0EJ?O0OAstC;V5? z@OF9r!cg58iUW+dXNtR>MP;5X=7kfqO7axN><%2e+5{}HgoI|+(7*_vorz?{P#rd$ zUmXsFekU%@SjYh*8T8As(iAmlvg};eOq7mwE-)}3W{wWYks$@|Dq-rOYN}Rd`M~6c zkiuf&>8A15C-=AaIrT8bVebhenWZDhi7dSQ8%@LnU^3=L!o*0h>2ui6WLn8%t%0z8 z%+F*G?O^Ri1VoT~Eb8m&ASKGwv{IQtKycPOHyn|?HH{FFR|1i+O5sx^;`C4nfu)Ng zLoww?Y^RQjIk)uq(OjOWax@pJWGEOM1Wwr}ZE!Qh6njr5hpo%go5>MVtHYRsHxkYq zdWp^&2a;%(;8%&>JnZ32?4p}(W|r;l_vL0f%F5nQp6C_h0h!Hh)hXoNA^MGv{kbsF!+Zj*f5mDPl8qC}Vip2adj3V=7Q zSzKt#*5W=P7wsTeTUb;IxL34o5s!j)!xq`FckRkGx)J9qbX6kX{t{0GuT4Q@QzLJm z*{YYzT|(C{Z`St@HD3mzV$ifj`%Ddf11=CF+nZP(c1eXpYASlg5GMOI!XX$nSjQ)r zpIB;LRXW+NEGfDY07Q(%)so{Dv=1eF{1G9rLa~qF?7hUZ^;wQ2(|p>M?q*CH>DPHe zK+cu|MH{mnSdm@k>`PaEnUo7{tTgaP){046%FVqjkMe->^h=#hYL+5B3o)Ht^3r78 z#(FAbEN228;&kEJ-u?v+d6-;ZR`}b6kJfQd4(CeG`>iL$db7M#L(6mbFKL*xkzs7m zfo>)MwN&icuRI-b#cG>J>PV`cXR7@*#d)x}58ejsu^;fom(Y$7S>C5?62^r=uRv@`ug&!8r%AyBe2QAte0> z!4?W9cAa99kC0oHn$ZrxAr5)Z4sF3Lfo!V3NOh9-TGtwH4>BTJXi$`Dym(N}Bh75l`Cy(h_H? zsdW4A5|a1X#n3N;4qrFad8bwzXxUNZczKh3WdqYwfCr-zgsbEC^lHC&P_VhbfBVC- z_t%}hpNh9?(?vt~Y%ZF3~i1xL9;@*t&?OF|iR;?;+wKWux++>tV*xirUemx3R98sLauf zD&+0kf_Y#d@I{-ax$xHC zKf)X6Z1lcJ-jAmQ7hNNh)LMHN7^1;Eap9pt;@t5o6$>B642?hqb~pHd)=r03wpf5p zJ0#WQ0doY&Swz_nKD^F8t7m^saTagz*tJ=e!D?yvo3c$Dd8Bsc04lh#07t&wxI6r0z9^C2Yv# zTE;HHUh|BfAlCeT?*G2q2h;0^8aQeHE!-bRHR?qI_M&^mUk?$V;7dzvOH4R1kvy+f z!g@pvN+P;<()6I7NFXziZuY#f+igPt1#dMeAdxvSa-YK&*4Z08bW6bDuD4wm}4CQSbW}U>7 z$Udpof)!iONKGafdHbWj9?f(3wamsCM%=VUL+rbSQ?mYSKA}HyqCoaShWh#(^8!;B?GE8Vd=zhCu|wh=j9*GV2>(b0nWZu6xfgCtEde7{uZnY=+N z`cfhKlj>GIi+r(1pee9rzm%9{y3>^SD^9-ImU8omC&t{EUq^Acy_k)`t8R*vs!3kO z8$+}OFNXOJFB1oeVV)}8Xi0)9qGwg6Nw8MyMGIdYWW&sZ-%HlnL&|dRCNkv>sDA8AM?=%l!1V{9zbBEffV6E zQUMsIr5y9d-G)?{rT9o~3kklKW0zAH9w9Ia>+SWmcAU;GTk=L7sBw%nutfRKB{4vo z21Uj(G=V+jS@0k?tzm{aMlk;^6vyPgbYwCN=Yo1^#Tji@+FuhuISL>ruW6+e9Ap#% ze0*mhH;6wWT$U#a%Z@pnV(|82W=8Zd@ZjJ8?`+OEp9q^CIRKo5L|QT?7tly1rVtwp z_|C3y5hrAd&5?P1fQ@+|i_Y`<01SGf)xGfgy*n&9jAY2qfbH-C!O9RA>yUv*yboI` zEhsnEe=!LJ={r+$6^%`cTq!#F({3&>l4Lhds6@I?E<@XtCRX)>o=A`H#m2_~L!| z#q#R3A`+;381V*NI_!2C21ZSA;jL7gc;c zi9PYofVTpJ%hy7uZkoS7e`2rLcU)8wiAy}&W6TceoDiojD483UA`(5Z@(B&kFb5(w zSIDaD6;7LDjz~X{#HxqiYq&jz0o#9FF2T23+IYdASorK&F6zjLNKsIbe9?^Wj9;(F z1%N|oApB4;OY1GDW$0FwqmHMs?m?FOk4k=wQKY|o2fq912O%?P(4bS0r2z98?Ih-D z{YWaPd=pd2%XOD6*Zi)A<$gh3VgF(hBEa{K=hdW>^OBSf5gHJJ&l6nnO7;U~y$2+8 zNE*l3X%HX4wy5In$_=Dz!hcM*nz`U>2o9SDZfRIL>Zm11tJ#~h{y*4Fsu`>M)@NJ) znQi^WZ$|r8YeeH$dr+4n(l`4fNiVU;pS0atSV<7S2taj^c1bMSzb4(zxy}{)9ePvF z3B3kwaCn}?7L{NOn5&h}pef~xFRbtlBe#hTeBQ+LcoNIbz2NxR;HkrylctVeD8Mqq z7z6a`g-h^{-ep+XD37mYSZ|j$1TlM_UqI~8`@AM#Ut#bwlZ7ZY{Ns`dZ3wDPa!)NY z>;(0h%;x9vP*L~3DMody6!4|jGC)kVy_eLbyV9zpzNNK)fES23APr3`ULv52?NUR> z%8U&N^)cpWE%%OhPSUkZs6r491<7>)AP$Oe{rR4J>N1PcvTlUWh_mx%alFA4a%DWm zKCt>Z1}P+o2G1>SJR`$wu1K)QvO9e=&re%glCJ2QO54$XbIqQXX*janSauw`F92ta=hn zG7*aNkZbfWhFo#iFQTlXU%W?!UzfnX4a#i85!o3*_qD@Hj_wo0q}^k$dn=N$U9-2@ zysQLedFx!)Nf)t7_kP!E9+Q@_CF{CoKo#%i9FwPG0IrFumg=okGfF} zW^VtoYyb=jKvkL(PT@_9!tECs@{thk_xnNfk0LY0#x+Sgq9LCx450?J2#*l>N6bsA z@=KqRWG5NP_XO#Cc{hqrz7i z^RPSnc{FrB)-eU+V+7UaLL@6VI6)Ch;S&p13exZZ4;kEk|DQyVr>N&3AAShgWvH}G z?+QfiNd>7PL5QanUr(&R;BQnWQh$Fs#Ynw?Ob14fd|YPq7fgB{tcqzJR2J@C zTKhxMmXD^c-7xF^m{-_}M>zQR^gGQ>874jIJ&|$Dlzm_|NRLmVo)Y&iAVfd5C2Qz9)Kx<^YJHy|c2rnq zG2Vz$=~`Vv&jk;qCQp%GQ)zGM#c3EXAKi3J_+L?{J$AQp0=z;WfcAJ+*=MTm@S-r! zws}t=@mb&)Rmw3=%C>f~0x>3b7yTnC?sE-hp*4U`3DY_?N*>b37T?uSSH%U&(Y=#z z<(_K>kEmx@}4-8Fh=hh~q zt94}o@IrC1dZ0_%zz0%bhoTwkb#)u1fh(kcnPId&0j*A4x@s3%A^JRjWn^<0+UFD- zDr!vG3^(Ws5~)>NZ^FYW^hoJqE|2_Oo1w5}wWg407?OSDPjg1WxV6iLLoJl|%>3d4 z6js|*OBa@v)raVqVN5$?>NfcgWY`5>8gUA`TyCpJJ(Ta7(}7;*2M>cci#F^>9Q zgKqN%=s#0isADMV>JCMChKBG2%eJ5JtO{a$?{zKs$XKroG zL^8pyM%WWP1cBU?BLOOBUj-^p4@bl-?WzJ=9mQ#0@_r`5SI_|EkF*R!ZD#jm%dreT z{bQ{{P$_>~?-!WsXWWMNWzDw_H46mbsMZO;^6jgg220ZO#%f)9r|U6}>7Le=5oY(< z3AvPFi8jji<)ph?yUm9J0pNTq8|tL1_hHt6a*P16P6jl(Pb;GAgLlqlbp_mp7Mj01;!SUOma8YxoDD$PX4BrTw$n0v zv|Xp<+CbYJ8v+c}c5OrU>yEdcc#GrD(8=FghLgWNXK+ zPB>;)_u^m0J*V=Ddscq(d*TAJ648JgYxTB#cI+bzgtH;qCGJhQW(hw|@Gw5eIBV?1 zArpOP%ZqhE<+U;Wzopps+1qeC{bbV`NTCZ7)gIw=M_9Jkh1D%sa%VE8a-W=x<&4{l zS#%I8AjkylqN5(t^Mu)=6zJup=d|8+vAs+mwzsHvKWy*M-J9YN(E-1NN(%lx8=2UA^RkFxCwB4J9}o zqr8Vbgz)Jq(@bO5pyMe&ecqtfG=Lsl>CoeKoN0wKR%A%`f8t1h6=TNY^mELjlv%6O zTb#C^O`KLvWFH>&S!&*o%m7K!`X^yyY)%RIS^bj66U#7cr85rxv8&&@{7Q<{^`Du@AvW8@Z3V*_hO3! zr)t95*YC{`jyepOCo}^O`tLJ*N<)kTg#{KFpog>7?3n z<7#JglD?T=hVrhEHy6ZUMo8YveY$4Oi*i@hP5Yo{3m+=SOnMFaFj)x_|dZnQsZEPaT!Sz*a8X0*7@ELG~E_#7aF7!h~$%^yL zI1KT_{3PcB_Uj`AA>GXuPL#^Sdzp^6AFT=tQGWDs{mjS%W>O<{voGe(-=6>K1O++P^Jibq z!`Acd@5WvzDb-%`TA>C#;iY2Lf4;QWcPGl#WU(qg2z) zQa;6qvB$)uznteVxZC2z$Nt>^kD^&I%`caTdnJAoCTo(*;#neY8t(>_p#j9FcRqqr z@cE~6Y&F{T*@(h_4aWa1gJ5E|4xzvEy;@YEDST%z5z}ZOmys`+*Sk?;msrV;yx;LF zj`WN0?%k$u;O?8$p2vL{aBd7SC#w;{M^IkJCFcTnMB0iC5Q*^_4S| zfIKTAe!&-D?>&um!*|?V?}TK-G1}|V78a%GC>&!}q>@vowh_no#l{>TjCbu25;@04 z4Ge$c!27Rz$*}$PHm$1KhFdu$IKSamjOsee#o2Aw&J)e;P`fXiCIJ+^Y|*PX`bE7n zJArYu(%@GDjgU#Nl*7Q_cPYCb#K0Czj82&wW&_|Me_ux|(ImZj(pVg`Y*A8<3*C2K z4x2=cvy9zZXrk1GG?lDu97~j%mDTFz$6W9br7WEulqn9tI0q8a1 zeL_xYG601(=T)qe;1de~kcM&Ax7k}wABKgqI1XXtB@+xdA+tPP5Ma0qq-g9H%^5R} zFK8i3w&CF|{1(Jctz9RGxbkRnSn$a70hM8 zXT#DT@UW*`lC{g~K$-VJrccS+Sj8I3ytumxxUr3-hZ}cE=8-x)#L3Xq7Fm|G0A^bG zNBq=^Xi_T}4n1MwItwQijY9Gx6p_JIO=c$0yCvI!rS;SCAcjL^@4XT~#iXI=3N7UE z7xxbGJSA(jfVsu&J(khPqEBl!z>v3$@L{T}yiFB_ZhmI+mvts<%*F@%7PdWd1&!uC zf=iU8N*ro|w>5IYw37Uc4<%k!cA!kIY_qf8)a2IIPA$*>QkpAD+NY8X0K9)2Oeb^kBZ~E$rVB1tX&N{p%zP*S1Ai9g>G_i6#VP= ziU~8D!Jv?qD&;BGdi9Ld%~_V&$_zX?+iEu;GctYnl&^in-23`}ZeFfHjIL9>3tWL^MA8~_te9EB5h zd+47)M~yFeK17~y4@z>3xn)0!@?os)wosBeYBEkSb{11k0Vc}1V=V_&LCz=xxL#3C zk9mWnV;`3GeH>@)UuGn^WNR5GhGaHwTS-IZxZTz2EBr~Z1vv$EldBVYQ4kc@J#&qQ zcjX3C8t)Z|c>b9adXYPG>FA3<>QaDwMISb{B>U&)H;i0B&T}78L0UfIz6x)Gm2M+F zApjJ!Zqa;9qNPImCDEI{1-x)^>CG9rR=x$r8KtcYpjcGgvVj$0IQQ@O@;dat@>$*~gT<Y$~9hQ&JFuc0iFiK0)<~eeY+6IN)t{HcfwrHJsQyr0nAKCM@wJs}&!i8yEPs(3o z`55Is56H#!R<3mPipmS@qE6CZ`zE0|_RXQ3U>U~*6?!1!Zhfbqvi4zF^DtK%DQBRF`o*Lqv zN30SM+g8hd6y=kFq4aIrOYqt=m6{^Z1=RbT^M4aXW3(j0T&pq$z2B7 z(km~-HT4Jl;Gt}N8zER=P!a70KVpy$!=b$1Ni_6eR+3T@$#YaY`I{BP#pDSCdZx%R z9Mn6#2a4*zok#62Xo3WxlXGxbnR-gxdG@H^@n9=I1QP-S0?6%<$A5n7XXExHh@8xO zit+ass0k~?hIyU7p=_Q>F^b4X(Hvk*n4EyfUsU4LbllI zY8)R^Z1kg__>;6dhau*<)wS(dc#^4H%MGHWcw|yRA+*;Ckt=}P{63sc3if8cNL1Xvj1h-)el zf6a}ZZ?~Un-P2DOJiPAH?d^*Av`ZJq9B-u6%8THd%qCF^jg?~-1F|1F4o2w(b{}m3 ztv~Z+EjQr0)>h5OUcI}gg+XGo06G+bePM#@Mm_G(SjjGb4~xX#f4$u)L_=P_Mpdiy zxHiyn{rJ8%5AWFx4sYig!+T~P-uBu_7t%x&y8iYnf8?LH0%RHXw~BDSMR*^rp7V!tt4>cDr-Oajf}-^M!Mu7j!*fhCT*Fsv?aQg*s5j(xvADM3&g0(56x z=GcX{m@u!!O@DIX^_GLUE_d){u#C(Lw}I^%<4SIX@H7NS%~(IbnPJXQw=l?KBj7N> z500oDbiVp&NtohZKYxJjyhvvWv)rgCQXD1Td++qF z^XS4@qks&T6ct*hUKHh2U(1^*QTxt(<79eF3X-L1k}YIX&GU3#W%C^JjIgvIatX^t zxlDF2U+l8o0@6iE*sLJ)SvFf%YOdzHEQN9|XW5Rh3@@Zw?pCW=zRG5IGEb{4&k36s zWO=8mN`IC+xu~+Nlrmo|6=8Wn)GDj8JC*0ls>)`oReF~!Nsq;z68^O%JqAA1w-cD_ z=dlEr=HMvB#{lqxoXSI(mkv8nsGjyLoxz-5Fj@tSDsBxpXPpRCZDlD;SJzC{Al=zR zH+p>yp8?<_ysR)dJS6B7A%x)}jCTaV(`s{1ihq$o!+b{(9)_qcROn6^dW77E5KK%y zq9xRv46T`vDNM&jL0WE(JfL|qWSMl-+Pt4%@I9hH4NuQoh zD}SeiN*g#YnnCQStf};U=j5)2VdxE_|8z=NXqN8>U+x87e`Jw-`2y|lw(M#IJNBaP zf}PQVd1DPg6al~Jyt_irdF2Erva5Yxym9%wnXmx34u~X}Ff+lOeNm8SmH)MVgF>*; z2y!bMeTy=!wn#R&VTSF?jpp~x9wu1H)_>N(hkhcPVQ}N_I%rec13$p7k?PxTtu@VC zyr-v4cx&Xa!1xXYVq9S3Q5XcPQy+Z$XX63S(SXXZN(??OsnsOxUGC`1U>TVgZUfsj#+BX(;b{zznxTGvGsT>tZlRaQM!;c& zC3?^;B+u3iIy??$#0D?hj;^l^2ub_Qv?#3#4`4jM2mhglNVdN`ewO!t$OlNs9%M;q zY<0MZDhJZTNjf2|a=P(^t^-$l>00oD1YiBMBrI^RAAi6GFS2RMEH~Jvz)|A8_fGGE zM;FE#1*HE;QK5C}MNv-mwY-@SwGZYSCzE4ZkUY!Md?C|nHqT~NKAXclCoC(7T*7iu zF4G;%7Q1}6fNW6`HZ2IuV7FRknUv+-G@Vu1Ow9<(3o?^xxm&HK^Hn~*lk=>~=X1hl z1zFyys(+H@PA;lEFQuF>mWr@>LDVX*@;f!3FRLn_u2$Jyx+EPIdqVivmUI|+Utc9K z*Uv)o9ST=6d8 zd_+sAIqF+8A`_U9Q6+T^CI8zbWMU_zK(?F^iU`rYd10C64*m(ydLfy|6_RM$^oN(bGJxX*e;&urU;!gi0GYFPdKLsH~~|KpblzQ|=e%;F6B%mX6>t1}-b`2kTn9uFOqiMI&b}zfv&#QkzfmFD zXau>HjlM;hR$C;S+c?Aa-bdi@%iB)&%H!PIM;Sl)`1cFE>7 zKu$44*nRkG{=Srr2bWOp_h7E)_!@W{&ml=Ei$_kkCt*K?+s|r7Df^K|HXPG86%ePC RB2X~&{{Wev{+pf$004SA{^ /*! For license information please see app.js.LICENSE */ -!function(e){function t(t){for(var n,o,r=t[0],a=t[1],s=0,c=[];s1?n-1:0),o=1;o=0}function M(e){var t=e.indexOf(".");return-1===t?e:e.slice(0,t)}function B(e,t){return 0===e.indexOf(t+".")}function H(e,t){return 0===t.indexOf(e+".")}function q(e,t,n){return t+n.slice(e.length)}function $(e){if(Array.isArray(e)){for(var t=[],n=0;n1){for(var a=0;a=0){if(!ee[t])throw new Error("invalid async handle: "+e);ee[t]=null}}},se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},le=function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0},ce=function(){function e(e,t){for(var n=0;nc.source.length&&"property"==l.kind&&!l.isCompound&&s.__isPropertyEffectsClient&&s.__dataHasAccessor&&s.__dataHasAccessor[l.target]){var p=n[t];t=q(c.source,l.target,t),s._setPendingPropertyOrPath(t,p,!1,!0)&&e._enqueueClient(s)}else!function(e,t,n,i,o){if(o=function(e,t,n,i){if(n.isCompound){var o=e.__dataCompoundStorage[n.target];o[i.compoundIndex]=t,t=o.join("")}return"attribute"!==n.kind&&("textContent"!==n.target&&("value"!==n.target||"input"!==e.localName&&"textarea"!==e.localName)||(t=void 0==t?"":t)),t}(t,o,n,i),b&&(o=b(o,n.target,n.kind,t)),"attribute"==n.kind)e._valueToNodeAttribute(t,o,n.target);else{var r=n.target;t.__isPropertyEffectsClient&&t.__dataHasAccessor&&t.__dataHasAccessor[r]?t[Le.READ_ONLY]&&t[Le.READ_ONLY][r]||t._setPendingProperty(r,o)&&e._enqueueClient(t):e._setUnmanagedPropertyToNode(t,r,o)}}(e,s,l,c,o.evaluator._evaluateBinding(e,c,t,n,i,r))}function Ze(e,t){if(t.isCompound){for(var n=e.__dataCompoundStorage||(e.__dataCompoundStorage={}),i=t.parts,o=new Array(i.length),r=0;r="0"&&i<="9"&&(i="#"),i){case"'":case'"':n.value=t.slice(1,-1),n.literal=!0;break;case"#":n.value=Number(t),n.literal=!0}return n.literal||(n.rootProperty=M(t),n.structured=F(t),n.structured&&(n.wildcard=".*"==t.slice(-2),n.wildcard&&(n.name=t.slice(0,-2)))),n}function ot(e,t,n,i){var o=n+".splices";e.notifyPath(o,{indexSplices:i}),e.notifyPath(n+".length",t.length),e.__data[o]={indexSplices:null}}function rt(e,t,n,i,o,r){ot(e,t,n,[{index:i,addedCount:o,removed:r,object:t,type:"splice"}])}var at=k(function(e){var t=Pe(_e(e)),n=function(e){function n(){!function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return e.__isPropertyEffectsClient=!0,e.__dataCounter=0,e.__dataClientsReady,e.__dataPendingClients,e.__dataToNotify,e.__dataLinkedPaths,e.__dataHasPaths,e.__dataCompoundStorage,e.__dataHost,e.__dataTemp,e.__dataClientsInitialized,e.__data,e.__dataPending,e.__dataOld,e.__computeEffects,e.__reflectEffects,e.__notifyEffects,e.__propagateEffects,e.__observeEffects,e.__readOnly,e.__templateInfo,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),Te(n,[{key:"_initializeProperties",value:function(){Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_initializeProperties",this).call(this),st.registerHost(this),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}},{key:"_initializeProtoProperties",value:function(e){this.__data=Object.create(e),this.__dataPending=Object.create(e),this.__dataOld={}}},{key:"_initializeInstanceProperties",value:function(e){var t=this[Le.READ_ONLY];for(var n in e)t&&t[n]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[n]=this.__dataPending[n]=e[n])}},{key:"_addPropertyEffect",value:function(e,t,n){this._createPropertyAccessor(e,t==Le.READ_ONLY);var i=Ne(this,t)[e];i||(i=this[t][e]=[]),i.push(n)}},{key:"_removePropertyEffect",value:function(e,t,n){var i=Ne(this,t)[e],o=i.indexOf(n);o>=0&&i.splice(o,1)}},{key:"_hasPropertyEffect",value:function(e,t){var n=this[t];return Boolean(n&&n[e])}},{key:"_hasReadOnlyEffect",value:function(e){return this._hasPropertyEffect(e,Le.READ_ONLY)}},{key:"_hasNotifyEffect",value:function(e){return this._hasPropertyEffect(e,Le.NOTIFY)}},{key:"_hasReflectEffect",value:function(e){return this._hasPropertyEffect(e,Le.REFLECT)}},{key:"_hasComputedEffect",value:function(e){return this._hasPropertyEffect(e,Le.COMPUTE)}},{key:"_setPendingPropertyOrPath",value:function(e,t,i,o){if(o||M(Array.isArray(e)?e[0]:e)!==e){if(!o){var r=V(this,e);if(!(e=K(this,e,t))||!Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_shouldPropertyChange",this).call(this,e,t,r))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(e,t,i))return function(e,t,n){var i=e.__dataLinkedPaths;if(i){var o=void 0;for(var r in i){var a=i[r];H(r,t)?(o=q(r,a,t),e._setPendingPropertyOrPath(o,n,!0,!0)):H(a,t)&&(o=q(a,r,t),e._setPendingPropertyOrPath(o,n,!0,!0))}}}(this,e,t),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[e])return this._setPendingProperty(e,t,i);this[e]=t}return!1}},{key:"_setUnmanagedPropertyToNode",value:function(e,t,n){n===e[t]&&"object"!=(void 0===n?"undefined":je(n))||(e[t]=n)}},{key:"_setPendingProperty",value:function(e,t,n){var i=this.__dataHasPaths&&F(e),o=i?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(e,t,o[e])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),e in this.__dataOld||(this.__dataOld[e]=this.__data[e]),i?this.__dataTemp[e]=t:this.__data[e]=t,this.__dataPending[e]=t,(i||this[Le.NOTIFY]&&this[Le.NOTIFY][e])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[e]=n),!0)}},{key:"_setProperty",value:function(e,t){this._setPendingProperty(e,t,!0)&&this._invalidateProperties()}},{key:"_invalidateProperties",value:function(){this.__dataReady&&this._flushProperties()}},{key:"_enqueueClient",value:function(e){this.__dataPendingClients=this.__dataPendingClients||[],e!==this&&this.__dataPendingClients.push(e)}},{key:"_flushProperties",value:function(){this.__dataCounter++,Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_flushProperties",this).call(this),this.__dataCounter--}},{key:"_flushClients",value:function(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}},{key:"__enableOrFlushClients",value:function(){var e=this.__dataPendingClients;if(e){this.__dataPendingClients=null;for(var t=0;t1?o-1:0),a=1;a3?i-3:0),r=3;r1?i-1:0),r=1;ri&&n.push({literal:e.slice(i,o.index)});var r=o[1][0],a=Boolean(o[2]),s=o[3].trim(),l=!1,c="",p=-1;"{"==r&&(p=s.indexOf("::"))>0&&(c=s.substring(p+2),s=s.substring(0,p),l=!0);var u=nt(s),d=[];if(u){for(var h=u.args,f=u.methodName,m=0;m2&&void 0!==arguments[2]?arguments[2]:"",o="";if(t.cssText||t.rules){var r=t.rules;if(r&&!function(e){var t=r[0];return Boolean(t)&&Boolean(t.selector)&&0===t.selector.indexOf(St)}())for(var a,s=0,l=r.length;s1&&void 0!==arguments[1]?arguments[1]:"",n=Dt(e);return this.transformRules(n,t),e.textContent=Nt(n),n}},{key:"transformCustomStyle",value:function(e){var t=this,n=Dt(e);return Ft(n,function(e){":root"===e.selector&&(e.selector="html"),t.transformRule(e)}),e.textContent=Nt(n),n}},{key:"transformRules",value:function(e,t){var n=this;this._currentElement=t,Ft(e,function(e){n.transformRule(e)}),this._currentElement=null}},{key:"transformRule",value:function(e){e.cssText=this.transformCssText(e.parsedCssText),":root"===e.selector&&(e.selector=":host > *")}},{key:"transformCssText",value:function(e){var t=this;return e=e.replace(Tt,function(e,n,i,o){return t._produceCssProperties(e,n,i,o)}),this._consumeCssProperties(e)}},{key:"_getInitialValueForProperty",value:function(e){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(e)}},{key:"_consumeCssProperties",value:function(e){for(var t=null;t=At.exec(e);){var n=t[0],i=t[1],o=t.index,r=o+n.indexOf("@apply"),a=o+n.length,s=e.slice(0,r),l=e.slice(a),c=this._cssTextToMap(s),p=this._atApplyToCssProperties(i,c);e=""+s+p+l,At.lastIndex=o+p.length}return e}},{key:"_atApplyToCssProperties",value:function(e,t){e=e.replace($t,"");var n=[],i=this._map.get(e);if(i||(this._map.set(e,{}),i=this._map.get(e)),i){this._currentElement&&(i.dependants[this._currentElement]=!0);var o=void 0,r=void 0,a=void 0,s=i.properties;for(o in s)r=[o,": var(",e,"_-_",o],(a=t&&t[o])&&r.push(",",a.replace(Vt,"")),r.push(")"),Vt.test(s[o])&&r.push(" !important"),n.push(r.join(""))}return n.join("; ")}},{key:"_replaceInitialOrInherit",value:function(e,t){var n=Ut.exec(t);return n&&(t=n[1]?this._getInitialValueForProperty(e):"apply-shim-inherit"),t}},{key:"_cssTextToMap",value:function(e){for(var t,n,i=e.split(";"),o=void 0,r=void 0,a={},s=0;s1&&(o=n[0].trim(),r=this._replaceInitialOrInherit(o,n.slice(1).join(":")),a[o]=r);return a}},{key:"_invalidateMixinEntry",value:function(e){if(Wt)for(var t in e.dependants)t!==this._currentElement&&Wt(t)}},{key:"_produceCssProperties",value:function(e,t,n,i){var o=this;if(n&&function e(t,n){var i=t.indexOf("var(");if(-1===i)return n(t,"","","");var o=function(e,t){for(var n=0,i=t,o=e.length;i-1?n=t:(i=t,n=e.getAttribute&&e.getAttribute("is")||""):(n=e.is,i=e.extends),{is:n,typeExtension:i}}(e).is,n=Xt[t];if(n&&!nn(n)){(function(e){return!nn(e)&&e[Qt]===e[Jt]})(n)||(this.prepareTemplate(n,t),function(e){e[Qt]=e[Jt],e._validating||(e._validating=!0,en.then(function(){e[Gt]=e[Jt],e._validating=!1}))}(n));var i=e.shadowRoot;if(i){var o=i.querySelector("style");o&&(o.__cssRules=n._styleAst,o.textContent=Nt(n._styleAst))}}}},{key:"styleDocument",value:function(e){this.ensure(),this.styleSubtree(document.body,e)}}]),e}();if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){var vn=new yn,bn=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate:function(e,t,n){vn.flushCustomStyles(),vn.prepareTemplate(e,t)},styleSubtree:function(e,t){vn.flushCustomStyles(),vn.styleSubtree(e,t)},styleElement:function(e){vn.flushCustomStyles(),vn.styleElement(e)},styleDocument:function(e){vn.flushCustomStyles(),vn.styleDocument(e)},getComputedStyleValue:function(e,t){return Bt(e,t)},flushCustomStyles:function(){vn.flushCustomStyles()},nativeCss:gt,nativeShadow:yt},bn&&(window.ShadyCSS.CustomStyleInterface=bn)}window.ShadyCSS.ApplyShim=mn;var gn=function(){function e(e,t){for(var n=0;n-1}var Tn=!1;function An(e){if(!Pn(e)&&"touchend"!==e)return wn&&Tn&&g?{passive:!0}:void 0}!function(){try{var e=Object.defineProperty({},"passive",{get:function(){Tn=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}}();var jn=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),In=function(){};In.prototype.reset,In.prototype.mousedown,In.prototype.mousemove,In.prototype.mouseup,In.prototype.touchstart,In.prototype.touchmove,In.prototype.touchend,In.prototype.click;var Rn=[],Ln={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0};function zn(e){var t=Array.prototype.slice.call(e.labels||[]);if(!t.length){t=[];var n=e.getRootNode();if(e.id)for(var i=n.querySelectorAll("label[for = "+e.id+"]"),o=0;o-1;if(o[r]===Mn.mouse.target)return}if(i)return;e.preventDefault(),e.stopPropagation()}};function Dn(e){for(var t,n=jn?["click"]:Cn,i=0;i0?t[0]:e.target}return e.target}function Kn(e){var t=void 0,n=e.type,i=e.currentTarget[kn];if(i){var o=i[n];if(o){if(!e[xn]&&(e[xn]={},"touch"===n.slice(0,5))){var r=(e=e).changedTouches[0];if("touchstart"===n&&1===e.touches.length&&(Mn.touch.id=r.identifier),Mn.touch.id!==r.identifier)return;wn||"touchstart"!==n&&"touchmove"!==n||function(e){var t=e.changedTouches[0],n=e.type;if("touchstart"===n)Mn.touch.x=t.clientX,Mn.touch.y=t.clientY,Mn.touch.scrollDecided=!1;else if("touchmove"===n){if(Mn.touch.scrollDecided)return;Mn.touch.scrollDecided=!0;var i=function(e){var t="auto",n=e.composedPath&&e.composedPath();if(n)for(var i,o=0;or:"pan-y"===i&&(o=r>a)),o?e.preventDefault():o("track")}}(e)}if(!(t=e[xn]).skip){for(var a,s=0;s<$n.length;s++)o[(a=$n[s]).name]&&!t[a.name]&&a.flow&&a.flow.start.indexOf(e.type)>-1&&a.reset&&a.reset();for(var l,c=0;c<$n.length;c++)o[(l=$n[c]).name]&&!t[l.name]&&(t[l.name]=!0,l[n](e))}}}}function Wn(e,t,n){return!!qn[t]&&(function(e,t,n){var i=qn[t],o=i.deps,r=i.name,a=e[kn];a||(e[kn]=a={});for(var s,l,c=0;c2&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,Hn(this.info)},hasMovedEnough:function(e,t){if(this.info.prevent)return!1;if(this.info.started)return!0;var n=Math.abs(this.info.x-e),i=Math.abs(this.info.y-t);return n>=5||i>=5},mousedown:function(e){if(Fn(e)){var t=Vn(e),n=this,i=function(e){var i=e.clientX,o=e.clientY;n.hasMovedEnough(i,o)&&(n.info.state=n.info.started?"mouseup"===e.type?"end":"track":"start","start"===n.info.state&&Jn("tap"),n.info.addMove({x:i,y:o}),Fn(e)||(n.info.state="end",Hn(n.info)),n._fire(t,e),n.info.started=!0)};Bn(this.info,i,function(e){n.info.started&&i(e),Hn(n.info)}),this.info.x=e.clientX,this.info.y=e.clientY}},touchstart:function(e){var t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove:function(e){var t=Vn(e),n=e.changedTouches[0],i=n.clientX,o=n.clientY;this.hasMovedEnough(i,o)&&("start"===this.info.state&&Jn("tap"),this.info.addMove({x:i,y:o}),this._fire(t,n),this.info.state="track",this.info.started=!0)},touchend:function(e){var t=Vn(e),n=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:n.clientX,y:n.clientY}),this._fire(t,n,e))},_fire:function(e,t){var n=this.info.moves[this.info.moves.length-2],i=this.info.moves[this.info.moves.length-1],o=i.x-this.info.x,r=i.y-this.info.y,a=void 0,s=0;n&&(a=i.x-n.x,s=i.y-n.y),Gn(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,dy:r,ddx:a,ddy:s,sourceEvent:t,hover:function(){return Un(t.clientX,t.clientY)}})}}),Zn({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},save:function(e){this.info.x=e.clientX,this.info.y=e.clientY},mousedown:function(e){Fn(e)&&this.save(e)},click:function(e){Fn(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[0],e)},touchend:function(e){this.forward(e.changedTouches[0],e)},forward:function(e,t){var n=Math.abs(e.clientX-this.info.x),i=Math.abs(e.clientY-this.info.y),o=Vn(t||e);o&&!o.disabled&&(isNaN(n)||isNaN(i)||n<=25&&i<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;var t=Vn(e);if(!t.nodeType||t.nodeType!==Node.ELEMENT_NODE)return!0;var n=t.getBoundingClientRect(),i=e.pageX,o=e.pageY;return!(i>=n.left&&i<=n.right&&o>=n.top&&o<=n.bottom)}return!1}(e))&&(this.info.prevent||Gn(o,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:t}))}});var ei=Vn,ti=Wn,ni=Yn,ii=function(){function e(e,t){for(var n=0;n-1&&ui.splice(e,1)}}}]),n}();return n.__activateDir=!1,n}),bi=!1,gi=[],_i=[];function wi(){bi=!0,requestAnimationFrame(function(){bi=!1,function(e){for(;e.length;)ki(e.shift())}(gi),setTimeout(function(){!function(e){for(var t=0,n=e.length;t0||n>0;)if(0!=t)if(0!=n){var r,a=e[t-1][n-1],s=e[t-1][n],l=e[t][n-1];(r=s0?ie.after(n):ae,t.bind(this))}},{key:"isDebouncerActive",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];return!(!t||!t.isActive())}},{key:"flushDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.flush()}},{key:"cancelDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.cancel()}},{key:"async",value:function(e,t){return t>0?ie.run(e.bind(this),t):~ae.run(e.bind(this))}},{key:"cancelAsync",value:function(e){e<0?ae.cancel(~e):ie.cancel(e)}},{key:"create",value:function(e,t){var n=document.createElement(e);if(t)if(n.setProperties)n.setProperties(t);else for(var i in t)n[i]=t[i];return n}},{key:"elementMatches",value:function(e,t){return qi(t||this,e)}},{key:"toggleAttribute",value:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.hasAttribute(e)),t?n.setAttribute(e,""):n.removeAttribute(e)}},{key:"toggleClass",value:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.classList.contains(e)),t?n.classList.add(e):n.classList.remove(e)}},{key:"transform",value:function(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e}},{key:"translate3d",value:function(e,t,n,i){i=i||this,this.transform("translate3d("+e+","+t+","+n+")",i)}},{key:"arrayDelete",value:function(e,t){var n=void 0;if(Array.isArray(e)){if((n=e.indexOf(t))>=0)return e.splice(n,1)}else if((n=V(this,e).indexOf(t))>=0)return this.splice(e,n,1);return null}},{key:"_logger",value:function(e,t){var n;switch(Array.isArray(t)&&1===t.length&&Array.isArray(t[0])&&(t=t[0]),e){case"log":case"warn":case"error":(n=console)[e].apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?t-1:0),i=1;i=0;o--){var r=t[o];r?Array.isArray(r)?e(r,n):n.indexOf(r)<0&&(!i||i.indexOf(r)<0)&&n.unshift(r):console.warn("behavior is null, check for missing or 404 import")}return n}(e,null,n),t),n&&(e=n.concat(e)),t.prototype.behaviors=e,t}function eo(e,t){var n=function(n){function i(){return function(e,t){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(i.__proto__||Object.getPrototypeOf(i)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,t),Xi(i,[{key:"created",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"created",this).call(this),e.created&&e.created.call(this)}},{key:"_registered",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_registered",this).call(this),e.beforeRegister&&e.beforeRegister.call(Object.getPrototypeOf(this)),e.registered&&e.registered.call(Object.getPrototypeOf(this))}},{key:"_applyListeners",value:function(){if(Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_applyListeners",this).call(this),e.listeners)for(var t in e.listeners)this._addMethodEventListenerToNode(this,t,e.listeners[t])}},{key:"_ensureAttributes",value:function(){if(e.hostAttributes)for(var t in e.hostAttributes)this._ensureAttribute(t,e.hostAttributes[t]);Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_ensureAttributes",this).call(this)}},{key:"ready",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"ready",this).call(this),e.ready&&e.ready.call(this)}},{key:"attached",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"attached",this).call(this),e.attached&&e.attached.call(this)}},{key:"detached",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"detached",this).call(this),e.detached&&e.detached.call(this)}},{key:"attributeChanged",value:function(t,n,o){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"attributeChanged",this).call(this,t,n,o),e.attributeChanged&&e.attributeChanged.call(this,t,n,o)}}],[{key:"properties",get:function(){return e.properties}},{key:"observers",get:function(){return e.observers}},{key:"template",get:function(){return e._template||D&&D.import(this.is,"template")||t.template||this.prototype._template||null}}]),i}();for(var i in n.generatedFrom=e,e)if(!(i in Ji)){var o=Object.getOwnPropertyDescriptor(e,i);o&&Object.defineProperty(n.prototype,i,o)}return n}var to=function e(t){var n;return n="function"==typeof t?t:e.Class(t),customElements.define(n.is,n),n};to.Class=function(e){e||console.warn("Polymer's Class function requires `info` argument");var t=eo(e,e.behaviors?Qi(e.behaviors,HTMLElement):Zi(HTMLElement));return t.is=e.is,t};var no=function(){function e(e,t){for(var n=0;n can only be templatized once");e.__templatizeOwner=t;var i=(t?t.constructor:_o)._parseTemplate(e),o=i.templatizeInstanceClass;o||(o=function(e,t,n){var i=n.mutableData?wo:_o,o=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,i),t}();return o.prototype.__templatizeOptions=n,o.prototype._bindTemplate(e),function(e,t,n,i){var o=n.hostProps||{};for(var r in i.instanceProps){delete o[r];var a=i.notifyInstanceProp;a&&e.prototype._addPropertyEffect(r,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:xo(0,a)})}if(i.forwardHostProp&&t.__dataHost)for(var s in o)e.prototype._addPropertyEffect(s,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:function(e,t,n){e.__dataHost._setPendingPropertyOrPath("_host_"+t,n[t],!0,!0)}})}(o,e,t,n),o}(e,i,n),i.templatizeInstanceClass=o),function(e,t,n){var i=n.forwardHostProp;if(i){var o=t.templatizeTemplateClass;if(!o){var r=n.mutableData?bo:vo;o=t.templatizeTemplateClass=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,r),t}();var a=t.hostProps;for(var s in a)o.prototype._addPropertyEffect("_host_"+s,o.prototype.PROPERTY_EFFECT_TYPES.PROPAGATE,{fn:ko(0,i)}),o.prototype._createNotifyingProperty("_host_"+s)}!function(e,t){mo=e,Object.setPrototypeOf(e,t.prototype),new t,mo=null}(e,o),e.__dataProto&&Object.assign(e.__data,e.__dataProto),e.__dataTemp={},e.__dataPending=null,e.__dataOld=null,e._enableProperties()}}(e,i,n);var r=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,o),t}();return r.prototype._methodHost=function(e){var t=e.__dataHost;return t&&t._methodHost||t}(e),r.prototype.__dataHost=e,r.prototype.__templatizeOwner=t,r.prototype.__hostProps=i.hostProps,r}var Co=function(){function e(e,t){for(var n=0;n child");n.disconnect(),e.render()});return void n.observe(this,{childList:!0})}this.root=this._stampTemplate(t),this.$=this.root.$,this.__children=[];for(var i=this.root.firstChild;i;i=i.nextSibling)this.__children[this.__children.length]=i;this._enableProperties()}this.__insertChildren(),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0}))}}]),t}();customElements.define("dom-bind",Eo);var Po=function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0},To=function(){function e(e,t){for(var n=0;n child");n.disconnect(),e.__render()});return n.observe(this,{childList:!0}),!1}var i={};i[this.as]=!0,i[this.indexAs]=!0,i[this.itemsIndexAs]=!0,this.__ctor=Oo(t,this,{mutableData:this.mutableData,parentModel:!0,instanceProps:i,forwardHostProp:function(e,t){for(var n,i=this.__instances,o=0;o1&&void 0!==arguments[1]?arguments[1]:0;this.__renderDebouncer=_n.debounce(this.__renderDebouncer,t>0?ie.after(t):ae,e.bind(this)),zi(this.__renderDebouncer)}},{key:"render",value:function(){this.__debounceRender(this.__render),Di()}},{key:"__render",value:function(){this.__ensureTemplatized()&&(this.__applyFullRefresh(),this.__pool.length=0,this._setRenderedItemCount(this.__instances.length),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0})),this.__tryRenderChunk())}},{key:"__applyFullRefresh",value:function(){for(var e=this,t=this.items||[],n=new Array(t.length),i=0;i=r;p--)this.__detachAndRemoveInstance(p)}},{key:"__detachInstance",value:function(e){for(var t=this.__instances[e],n=0;n child");i.disconnect(),e.__render()});return i.observe(this,{childList:!0}),!1}this.__ctor=Oo(n,this,{mutableData:!0,forwardHostProp:function(e,t){this.__instance&&(this.if?this.__instance.forwardHostProp(e,t):(this.__invalidProps=this.__invalidProps||Object.create(null),this.__invalidProps[M(e)]=!0))}})}if(this.__instance){this.__syncHostProperties();var o=this.__instance.children;if(o&&o.length&&this.previousSibling!==o[o.length-1])for(var r,a=0;a=o.index+o.removed.length?n.set(t,e+o.addedCount-o.removed.length):n.set(t,-1))});for(var r=0;r=0&&e.linkPaths("items."+n,"selected."+t++)})}else this.__selectedMap.forEach(function(t){e.linkPaths("selected","items."+t),e.linkPaths("selectedItem","items."+t)})}},{key:"clearSelection",value:function(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}},{key:"isSelected",value:function(e){return this.__selectedMap.has(e)}},{key:"isIndexSelected",value:function(e){return this.isSelected(this.items[e])}},{key:"__deselectChangedIdx",value:function(e){var t=this,n=this.__selectedIndexForItemIndex(e);if(n>=0){var i=0;this.__selectedMap.forEach(function(e,o){n==i++&&t.deselect(o)})}}},{key:"__selectedIndexForItemIndex",value:function(e){var t=this.__dataLinkedPaths["items."+e];if(t)return parseInt(t.slice("selected.".length),10)}},{key:"deselect",value:function(e){var t=this.__selectedMap.get(e);if(t>=0){this.__selectedMap.delete(e);var n=void 0;this.multi&&(n=this.__selectedIndexForItemIndex(t)),this.__updateLinks(),this.multi?this.splice("selected",n,1):this.selected=this.selectedItem=null}}},{key:"deselectIndex",value:function(e){this.deselect(this.items[e])}},{key:"select",value:function(e){this.selectIndex(this.items.indexOf(e))}},{key:"selectIndex",value:function(e){var t=this.items[e];this.isSelected(t)?this.toggle&&this.deselectIndex(e):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(t,e),this.__updateLinks(),this.multi?this.push("selected",t):this.selected=this.selectedItem=t)}}]),n}()})(mt),Bo=function(e){function t(){return No(this,t),Do(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return Fo(t,Mo),zo(t,null,[{key:"is",get:function(){return"array-selector"}}]),t}();customElements.define(Bo.is,Bo);var Ho=new hn;window.ShadyCSS||(window.ShadyCSS={prepareTemplate:function(e,t,n){},styleSubtree:function(e,t){Ho.processStyles(),Mt(e,t)},styleElement:function(e){Ho.processStyles()},styleDocument:function(e){Ho.processStyles(),Mt(document.body,e)},getComputedStyleValue:function(e,t){return Bt(e,t)},flushCustomStyles:function(){},nativeCss:gt,nativeShadow:yt}),window.ShadyCSS.CustomStyleInterface=Ho;var qo=function(){function e(e,t){for(var n=0;n0&&(u="/"+u),this.tail&&this.tail.prefix===p&&this.tail.path===u||(c.tail={prefix:p,path:u,__queryParams:this.route.__queryParams}),c.data=r,this._dataInUrl={},r)this._dataInUrl[d]=r[d];this.setProperties?this.setProperties(c,!0):this.__setMulti(c)}else this.__resetProperties()}},__tailPathChanged:function(e){if(this.active){var t=e,n=this._matched;t&&("/"!==t.charAt(0)&&(t="/"+t),n+=t),this.set("route.path",n)}},__updatePathOnDataChange:function(){if(this.route&&this.active){var e=this.__getLink({});e!==this.__getLink(this._dataInUrl)&&this.set("route.path",e)}},__getLink:function(e){var t={tail:null};for(var n in this.data)t[n]=this.data[n];for(var n in e)t[n]=e[n];var i=this.pattern.split("/").map(function(e){return":"==e[0]&&(e=t[e.slice(1)]),e},this);return t.tail&&t.tail.path&&(i.length>0&&"/"===t.tail.path.charAt(0)?i.push(t.tail.path.slice(1)):i.push(t.tail.path)),i.join("/")},__setMulti:function(e){for(var t in e)this._propertySetter(t,e[t]);void 0!==e.data&&(this._pathEffector("data",this.data),this._notifyChange("data")),void 0!==e.active&&(this._pathEffector("active",this.active),this._notifyChange("active")),void 0!==e.tail&&(this._pathEffector("tail",this.tail),this._notifyChange("tail"))}});var Ko=document.createElement("template");Ko.setAttribute("style","display: none;"),Ko.innerHTML='\n \n\n \n',document.head.appendChild(Ko.content);var Wo=document.createElement("style");Wo.textContent="[hidden] { display: none !important; }",document.head.appendChild(Wo);var Yo,Zo,Xo=(Yo=["\n \n\n \n"],Zo=["\n \n\n \n"],Object.freeze(Object.defineProperties(Yo,{raw:{value:Object.freeze(Zo)}})));to({_template:l(Xo),is:"app-toolbar"});var Go=document.createElement("template");Go.setAttribute("style","display: none;"),Go.innerHTML='\n \n\n \n\n \n\n \n\n \n',document.head.appendChild(Go.content);var Jo=document.createElement("template");Jo.setAttribute("style","display: none;"),Jo.innerHTML='\n \n',document.head.appendChild(Jo.content);var Qo={properties:{active:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"__activeChanged"},alt:{type:String,value:"loading",observer:"__altChanged"},__coolingDown:{type:Boolean,value:!1}},__computeContainerClasses:function(e,t){return[e||t?"active":"",t?"cooldown":""].join(" ")},__activeChanged:function(e,t){this.__setAriaHidden(!e),this.__coolingDown=!e&&t},__altChanged:function(e){"loading"===e?this.alt=this.getAttribute("aria-label")||e:(this.__setAriaHidden(""===e),this.setAttribute("aria-label",e))},__setAriaHidden:function(e){e?this.setAttribute("aria-hidden","true"):this.removeAttribute("aria-hidden")},__reset:function(){this.active=!1,this.__coolingDown=!1}},er=(n(7),document.createElement("template"));er.setAttribute("style","display: none;"),er.innerHTML='\n \n\n \n',document.head.appendChild(er.content),to({is:"paper-spinner",behaviors:[Qo]});var tr=function e(t){e[" "](t),this.type=t&&t.type||"default",this.key=t&&t.key,t&&"value"in t&&(this.value=t.value)};tr[" "]=function(){},tr.types={},tr.prototype={get value(){var e=this.type,t=this.key;if(e&&t)return tr.types[e]&&tr.types[e][t]},set value(e){var t=this.type,n=this.key;t&&n&&(t=tr.types[t]=tr.types[t]||{},null==e?delete t[n]:t[n]=e)},get list(){if(this.type){var e=tr.types[this.type];return e?Object.keys(e).map(function(e){return nr[this.type][e]},this):[]}},byKey:function(e){return this.key=e,this.value}};var nr=tr.types;to({is:"iron-meta",properties:{type:{type:String,value:"default"},key:{type:String},value:{type:String,notify:!0},self:{type:Boolean,observer:"_selfChanged"},__meta:{type:Boolean,computed:"__computeMeta(type, key, value)"}},hostAttributes:{hidden:!0},__computeMeta:function(e,t,n){var i=new tr({type:e,key:t});return void 0!==n&&n!==i.value?i.value=n:this.value!==i.value&&(this.value=i.value),i},get list(){return this.__meta&&this.__meta.list},_selfChanged:function(e){e&&(this.value=this)},byKey:function(e){return new tr({type:this.type,key:e}).value}});var ir=Object.freeze(Object.defineProperties(["\n \n"],{raw:{value:Object.freeze(["\n \n"])}}));to({_template:l(ir),is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:Vo.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Vi(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.removeIcon(this),this._img||(this._img=document.createElement("img"),this._img.style.width="100%",this._img.style.height="100%",this._img.draggable=!1),this._img.src=this.src,Vi(this.root).appendChild(this._img))}});var or={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},rr={8:"backspace",9:"tab",13:"enter",27:"esc",33:"pageup",34:"pagedown",35:"end",36:"home",32:"space",37:"left",38:"up",39:"right",40:"down",46:"del",106:"*"},ar={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},sr=/[a-z0-9*]/,lr=/U\+/,cr=/^arrow/,pr=/^space(bar)?/,ur=/^escape$/;function dr(e,t){var n="";if(e){var i=e.toLowerCase();" "===i||pr.test(i)?n="space":ur.test(i)?n="esc":1==i.length?t&&!sr.test(i)||(n=i):n=cr.test(i)?i.replace("arrow",""):"multiply"==i?"*":i}return n}function hr(e,t){return n=t,i=e.hasModifiers,(n.key?dr(n.key,i):n.detail&&n.detail.key?dr(n.detail.key,i):(r="",(o=n.keyIdentifier)&&(o in or?r=or[o]:lr.test(o)?(o=parseInt(o.replace("U+","0x"),16),r=String.fromCharCode(o).toLowerCase()):r=o.toLowerCase()),r||function(e){var t="";return Number(e)&&(t=e>=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112+1):e>=48&&e<=57?String(e-48):e>=96&&e<=105?String(e-96):rr[e]),t}(n.keyCode)||""))===e.key&&(!e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKey==!!e.metaKey);var n,i,o,r}function fr(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),i=n[0],o=n[1];return i in ar?(e[ar[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=o||"keydown"),e},{combo:e.split(":").shift()})}(e)})}var mr={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var n=fr(t),i=0;i\n :host {\n display: block;\n position: absolute;\n border-radius: inherit;\n overflow: hidden;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n /* See PolymerElements/paper-behaviors/issues/34. On non-Chrome browsers,\n * creating a node (with a position:absolute) in the middle of an event\n * handler "interrupts" that event handler (which happens when the\n * ripple is created on demand) */\n pointer-events: none;\n }\n\n :host([animating]) {\n /* This resolves a rendering issue in Chrome (as of 40) where the\n ripple is not properly clipped by its parent (which may have\n rounded corners). See: http://jsbin.com/temexa/4\n\n Note: We only apply this style conditionally. Otherwise, the browser\n will create a new compositing layer for every ripple element on the\n page, and that would be bad. */\n -webkit-transform: translate(0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n #background,\n #waves,\n .wave-container,\n .wave {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n #background,\n .wave {\n opacity: 0;\n }\n\n #waves,\n .wave {\n overflow: hidden;\n }\n\n .wave-container,\n .wave {\n border-radius: 50%;\n }\n\n :host(.circle) #background,\n :host(.circle) #waves {\n border-radius: 50%;\n }\n\n :host(.circle) .wave-container {\n overflow: hidden;\n }\n \n\n
\n
\n'],{raw:{value:Object.freeze(['\n \n\n
\n
\n'])}})),_r={distance:function(e,t,n,i){var o=e-n,r=t-i;return Math.sqrt(o*o+r*r)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function wr(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function kr(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Vi(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}wr.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var n=_r.distance(e,t,0,0),i=_r.distance(e,t,this.width,0),o=_r.distance(e,t,0,this.height),r=_r.distance(e,t,this.width,this.height);return Math.max(n,i,o,r)}},kr.MAX_RADIUS=300,kr.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=_r.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?_r.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),kr.MAX_RADIUS)+5,i=1.1-n/kr.MAX_RADIUS*.2,o=this.mouseInteractionSeconds/i,r=n*(1-Math.pow(80,-o));return Math.abs(r)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,kr.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,kr.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new wr(this.element)},draw:function(){var e,t,n;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,n=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+n+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+n+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(e){var t=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=_r.now(),this.center?(this.xStart=t,this.yStart=n,this.slideDistance=_r.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=e?e.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=e?e.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=t,this.yEnd=n,this.slideDistance=_r.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(e){this.isMouseDown&&(this.mouseUpStart=_r.now())},remove:function(){Vi(this.waveContainer.parentNode).removeChild(this.waveContainer)}},to({_template:l(gr),is:"paper-ripple",behaviors:[mr],properties:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Vi(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new kr(this);return Vi(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e\n .invisible {\n visibility: hidden;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),Ir=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ar(t,[{key:"computeMenuButtonClass",value:function(e,t){return!e&&t?"invisible":""}},{key:"toggleMenu",value:function(e){e.stopPropagation(),this.fire("hass-open-menu")}}],[{key:"template",get:function(){return l(jr)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-menu-button",Ir);var Rr=function(){function e(e,t){for(var n=0;n\n .placeholder {\n height: 100%;\n }\n\n .layout {\n height: calc(100% - 64px);\n }\n \n\n
\n \n \n
[[title]]
\n
\n
\n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n\n
\n \n \n
[[title]]
\n
\n
\n \n
\n
\n'])}})),zr=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Rr(t,null,[{key:"template",get:function(){return l(Lr)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}}}]),t}();customElements.define("hass-loading-screen",zr);var Nr={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this)},attached:function(){this._requestResizeNotifications()},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):window.removeEventListener("resize",this._boundNotifyResize),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable=e},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this.unlisten(e,"iron-resize","_onDescendantIronResize"))},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():y||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Vi(e).rootTarget;t!==this&&(-1===this._interestedResizables.indexOf(t)&&(this._interestedResizables.push(t),this.listen(t,"iron-resize","_onDescendantIronResize")),t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)},_requestResizeNotifications:function(){if(this.isAttached)if("loading"===document.readyState){var e=this._requestResizeNotifications.bind(this);document.addEventListener("readystatechange",function t(){document.removeEventListener("readystatechange",t),e()})}else this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable||(window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())}},Dr=[Nr,{listeners:{"app-reset-layout":"_appResetLayoutHandler","iron-resize":"resetLayout"},attached:function(){this.fire("app-reset-layout")},_appResetLayoutHandler:function(e){Vi(e).path[0]!==this&&(this.resetLayout(),e.stopPropagation())},_updateLayoutStates:function(){console.error("unimplemented")},resetLayout:function(){var e=this._updateLayoutStates.bind(this);o&&oe?(this._layoutDebouncer=_n.debounce(this._layoutDebouncer,oe,e),zi(this._layoutDebouncer)):this.debounce("resetLayout",e),this._notifyDescendantResize()},_notifyLayoutChanged:function(){var e=this;requestAnimationFrame(function(){e.fire("app-reset-layout")})},_notifyDescendantResize:function(){this.isAttached&&this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this)}}],Fr=Object.freeze(Object.defineProperties(['\n \n\n
\n \n\n
\n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n\n
\n \n\n
\n \n
\n
\n'])}}));to({_template:l(Fr),is:"app-header-layout",behaviors:[Dr],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Vi(this.$.headerSlot).getDistributedNodes()[0]},_updateLayoutStates:function(){var e=this.header;if(this.isAttached&&e){this.$.wrapper.classList.remove("initializing"),e.scrollTarget=this.hasScrollingRegion?this.$.contentContainer:this.ownerDocument.documentElement;var t=e.offsetHeight;this.hasScrollingRegion?(e.style.left="",e.style.right=""):requestAnimationFrame(function(){var t=this.getBoundingClientRect(),n=document.documentElement.clientWidth-t.right;e.style.left=t.left+"px",e.style.right=n+"px"}.bind(this));var n=this.$.contentContainer.style;e.fixed&&!e.condenses&&this.hasScrollingRegion?(n.marginTop=t+"px",n.paddingTop=""):(n.paddingTop=t+"px",n.marginTop="")}}});var Mr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Br={},Hr=[{properties:{scrollTarget:{type:HTMLElement,value:function(){return this._defaultScrollTarget}}},observers:["_scrollTargetChanged(scrollTarget, isAttached)"],_shouldHaveListener:!0,_scrollTargetChanged:function(e,t){if(this._oldScrollTarget&&(this._toggleScrollListener(!1,this._oldScrollTarget),this._oldScrollTarget=null),t)if("document"===e)this.scrollTarget=this._doc;else if("string"==typeof e){var n=this.domHost;this.scrollTarget=n&&n.$?n.$[e]:Vi(this.ownerDocument).querySelector("#"+e)}else this._isValidScrollTarget()&&(this._oldScrollTarget=e,this._toggleScrollListener(this._shouldHaveListener,e))},_scrollHandler:function(){},get _defaultScrollTarget(){return this._doc},get _doc(){return this.ownerDocument.documentElement},get _scrollTop(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageYOffset:this.scrollTarget.scrollTop:0},get _scrollLeft(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageXOffset:this.scrollTarget.scrollLeft:0},set _scrollTop(e){this.scrollTarget===this._doc?window.scrollTo(window.pageXOffset,e):this._isValidScrollTarget()&&(this.scrollTarget.scrollTop=e)},set _scrollLeft(e){this.scrollTarget===this._doc?window.scrollTo(e,window.pageYOffset):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=e)},scroll:function(e,t){var n;"object"===(void 0===e?"undefined":Mr(e))?(n=e.left,t=e.top):n=e,n=n||0,t=t||0,this.scrollTarget===this._doc?window.scrollTo(n,t):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=n,this.scrollTarget.scrollTop=t)},get _scrollTargetWidth(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerWidth:this.scrollTarget.offsetWidth:0},get _scrollTargetHeight(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerHeight:this.scrollTarget.offsetHeight:0},_isValidScrollTarget:function(){return this.scrollTarget instanceof HTMLElement},_toggleScrollListener:function(e,t){var n=t===this._doc?window:t;e?this._boundScrollHandler||(this._boundScrollHandler=this._scrollHandler.bind(this),n.addEventListener("scroll",this._boundScrollHandler)):this._boundScrollHandler&&(n.removeEventListener("scroll",this._boundScrollHandler),this._boundScrollHandler=null)},toggleScrollListener:function(e){this._shouldHaveListener=e,this._toggleScrollListener(e,this.scrollTarget)}},{properties:{effects:{type:String},effectsConfig:{type:Object,value:function(){return{}}},disabled:{type:Boolean,reflectToAttribute:!0,value:!1},threshold:{type:Number,value:0},thresholdTriggered:{type:Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_effectsChanged(effects, effectsConfig, isAttached)"],_updateScrollState:function(e){},isOnScreen:function(){return!1},isContentBelow:function(){return!1},_effectsRunFn:null,_effects:null,get _clampedScrollTop(){return Math.max(0,this._scrollTop)},detached:function(){this._tearDownEffects()},createEffect:function(e,t){var n=Br[e];if(!n)throw new ReferenceError(this._getUndefinedMsg(e));var i=this._boundEffect(n,t||{});return i.setUp(),i},_effectsChanged:function(e,t,n){this._tearDownEffects(),e&&n&&(e.split(" ").forEach(function(e){var n;""!==e&&((n=Br[e])?this._effects.push(this._boundEffect(n,t[e])):console.warn(this._getUndefinedMsg(e)))},this),this._setUpEffect())},_layoutIfDirty:function(){return this.offsetWidth},_boundEffect:function(e,t){t=t||{};var n=parseFloat(t.startsAt||0),i=parseFloat(t.endsAt||1),o=i-n,r=function(){},a=0===n&&1===i?e.run:function(t,i){e.run.call(this,Math.max(0,(t-n)/o),i)};return{setUp:e.setUp?e.setUp.bind(this,t):r,run:e.run?a.bind(this):r,tearDown:e.tearDown?e.tearDown.bind(this):r}},_setUpEffect:function(){this.isAttached&&this._effects&&(this._effectsRunFn=[],this._effects.forEach(function(e){!1!==e.setUp()&&this._effectsRunFn.push(e.run)},this))},_tearDownEffects:function(){this._effects&&this._effects.forEach(function(e){e.tearDown()}),this._effectsRunFn=[],this._effects=[]},_runEffects:function(e,t){this._effectsRunFn&&this._effectsRunFn.forEach(function(n){n(e,t)})},_scrollHandler:function(){if(!this.disabled){var e=this._clampedScrollTop;this._updateScrollState(e),this.threshold>0&&this._setThresholdTriggered(e>=this.threshold)}},_getDOMRef:function(e){console.warn("_getDOMRef","`"+e+"` is undefined")},_getUndefinedMsg:function(e){return"Scroll effect `"+e+"` is undefined. Did you forget to import app-layout/app-scroll-effects/effects/"+e+".html ?"}}],qr=Object.freeze(Object.defineProperties(['\n \n
\n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n \n
\n'])}}));to({_template:l(qr),is:"app-header",behaviors:[Hr,Dr],properties:{condenses:{type:Boolean,value:!1},fixed:{type:Boolean,value:!1},reveals:{type:Boolean,value:!1},shadow:{type:Boolean,reflectToAttribute:!0,value:!1}},observers:["_configChanged(isAttached, condenses, fixed)"],_height:0,_dHeight:0,_stickyElTop:0,_stickyElRef:null,_top:0,_progress:0,_wasScrollingDown:!1,_initScrollTop:0,_initTimestamp:0,_lastTimestamp:0,_lastScrollTop:0,get _maxHeaderTop(){return this.fixed?this._dHeight:this._height+5},get _stickyEl(){if(this._stickyElRef)return this._stickyElRef;for(var e,t=Vi(this.$.slot).getDistributedNodes(),n=0;e=t[n];n++)if(e.nodeType===Node.ELEMENT_NODE){if(e.hasAttribute("sticky")){this._stickyElRef=e;break}this._stickyElRef||(this._stickyElRef=e)}return this._stickyElRef},_configChanged:function(){this.resetLayout(),this._notifyLayoutChanged()},_updateLayoutStates:function(){if(0!==this.offsetWidth||0!==this.offsetHeight){var e=this._clampedScrollTop,t=0===this._height||0===e,n=this.disabled;this._height=this.offsetHeight,this._stickyElRef=null,this.disabled=!0,t||this._updateScrollState(0,!0),this._mayMove()?this._dHeight=this._stickyEl?this._height-this._stickyEl.offsetHeight:0:this._dHeight=0,this._stickyElTop=this._stickyEl?this._stickyEl.offsetTop:0,this._setUpEffect(),t?this._updateScrollState(e,!0):(this._updateScrollState(this._lastScrollTop,!0),this._layoutIfDirty()),this.disabled=n}},_updateScrollState:function(e,t){if(0!==this._height){var n,i=0,o=this._top,r=(this._lastScrollTop,this._maxHeaderTop),a=e-this._lastScrollTop,s=Math.abs(a),l=e>this._lastScrollTop,c=performance.now();if(this._mayMove()&&(i=this._clamp(this.reveals?o+a:e,0,r)),e>=this._dHeight&&(i=this.condenses&&!this.fixed?Math.max(this._dHeight,i):i,this.style.transitionDuration="0ms"),this.reveals&&!this.disabled&&s<100&&((c-this._initTimestamp>300||this._wasScrollingDown!==l)&&(this._initScrollTop=e,this._initTimestamp=c),e>=r))if(Math.abs(this._initScrollTop-e)>30||s>10){l&&e>=r?i=r:!l&&e>=this._dHeight&&(i=this.condenses&&!this.fixed?this._dHeight:0);var p=a/(c-this._lastTimestamp);this.style.transitionDuration=this._clamp((i-o)/p,0,300)+"ms"}else i=this._top;n=0===this._dHeight?e>0?1:0:i/this._dHeight,t||(this._lastScrollTop=e,this._top=i,this._wasScrollingDown=l,this._lastTimestamp=c),(t||n!==this._progress||o!==i||0===e)&&(this._progress=n,this._runEffects(n,i),this._transformHeader(i))}},_mayMove:function(){return this.condenses||!this.fixed},willCondense:function(){return this._dHeight>0&&this.condenses},isOnScreen:function(){return 0!==this._height&&this._top0:this._clampedScrollTop-this._maxHeaderTop>=0},_transformHeader:function(e){this.translate3d(0,-e+"px",0),this._stickyEl&&this.translate3d(0,this.condenses&&e>=this._stickyElTop?Math.min(e,this._dHeight)-this._stickyElTop+"px":0,0,this._stickyEl)},_clamp:function(e,t,n){return Math.min(n,Math.max(t,e))},_ensureBgContainers:function(){this._bgContainer||(this._bgContainer=document.createElement("div"),this._bgContainer.id="background",this._bgRear=document.createElement("div"),this._bgRear.id="backgroundRearLayer",this._bgContainer.appendChild(this._bgRear),this._bgFront=document.createElement("div"),this._bgFront.id="backgroundFrontLayer",this._bgContainer.appendChild(this._bgFront),Vi(this.root).insertBefore(this._bgContainer,this.$.contentContainer))},_getDOMRef:function(e){switch(e){case"backgroundFrontLayer":return this._ensureBgContainers(),this._bgFront;case"backgroundRearLayer":return this._ensureBgContainers(),this._bgRear;case"background":return this._ensureBgContainers(),this._bgContainer;case"mainTitle":return Vi(this).querySelector("[main-title]");case"condensedTitle":return Vi(this).querySelector("[condensed-title]")}return null},getScrollState:function(){return{progress:this._progress,top:this._top}}});var $r=document.createElement("template");$r.setAttribute("style","display: none;"),$r.innerHTML='\n \n',document.head.appendChild($r.content),n(6);var Ur=document.createElement("template");Ur.setAttribute("style","display: none;"),Ur.innerHTML="\n \n",document.head.appendChild(Ur.content);var Vr=document.createElement("template");Vr.setAttribute("style","display: none;"),Vr.innerHTML='\n \n\n \n\n \n\n \n',document.head.appendChild(Vr.content);var Kr={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Vi(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},get __shouldPosition(){return(this.horizontalAlign||this.verticalAlign)&&("center"!==this.horizontalAlign||"middle"!==this.verticalAlign)},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):(window.ShadyDOM&&ShadyDOM.flush(),this.fit()))},detached:function(){this.__deferredFit&&(clearTimeout(this.__deferredFit),this.__deferredFit=null)},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"",position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.__shouldPosition){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),n=this.__getNormalizedRect(this.fitInto),i=this._fitInfo.margin,o={width:e.width+i.left+i.right,height:e.height+i.top+i.bottom},r=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,o,e,t,n),a=r.left+i.left,s=r.top+i.top,l=Math.min(n.right-i.right,a+e.width),c=Math.min(n.bottom-i.bottom,s+e.height);a=Math.max(n.left+i.left,Math.min(a,l-this._fitInfo.sizedBy.minWidth)),s=Math.max(n.top+i.top,Math.min(s,c-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(l-a,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(c-s,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=a-e.left+"px",this.style.top=s-e.top+"px"}},constrain:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,n,i,o){this.__sizeDimension(e,t,n,i,o)},__sizeDimension:function(e,t,n,i,o){var r=this._fitInfo,a=this.__getNormalizedRect(this.fitInto),s="Width"===o?a.width:a.height,l=t===i,c=l?s-e[i]:e[n],p=r.margin[l?n:i],u="offset"+o,d=this[u]-this.sizingTarget[u];this.sizingTarget.style["max"+o]=s-p-c-d+"px"},center:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),n=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var i=n.top-t.top+(n.height-t.height)/2;this.style.top=i+"px"}if(!e.horizontally){var o=n.left-t.left+(n.width-t.width)/2;this.style.left=o+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getOffscreenArea:function(e,t,n){var i=Math.min(0,e.top)+Math.min(0,n.bottom-(e.top+t.height)),o=Math.min(0,e.left)+Math.min(0,n.right-(e.left+t.width));return Math.abs(i)*t.width+Math.abs(o)*t.height},__getPosition:function(e,t,n,i,o,r){var a,s=[{verticalAlign:"top",horizontalAlign:"left",top:o.top+this.verticalOffset,left:o.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:o.top+this.verticalOffset,left:o.right-n.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:o.bottom-n.height-this.verticalOffset,left:o.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:o.bottom-n.height-this.verticalOffset,left:o.right-n.width-this.horizontalOffset}];if(this.noOverlap){for(var l=0,c=s.length;l\n :host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--iron-overlay-backdrop-background-color, #000);\n opacity: 0;\n transition: opacity 0.2s;\n pointer-events: none;\n @apply --iron-overlay-backdrop;\n }\n\n :host(.opened) {\n opacity: var(--iron-overlay-backdrop-opacity, 0.6);\n pointer-events: auto;\n @apply --iron-overlay-backdrop-opened;\n }\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Wr),is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Vi(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Vi(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}});var Yr=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,ti(document.documentElement,"tap",function(){}),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)};Yr.prototype={constructor:Yr,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){var e=document.activeElement;for(e&&e instanceof Element!=0||(e=document.body);e.root&&Vi(e.root).activeElement;)e=Vi(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var n=this._overlays.length-1,i=this._overlays[n];if(i&&this._shouldBeBehindOverlay(t,i)&&n--,!(e>=n)){var o=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=o&&this._applyOverlayZ(t,o);e=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var n=this._overlays.length,i=this._overlays[n-1],o=Math.max(this._getZ(i),this._minimumZ),r=this._getZ(e);if(i&&this._shouldBeBehindOverlay(e,i)){this._applyOverlayZ(i,o),n--;var a=this._overlays[n-1];o=Math.max(this._getZ(a),this._minimumZ)}r<=o&&this._applyOverlayZ(e,o),this._overlays.splice(n,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e,this.backdropElement.prepare())},getBackdrops:function(){for(var e=[],t=0;t=0;e--)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var n=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);n==n&&(t=n)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t0;o>=0&&t.push(i),n="content"===i.localName||"slot"===i.localName?Vi(i).getDistributedNodes():Vi(i.root||i).children;for(var a=0;a0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?n.push(t.shift()):n.push(e.shift());return n.concat(e,t)},_hasLowerTabOrder:function(e,t){var n=Math.max(e.tabIndex,0),i=Math.max(t.tabIndex,0);return 0===n||0===i?i>n:n>i}},aa={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},allowClickThrough:{type:Boolean},alwaysOnTop:{type:Boolean},scrollAction:{type:String},_manager:{type:Object,value:Gr},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},observers:["__updateScrollObservers(isAttached, opened, scrollAction)"],get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Vi(this).querySelector("[autofocus]")||this},get _focusableNodes(){return ra.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__rafs={},this.__restoreFocusNode=null,this.__scrollTop=this.__scrollLeft=null,this.__onCaptureScroll=this.__onCaptureScroll.bind(this),this.__rootNodes=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Vi(this).observeNodes(this._onNodesChange)},detached:function(){for(var e in Vi(this).unobserveNodes(this._observer),this._observer=null,this.__rafs)null!==this.__rafs[e]&&cancelAnimationFrame(this.__rafs[e]);this.__rafs={},this._manager.removeOverlay(this),this.__isAnimating&&(this.opened?this._finishRenderOpened():(this._applyFocus(),this._finishRenderClosed()))},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).defaultPrevented||(this._setCanceled(!0),this.opened=!1)},invalidateTabbables:function(){this.__firstFocusableNode=this.__lastFocusableNode=null},_ensureSetup:function(){this._overlaySetup||(this._overlaySetup=!0,this.style.outline="none",this.style.display="none")},_openedChanged:function(e){e?this.removeAttribute("aria-hidden"):this.setAttribute("aria-hidden","true"),this.isAttached&&(this.__isAnimating=!0,this.__deraf("__openedChanged",this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-closed",this.closingReason)},_preparePositioning:function(){this.style.transition=this.style.webkitTransition="none",this.style.transform=this.style.webkitTransform="none",this.style.display=""},_finishPositioning:function(){this.style.display="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{if(this.restoreFocusOnClose&&this.__restoreFocusNode){var e=this._manager.deepActiveElement;(e===document.body||Vi(this).deepContains(e))&&this.__restoreFocusNode.focus()}this.__restoreFocusNode=null,this._focusNode.blur(),this._focusedChild=null}},_onCaptureClick:function(e){this.noCancelOnOutsideClick||this.cancel(e)},_onCaptureFocus:function(e){if(this.withBackdrop){var t=Vi(e).path;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,n=t?this.__firstFocusableNode:this.__lastFocusableNode,i=t?this.__lastFocusableNode:this.__firstFocusableNode,o=!1;if(n===i)o=!0;else{var r=this._manager.deepActiveElement;o=r===n||r===this}o&&(e.preventDefault(),this._focusedChild=i,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__deraf("refit",this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__deraf:function(e,t){var n=this.__rafs;null!==n[e]&&cancelAnimationFrame(n[e]),n[e]=requestAnimationFrame(function(){n[e]=null,t.call(this)}.bind(this))},__updateScrollObservers:function(e,t,n){var i;e&&t&&this.__isValidScrollAction(n)?("lock"===n&&(this.__saveScrollPosition(),i=this,na.indexOf(i)>=0||(0===na.length&&function(){Zr=Zr||function(e){if(e.cancelable&&function(e){var t=Vi(e).rootTarget;if("touchmove"!==e.type&&Qr!==t&&(Qr=t,ea=function(e){for(var t=[],n=e.indexOf(Xr),i=0;i<=n;i++)if(e[i].nodeType===Node.ELEMENT_NODE){var o=e[i],r=o.style;"scroll"!==r.overflow&&"auto"!==r.overflow&&(r=window.getComputedStyle(o)),"scroll"!==r.overflow&&"auto"!==r.overflow||t.push(o)}return t}(Vi(e).path)),!ea.length)return!0;if("touchstart"===e.type)return!1;var n=function(e){var t={deltaX:e.deltaX,deltaY:e.deltaY};if("deltaX"in e);else if("wheelDeltaX"in e&&"wheelDeltaY"in e)t.deltaX=-e.wheelDeltaX,t.deltaY=-e.wheelDeltaY;else if("wheelDelta"in e)t.deltaX=0,t.deltaY=-e.wheelDelta;else if("axis"in e)t.deltaX=1===e.axis?e.detail:0,t.deltaY=2===e.axis?e.detail:0;else if(e.targetTouches){var n=e.targetTouches[0];t.deltaX=Jr.pageX-n.pageX,t.deltaY=Jr.pageY-n.pageY}return t}(e);return!function(e,t,n){if(t||n)for(var i=Math.abs(n)>=Math.abs(t),o=0;o0:r.scrollTop0:r.scrollLeft=0))switch(this.scrollAction){case"lock":this.__restoreScrollPosition();break;case"refit":this.__deraf("refit",this.refit);break;case"cancel":this.cancel(e)}},__saveScrollPosition:function(){document.scrollingElement?(this.__scrollTop=document.scrollingElement.scrollTop,this.__scrollLeft=document.scrollingElement.scrollLeft):(this.__scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this.__scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},__restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this.__scrollTop,document.scrollingElement.scrollLeft=this.__scrollLeft):(document.documentElement.scrollTop=document.body.scrollTop=this.__scrollTop,document.documentElement.scrollLeft=document.body.scrollLeft=this.__scrollLeft)}},sa=[Kr,Nr,aa],la={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1},__readied:{type:Boolean,value:!1}},observers:["_modalChanged(modal, __readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.__readied=!0},_modalChanged:function(e,t){t&&(e?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(e){this.closingReason=this.closingReason||{},this.closingReason.confirmed=e},_onDialogClick:function(e){for(var t=Vi(e).path,n=0,i=t.indexOf(this);n\n\n :host {\n display: block;\n @apply --layout-relative;\n }\n\n :host(.is-scrolled:not(:first-child))::before {\n content: \'\';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n :host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after {\n content: \'\';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n .scrollable {\n padding: 0 24px;\n\n @apply --layout-scroll;\n @apply --paper-dialog-scrollable;\n }\n\n .fit {\n @apply --layout-fit;\n }\n \n\n
\n \n
\n'],{raw:{value:Object.freeze(['\n \n\n
\n \n
\n'])}}));to({_template:l(pa),is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget(),this.classList.add("no-padding")},attached:function(){this._ensureTarget(),requestAnimationFrame(this.updateScrollState.bind(this))},updateScrollState:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||this.parentElement,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(la)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}});var ua=[{properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var n in t)e[n]=t[n]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,n){var i;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(i=e?this.animationConfig[e]:this.animationConfig,Array.isArray(i)||(i=[i]),i)for(var o,r=0;o=i[r];r++)if(o.animatable)o.animatable._getAnimationConfigRecursive(o.type||e,t,n);else if(o.id){var a=t[o.id];a?(a.isClone||(t[o.id]=this._cloneConfig(a),a=t[o.id]),this._copyProperties(a,o)):t[o.id]=o}else n.push(o)},getAnimationConfig:function(e){var t={},n=[];for(var i in this._getAnimationConfigRecursive(e,t,n),t)n.push(t[i]);return n}},{_configureAnimations:function(e){var t=[],n=[];if(e.length>0)for(var i=0;s=e[i];i++){var o=document.createElement(s.name);if(o.isNeonAnimation){var r=null;o.configure||(o.configure=function(e){return null}),r=o.configure(s),n.push({result:r,config:s})}else console.warn(this.is+":",s.name,"not found!")}for(var a=0;a\n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(ha),is:"paper-dialog",behaviors:[ca,ua],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}});var fa=function(){function e(e,t){for(var n=0;n\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n }\n paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
[[title]]
\n
\n \n \n \n
\n'],{raw:{value:Object.freeze(['\n \n \n \n \n
[[title]]
\n
\n \n \n \n
\n'])}})),ga=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),va(t,[{key:"openDialog",value:function(){this.$.dialog.open()}}],[{key:"template",get:function(){return l(ba)}},{key:"properties",get:function(){return{title:String,content:String}}}]),t}();customElements.define("hassio-markdown-dialog",ga),n(5);var _a={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){vr._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){vr._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},wa=[br,yr,xr,_a],ka=document.createElement("template");ka.setAttribute("style","display: none;"),ka.innerHTML='\n \n',document.head.appendChild(ka.content);var xa=document.createElement("template");xa.setAttribute("style","display: none;"),xa.innerHTML='\n \n\n \n',document.head.appendChild(xa.content),to({is:"paper-button",behaviors:[wa],properties:{raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){this.raised?_a._calculateElevation.apply(this):this._setElevation(0)}});var Oa=Object.freeze(Object.defineProperties(['\n \n\n
\n \n \n
\n'],{raw:{value:Object.freeze(['\n \n\n \n \n \n
\n'])}}));to({_template:l(Oa),is:"iron-image",properties:{src:{type:String,value:""},alt:{type:String,value:null},crossorigin:{type:String,value:null},preventLoad:{type:Boolean,value:!1},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)","_loadStateObserver(src, preventLoad)"],created:function(){this._resolvedSrc=""},_imgOnLoad:function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))},_imgOnError:function(){this.$.img.src===this._resolveSrc(this.src)&&(this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!0))},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){return null!==this.alt?this.alt:""===this.src?"":this._resolveSrc(this.src).replace(/[?|#].*/g,"").split("/").pop()},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_loadStateObserver:function(e,t){var n=this._resolveSrc(e);n!==this._resolvedSrc&&(this._resolvedSrc="",this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",""===e||t?(this._setLoading(!1),this._setLoaded(!1),this._setError(!1)):(this._resolvedSrc=n,this.$.img.src=this._resolvedSrc,this.$.sizedImgDiv.style.backgroundImage='url("'+this._resolvedSrc+'")',this._setLoading(!0),this._setLoaded(!1),this._setError(!1)))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=h(e,this.$.baseURIAnchor.href);return"/"===t[0]&&(t=(location.origin||location.protocol+"//"+location.host)+t),t}});var Ca=Object.freeze(Object.defineProperties(['\n \n\n
\n \n
[[heading]]
\n
\n\n \n'],{raw:{value:Object.freeze(['\n \n\n
\n \n
[[heading]]
\n
\n\n \n'])}}));to({_template:l(Ca),is:"paper-card",properties:{heading:{type:String,value:"",observer:"_headingChanged"},image:{type:String,value:""},alt:{type:String},preloadImage:{type:Boolean,value:!1},fadeImage:{type:Boolean,value:!1},placeholderImage:{type:String,value:null},elevation:{type:Number,value:1,reflectToAttribute:!0},animatedShadow:{type:Boolean,value:!1},animated:{type:Boolean,reflectToAttribute:!0,readOnly:!0,computed:"_computeAnimated(animatedShadow)"}},_isHidden:function(e){return e?"false":"true"},_headingChanged:function(e){var t=this.getAttribute("heading"),n=this.getAttribute("aria-label");"string"==typeof n&&n!==t||this.setAttribute("aria-label",e)},_computeHeadingClass:function(e){return e?" over-image":""},_computeAnimated:function(e){return e}});var Sa={properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boolean,value:!1},_parentForm:{type:Object}},attached:function(){mt||this.fire("iron-form-element-register")},detached:function(){!mt&&this._parentForm&&this._parentForm.fire("iron-form-element-unregister",{target:this})}},Ea=null,Pa={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1,observer:"_invalidChanged"}},registered:function(){Ea=new tr({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},get _validator(){return Ea&&Ea.byKey(this.validator)},hasValidator:function(){return null!=this._validator},validate:function(e){return void 0===e&&void 0!==this.value?this.invalid=!this._getValidity(this.value):this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)}},Ta=Object.freeze(Object.defineProperties(['\n \n
[[_text]]
\n'],{raw:{value:Object.freeze(['\n \n
[[_text]]
\n'])}})),Aa=to({_template:l(Ta),is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){Aa.instance||(Aa.instance=this),document.body.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async(function(){this._text=e},100)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}});Aa.instance=null,Aa.requestAvailability=function(){Aa.instance||(Aa.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(Aa.instance)};var ja=Object.freeze(Object.defineProperties(['\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(ja),is:"iron-input",behaviors:[Pa],properties:{bindValue:{type:String,value:""},value:{type:String,computed:"_computeValue(bindValue)"},allowedPattern:{type:String},autoValidate:{type:Boolean,value:!1},_inputElement:Object},observers:["_bindValueChanged(bindValue, _inputElement)"],listeners:{input:"_onInput",keypress:"_onKeypress"},created:function(){Aa.requestAvailability(),this._previousValidInput="",this._patternAlreadyChecked=!1},attached:function(){this._observer=Vi(this).observeNodes(function(e){this._initSlottedInput()}.bind(this))},detached:function(){this._observer&&(Vi(this).unobserveNodes(this._observer),this._observer=null)},get inputElement(){return this._inputElement},_initSlottedInput:function(){this._inputElement=this.getEffectiveChildren()[0],this.inputElement&&this.inputElement.value&&(this.bindValue=this.inputElement.value),this.fire("iron-input-ready")},get _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else switch(this.inputElement.type){case"number":e=/[0-9.,e-]/}return e},_bindValueChanged:function(e,t){t&&(void 0===e?t.value=null:e!==t.value&&(this.inputElement.value=e),this.autoValidate&&this.validate(),this.fire("bind-value-changed",{value:e}))},_onInput:function(){this.allowedPattern&&!this._patternAlreadyChecked&&(this._checkPatternValidity()||(this._announceInvalidCharacter("Invalid string of characters not entered."),this.inputElement.value=this._previousValidInput)),this.bindValue=this._previousValidInput=this.inputElement.value,this._patternAlreadyChecked=!1},_isPrintable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,n=19==e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode||145==e.keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return!(t||0==e.charCode&&n)},_onKeypress:function(e){if(this.allowedPattern||"number"===this.inputElement.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){this._patternAlreadyChecked=!0;var n=String.fromCharCode(e.charCode);this._isPrintable(e)&&!t.test(n)&&(e.preventDefault(),this._announceInvalidCharacter("Invalid character "+n+" not entered."))}}},_checkPatternValidity:function(){var e=this._patternRegExp;if(!e)return!0;for(var t=0;t\n :host {\n display: inline-block;\n float: right;\n\n @apply --paper-font-caption;\n @apply --paper-input-char-counter;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n :host(:dir(rtl)) {\n float: left;\n }\n \n\n [[_charCounterStr]]\n"],{raw:{value:Object.freeze(["\n \n\n [[_charCounterStr]]\n"])}}));to({_template:l(Na),is:"paper-input-char-counter",behaviors:[za],properties:{_charCounterStr:{type:String,value:"0"}},update:function(e){if(e.inputElement){e.value=e.value||"";var t=e.value.toString().length.toString();e.inputElement.hasAttribute("maxlength")&&(t+="/"+e.inputElement.getAttribute("maxlength")),this._charCounterStr=t}}});var Da=Object.freeze(Object.defineProperties(['\n \n\n \n\n
\n \n\n
\n \n \n
\n\n \n
\n\n
\n
\n
\n
\n\n
\n \n
\n'],{raw:{value:Object.freeze(['\n \n\n \n\n
\n \n\n
\n \n \n
\n\n \n
\n\n
\n
\n
\n
\n\n
\n \n
\n'])}})),Fa=document.createElement("template");Fa.setAttribute("style","display: none;"),Fa.innerHTML='\n \n',document.head.appendChild(Fa.content),to({_template:l(Da),is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,iron-input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return X(this.attrForValue)},get _inputElement(){return Vi(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[this._propertyForValue]||this._inputElement.value},ready:function(){this.__isFirstValueUpdate=!0,this._addons||(this._addons=[]),this.addEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this._boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),this._inputElementValue&&""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(e){this._addons||(this._addons=[]);var t=e.target;-1===this._addons.indexOf(t)&&(this._addons.push(t),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(e){this._handleValueAndAutoValidate(e.target)},_onValueChanged:function(e){var t=e.target;this.__isFirstValueUpdate&&(this.__isFirstValueUpdate=!1,void 0===t.value)||this._handleValueAndAutoValidate(e.target)},_handleValue:function(e){var t=this._inputElementValue;t||0===t||"number"===e.type&&!e.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:e,value:t,invalid:this.invalid})},_handleValueAndAutoValidate:function(e){var t;this.autoValidate&&e&&(t=e.validate?e.validate(this._inputElementValue):e.checkValidity(),this.invalid=!t),this._handleValue(e)},_onIronInputValidate:function(e){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(e){for(var t,n=0;t=this._addons[n];n++)t.update(e)},_computeInputContentClass:function(e,t,n,i,o){var r="input-content";if(e)o&&(r+=" label-is-hidden"),i&&(r+=" is-invalid");else{var a=this.querySelector("label");t||o?(r+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",i?r+=" is-invalid":n&&(r+=" label-is-highlighted")):(a&&(this.$.labelAndInputContainer.style.position="relative"),i&&(r+=" is-invalid"))}return n&&(r+=" focused"),r},_computeUnderlineClass:function(e,t){var n="underline";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n},_computeAddOnContentClass:function(e,t){var n="add-on-content";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n}});var Ma=Object.freeze(Object.defineProperties(["\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Ma),is:"paper-input-error",behaviors:[za],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}});var Ba=document.createElement("template");Ba.setAttribute("style","display: none;"),Ba.innerHTML='\n \n\n \x3c!-- This is a fresh new hell to make this element hybrid. Basically, in 2.0\n we lost is=, so the example same template can\'t be used with iron-input 1.0 and 2.0.\n Expect some conditional code (especially in the tests).\n --\x3e\n \n\n \n\n',document.head.appendChild(Ba.content),to({is:"paper-input",behaviors:[La,Sa],properties:{value:{type:String}},beforeRegister:function(){var e="function"==typeof document.createElement("iron-input")._initSlottedInput?"v1":"v0",t=D.import("paper-input","template"),n=D.import("paper-input","template#"+e),i=t.content.querySelector("#template-placeholder");i&&i.parentNode.replaceChild(n.content,i)},get _focusableElement(){return mt?this.inputElement._inputElement:this.inputElement},listeners:{"iron-input-ready":"_onIronInputReady"},_onIronInputReady:function(){this.$.nativeInput||(this.$.nativeInput=this.$$("input")),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.$.nativeInput.type)&&(this.alwaysFloatLabel=!0),this.inputElement.bindValue&&this.$.container._handleValueAndAutoValidate(this.inputElement)}});var Ha=Object.freeze(Object.defineProperties(['\n \n\n
\n \n
\n'],{raw:{value:Object.freeze(['\n \n\n
\n \n
\n'])}}));to({_template:l(Ha),is:"iron-dropdown",behaviors:[yr,mr,sa,ua],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1,observer:"_allowOutsideScrollChanged"}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n :host {\n display: inline-block;\n position: relative;\n padding: 8px;\n outline: none;\n\n @apply --paper-menu-button;\n }\n\n :host([disabled]) {\n cursor: auto;\n color: var(--disabled-text-color);\n\n @apply --paper-menu-button-disabled;\n }\n\n iron-dropdown {\n @apply --paper-menu-button-dropdown;\n }\n\n .dropdown-content {\n @apply --shadow-elevation-2dp;\n\n position: relative;\n border-radius: 2px;\n background-color: var(--paper-menu-button-dropdown-background, var(--primary-background-color));\n\n @apply --paper-menu-button-content;\n }\n\n :host([vertical-align="top"]) .dropdown-content {\n margin-bottom: 20px;\n margin-top: -10px;\n top: 10px;\n }\n\n :host([vertical-align="bottom"]) .dropdown-content {\n bottom: 10px;\n margin-bottom: -10px;\n margin-top: 20px;\n }\n\n #trigger {\n cursor: pointer;\n }\n \n\n
\n \n
\n\n \n \n \n'],{raw:{value:Object.freeze(['\n \n\n
\n \n
\n\n \n \n \n'])}})),Ua={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},Va=to({_template:l($a),is:"paper-menu-button",behaviors:[mr,yr],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:Ua.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:Ua.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:Ua.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t-1&&e.preventDefault()}});Object.keys(Ua).forEach(function(e){Va[e]=Ua[e]}),to({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!1},useGlobalRtlAttribute:{type:Boolean,value:!1}},created:function(){this._meta=new tr({type:"iconset",key:null,value:null})},attached:function(){this.style.display="none"},getIconNames:function(){return this._icons=this._createIconMap(),Object.keys(this._icons).map(function(e){return this.name+":"+e},this)},applyIcon:function(e,t){this.removeIcon(e);var n=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(n){var i=Vi(e.root||e);return i.insertBefore(n,i.childNodes[0]),e._svgIcon=n}return null},removeIcon:function(e){e._svgIcon&&(Vi(e.root||e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){if(null==this.__targetIsRTL)if(this.useGlobalRtlAttribute){var t=document.body&&document.body.hasAttribute("dir")?document.body:document.documentElement;this.__targetIsRTL="rtl"===t.getAttribute("dir")}else e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction;return this.__targetIsRTL},_nameChanged:function(){this._meta.value=null,this._meta.key=this.name,this._meta.value=this,this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Vi(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,n){if(e){var i=e.cloneNode(!0),o=document.createElementNS("http://www.w3.org/2000/svg","svg"),r=i.getAttribute("viewBox")||"0 0 "+t+" "+t,a="pointer-events: none; display: block; width: 100%; height: 100%;";return n&&i.hasAttribute("mirror-in-rtl")&&(a+="-webkit-transform:scale(-1,1);transform:scale(-1,1);transform-origin:center;"),o.setAttribute("viewBox",r),o.setAttribute("preserveAspectRatio","xMidYMid meet"),o.setAttribute("focusable","false"),o.style.cssText=a,o.appendChild(i).removeAttribute("id"),o}return null}});var Ka=document.createElement("template");Ka.setAttribute("style","display: none;"),Ka.innerHTML='\n\n\n\n',document.head.appendChild(Ka.content);var Wa=document.createElement("template");Wa.setAttribute("style","display: none;"),Wa.innerHTML='\n \n',document.head.appendChild(Wa.content);var Ya=Object.freeze(Object.defineProperties(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n'],{raw:{value:Object.freeze(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n'])}}));to({_template:l(Ya),is:"paper-dropdown-menu",behaviors:[br,yr,Sa,Pa],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n \n",document.head.appendChild(Xa.content);var Ga=Object.freeze(Object.defineProperties(['\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(Ga),is:"paper-item",behaviors:[Za]});var Ja=function(e){this.selection=[],this.selectCallback=e};Ja.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.push(e);else{var n=this.selection.indexOf(e);n>=0&&this.selection.splice(n,1)}this.selectCallback&&this.selectCallback(e,t)}},select:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}};var Qa={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1,"dom-bind":1,"dom-if":1,"dom-repeat":1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Ja(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._addListener(this.activateEvent)},detached:function(){this._observer&&Vi(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items?this.items.indexOf(e):-1},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._observer&&"function"==typeof this._observer.flush?this._observer.flush():this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Vi(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this.selectedItem&&(this.selected=this._valueForItem(this.selectedItem))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){if(this.items){var t=this._valueToItem(this.selected);t?this._selection.select(t):this._selection.clear(),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)}},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,n=0;t=this.items[n];n++)if(this._valueForItem(t)==e)return n},_indexToValue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e){if(!e)return null;if(!this.attrForSelected){var t=this.indexOf(e);return-1===t?null:t}var n=e[X(this.attrForSelected)];return void 0!=n?n:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.get())},_observeItems:function(e){return Vi(e).observeNodes(function(e){this._updateItems(),this._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})})},_activateHandler:function(e){for(var t=e.target,n=this.items;t&&t!=this;){var i=n.indexOf(t);if(i>=0){var o=this._indexToValue(i);return void this._itemActivate(o,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}},es={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0,value:function(){return[]}},selectedItems:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this._toggleSelected(e):this.selected=e},multiChanged:function(e){this._selection.multi=e,this._updateSelected()},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:function(){this.multi?this.selectedItems&&this.selectedItems.length>0&&(this.selectedValues=this.selectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).filter(function(e){return null!=e},this)):Qa._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){e=e||[];var t=(this._valuesToItems(e)||[]).filter(function(e){return null!==e&&void 0!==e});this._selection.clear(t);for(var n=0;n\n :host {\n display: block;\n padding: 8px 0;\n\n background: var(--paper-listbox-background-color, var(--primary-background-color));\n color: var(--paper-listbox-color, var(--primary-text-color));\n\n @apply --paper-listbox;\n }\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(is),is:"paper-listbox",behaviors:[ns],hostAttributes:{role:"listbox"}});var os=function(){function e(e,t){for(var n=0;n\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n
\n
\n Save\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n \n\n \n \n \n \n \n \n \n \n \n \n
\n
\n Save\n
\n
\n'])}})),as=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),os(t,[{key:"addonChanged",value:function(e){var t=this;if(this.setProperties({selectedInput:e.audio_input||"null",selectedOutput:e.audio_output||"null"}),!this.outputDevices){var n=[{device:"null",name:"-"}];this.hass.callApi("get","hassio/hardware/audio").then(function(e){var i=e.data.audio,o=Object.keys(i.input).map(function(e){return{device:e,name:i.input[e]}}),r=Object.keys(i.output).map(function(e){return{device:e,name:i.output[e]}});t.setProperties({inputDevices:n.concat(o),outputDevices:n.concat(r)})},function(){t.setProperties({inputDevices:n,outputDevices:n})})}}},{key:"_saveSettings",value:function(){var e=this;this.error=null;var t="hassio/addons/"+this.addon.slug+"/options";this.hass.callApi("post",t,{audio_input:"null"===this.selectedInput?null:this.selectedInput,audio_output:"null"===this.selectedOutput?null:this.selectedOutput}).then(function(){e.fire("hass-api-called",{success:!0,path:t})},function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(rs)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},inputDevices:Array,outputDevices:Array,selectedInput:String,selectedOutput:String,error:String}}}]),t}();customElements.define("hassio-addon-audio",as);var ss=Object.freeze(Object.defineProperties(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
\n \n
\n'],{raw:{value:Object.freeze(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
\n \n
\n'])}}));to({_template:l(ss),is:"iron-autogrow-textarea",behaviors:[Pa,yr],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(e){this.$.textarea.selectionStart=e},set selectionEnd(e){this.$.textarea.selectionEnd=e},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var e=this.$.textarea.validity.valid;return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=Pa.validate.call(this,this.value))),this.invalid=!e,this.fire("iron-input-validate"),e},_bindValueChanged:function(e){this.value=e},_valueChanged:function(e){var t=this.textarea;t&&(t.value!==e&&(t.value=e||0===e?e:""),this.bindValue=e,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(e){var t=Vi(e).path;this.value=t?t[0].value:e.target.value},_constrain:function(e){var t;for(e=e||[""],t=this.maxRows>0&&e.length>this.maxRows?e.slice(0,this.maxRows):e.slice(0);this.rows>0&&t.length")+" "},_valueForMirror:function(){var e=this.textarea;if(e)return this.tokens=e&&e.value?e.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}});var ls=function(){function e(e,t){for(var n=0;n\n .container {\n position: relative;\n display: inline-block;\n }\n\n paper-button {\n transition: all 1s;\n }\n\n .success paper-button {\n color: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error paper-button {\n color: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n paper-button[disabled] {\n color: #c8c8c8;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
\n \n \n \n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n \n \n \n \n
\n'])}})),ps=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),ls(t,[{key:"tempClass",value:function(e){var t=this.$.container.classList;t.add(e),setTimeout(function(){t.remove(e)},1e3)}},{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("click",function(t){return e.buttonTapped(t)})}},{key:"buttonTapped",value:function(e){this.progress&&e.stopPropagation()}},{key:"actionSuccess",value:function(){this.tempClass("success")}},{key:"actionError",value:function(){this.tempClass("error")}},{key:"computeDisabled",value:function(e,t){return e||t}}],[{key:"template",get:function(){return l(cs)}},{key:"properties",get:function(){return{hass:{type:Object},progress:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-progress-button",ps);var us=function(){function e(e,t){for(var n=0;n\n'],{raw:{value:Object.freeze(['\n \n'])}})),hs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),us(t,[{key:"buttonTapped",value:function(){var e=this;this.progress=!0;var t={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(n){e.progress=!1,e.$.progress.actionSuccess(),t.success=!0,t.response=n},function(n){e.progress=!1,e.$.progress.actionError(),t.success=!1,t.response=n}).then(function(){e.fire("hass-api-called",t)})}}],[{key:"template",get:function(){return l(ds)}},{key:"properties",get:function(){return{hass:Object,progress:{type:Boolean,value:!1},path:String,method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-call-api-button",hs);var fs=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
\n \n \n
\n
\n Reset to defaults\n Save\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n \n \n
\n
\n Reset to defaults\n Save\n
\n
\n'])}})),ys=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),fs(t,[{key:"addonChanged",value:function(e){this.config=e?JSON.stringify(e.options,null,2):""}},{key:"configChanged",value:function(e){try{this.$.config.classList.remove("syntaxerror"),this.configParsed=JSON.parse(e)}catch(e){this.$.config.classList.add("syntaxerror"),this.configParsed=null}}},{key:"saveTapped",value:function(){var e=this;this.error=null,this.hass.callApi("post","hassio/addons/"+this.addonSlug+"/options",{options:this.configParsed}).catch(function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(ms)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},addonSlug:String,config:{type:String,observer:"configChanged"},configParsed:Object,error:String,resetData:{type:Object,value:{options:null}}}}}]),t}();customElements.define("hassio-addon-config",ys);var vs={properties:{checked:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}},observers:["_requiredChanged(required)"],created:function(){this._hasIronCheckedElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.required||this.checked},_requiredChanged:function(){this.required?this.setAttribute("aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:function(){this.active=this.checked,this.fire("iron-change")},_valueChanged:function(){void 0!==this.value&&null!==this.value||(this.value="on")}},bs=[Cr,[Sa,Pa,vs],{_checkedChanged:function(){vs._checkedChanged.call(this),this.hasRipple()&&(this.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("checked"))},_buttonStateChanged:function(){xr._buttonStateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}}],gs=document.createElement("template");gs.setAttribute("style","display: none;"),gs.innerHTML='\n \n\n \n',document.head.appendChild(gs.content),to({is:"paper-toggle-button",behaviors:[bs],hostAttributes:{role:"button","aria-pressed":"false",tabindex:0},properties:{},listeners:{track:"_ontrack"},attached:function(){xi(this,function(){Xn(this,"pan-y")})},_ontrack:function(e){var t=e.detail;"start"===t.state?this._trackStart(t):"track"===t.state?this._trackMove(t):"end"===t.state&&this._trackEnd(t)},_trackStart:function(e){this._width=this.$.toggleBar.offsetWidth/2,this._trackChecked=this.checked,this.$.toggleButton.classList.add("dragging")},_trackMove:function(e){var t=e.dx;this._x=Math.min(this._width,Math.max(0,this._trackChecked?this._width+t:t)),this.translate3d(this._x+"px",0,0,this.$.toggleButton),this._userActivate(this._x>this._width/2)},_trackEnd:function(e){this.$.toggleButton.classList.remove("dragging"),this.transform("",this.$.toggleButton)},_createRipple:function(){this._rippleContainer=this.$.toggleButton;var e=xr._createRipple();return e.id="ink",e.setAttribute("recenters",""),e.classList.add("circle","toggle-ink"),e}});var _s=[60,"second",60,"minute",24,"hour",7,"day"];to({is:"iron-request",hostAttributes:{hidden:!0},properties:{xhr:{type:Object,notify:!0,readOnly:!0,value:function(){return new XMLHttpRequest}},response:{type:Object,notify:!0,readOnly:!0,value:function(){return null}},status:{type:Number,notify:!0,readOnly:!0,value:0},statusText:{type:String,notify:!0,readOnly:!0,value:""},completes:{type:Object,readOnly:!0,notify:!0,value:function(){return new Promise(function(e,t){this.resolveCompletes=e,this.rejectCompletes=t}.bind(this))}},progress:{type:Object,notify:!0,readOnly:!0,value:function(){return{}}},aborted:{type:Boolean,notify:!0,readOnly:!0,value:!1},errored:{type:Boolean,notify:!0,readOnly:!0,value:!1},timedOut:{type:Boolean,notify:!0,readOnly:!0,value:!1}},get succeeded(){if(this.errored||this.aborted||this.timedOut)return!1;var e=this.xhr.status||0;return 0===e||e>=200&&e<300},send:function(e){var t=this.xhr;if(t.readyState>0)return null;t.addEventListener("progress",function(e){this._setProgress({lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total}),this.fire("iron-request-progress-changed",{value:this.progress})}.bind(this)),t.addEventListener("error",function(t){this._setErrored(!0),this._updateStatus();var n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("timeout",function(t){this._setTimedOut(!0),this._updateStatus();var n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("abort",function(){this._setAborted(!0),this._updateStatus();var t=new Error("Request aborted."),n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("loadend",function(){if(this._updateStatus(),this._setResponse(this.parseResponse()),this.succeeded)this.resolveCompletes(this);else{var t=new Error("The request failed with status code: "+this.xhr.status),n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}}.bind(this)),this.url=e.url;var n=!1!==e.async;t.open(e.method||"GET",e.url,n);var i={json:"application/json",text:"text/plain",html:"text/html",xml:"application/xml",arraybuffer:"application/octet-stream"}[e.handleAs],o=e.headers||Object.create(null),r=Object.create(null);for(var a in o)r[a.toLowerCase()]=o[a];if(o=r,i&&!o.accept&&(o.accept=i),Object.keys(o).forEach(function(e){/[A-Z]/.test(e)&&Vo._error("Headers must be lower case, got",e),t.setRequestHeader(e,o[e])},this),n){t.timeout=e.timeout;var s=e.handleAs;!e.jsonPrefix&&s||(s="text"),t.responseType=t._responseType=s,e.jsonPrefix&&(t._jsonPrefix=e.jsonPrefix)}t.withCredentials=!!e.withCredentials;var l=this._encodeBodyObject(e.body,o["content-type"]);return t.send(l),this.completes},parseResponse:function(){var e=this.xhr,t=e.responseType||e._responseType,n=!this.xhr.responseType,i=e._jsonPrefix&&e._jsonPrefix.length||0;try{switch(t){case"json":if(n||void 0===e.response)try{return JSON.parse(e.responseText)}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.response;case"xml":return e.responseXML;case"blob":case"document":case"arraybuffer":return e.response;case"text":default:if(i)try{return JSON.parse(e.responseText.substring(i))}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.responseText}}catch(e){this.rejectCompletes(new Error("Could not parse response. "+e.message))}},abort:function(){this._setAborted(!0),this.xhr.abort()},_encodeBodyObject:function(e,t){if("string"==typeof e)return e;var n=e;switch(t){case"application/json":return JSON.stringify(n);case"application/x-www-form-urlencoded":return this._wwwFormUrlEncode(n)}return e},_wwwFormUrlEncode:function(e){if(!e)return"";var t=[];return Object.keys(e).forEach(function(n){t.push(this._wwwFormUrlEncodePiece(n)+"="+this._wwwFormUrlEncodePiece(e[n]))},this),t.join("&")},_wwwFormUrlEncodePiece:function(e){return null!==e&&void 0!==e&&e.toString?encodeURIComponent(e.toString().replace(/\r?\n/g,"\r\n")).replace(/%20/g,"+"):""},_updateStatus:function(){this._setStatus(this.xhr.status),this._setStatusText(void 0===this.xhr.statusText?"":this.xhr.statusText)}});var ws="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};to({is:"iron-ajax",hostAttributes:{hidden:!0},properties:{url:{type:String},params:{type:Object,value:function(){return{}}},method:{type:String,value:"GET"},headers:{type:Object,value:function(){return{}}},contentType:{type:String,value:null},body:{type:Object,value:null},sync:{type:Boolean,value:!1},handleAs:{type:String,value:"json"},withCredentials:{type:Boolean,value:!1},timeout:{type:Number,value:0},auto:{type:Boolean,value:!1},verbose:{type:Boolean,value:!1},lastRequest:{type:Object,notify:!0,readOnly:!0},lastProgress:{type:Object,notify:!0,readOnly:!0},loading:{type:Boolean,notify:!0,readOnly:!0},lastResponse:{type:Object,notify:!0,readOnly:!0},lastError:{type:Object,notify:!0,readOnly:!0},activeRequests:{type:Array,notify:!0,readOnly:!0,value:function(){return[]}},debounceDuration:{type:Number,value:0,notify:!0},jsonPrefix:{type:String,value:""},bubbles:{type:Boolean,value:!1},rejectWithRequest:{type:Boolean,value:!1},_boundHandleResponse:{type:Function,value:function(){return this._handleResponse.bind(this)}}},observers:["_requestOptionsChanged(url, method, params.*, headers, contentType, body, sync, handleAs, jsonPrefix, withCredentials, timeout, auto)"],created:function(){this._boundOnProgressChanged=this._onProgressChanged.bind(this)},get queryString(){var e,t,n=[];for(e in this.params)if(t=this.params[e],e=window.encodeURIComponent(e),Array.isArray(t))for(var i=0;i=0?"&":"?")+e:t},get requestHeaders(){var e,t={},n=this.contentType;if(null==n&&"string"==typeof this.body&&(n="application/x-www-form-urlencoded"),n&&(t["content-type"]=n),"object"===ws(this.headers))for(e in this.headers)t[e]=this.headers[e].toString();return t},_onProgressChanged:function(e){this._setLastProgress(e.detail.value)},toRequestOptions:function(){return{url:this.requestUrl||"",method:this.method,headers:this.requestHeaders,body:this.body,async:!this.sync,handleAs:this.handleAs,jsonPrefix:this.jsonPrefix,withCredentials:this.withCredentials,timeout:this.timeout,rejectWithRequest:this.rejectWithRequest}},generateRequest:function(){var e=document.createElement("iron-request"),t=this.toRequestOptions();return this.push("activeRequests",e),e.completes.then(this._boundHandleResponse).catch(this._handleError.bind(this,e)).then(this._discardRequest.bind(this,e)),this.fire("iron-ajax-presend",{request:e,options:t},{bubbles:this.bubbles,cancelable:!0}).defaultPrevented?(e.abort(),e.rejectCompletes(e),e):(this.lastRequest&&this.lastRequest.removeEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.addEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.send(t),this._setLastProgress(null),this._setLastRequest(e),this._setLoading(!0),this.fire("request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),e)},_handleResponse:function(e){e===this.lastRequest&&(this._setLastResponse(e.response),this._setLastError(null),this._setLoading(!1)),this.fire("response",e,{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-response",e,{bubbles:this.bubbles,composed:!0})},_handleError:function(e,t){this.verbose&&Vo._error(t),e===this.lastRequest&&(this._setLastError({request:e,error:t,status:e.xhr.status,statusText:e.xhr.statusText,response:e.xhr.response}),this._setLastResponse(null),this._setLoading(!1)),this.fire("iron-ajax-error",{request:e,error:t},{bubbles:this.bubbles,composed:!0}),this.fire("error",{request:e,error:t},{bubbles:this.bubbles,composed:!0})},_discardRequest:function(e){var t=this.activeRequests.indexOf(e);t>-1&&this.splice("activeRequests",t,1)},_requestOptionsChanged:function(){this.debounce("generate-request",function(){null!=this.url&&this.auto&&this.generateRequest()},this.debounceDuration)}});var ks=Object.prototype.hasOwnProperty;function xs(e){var t,n,i,o,r=Array.prototype.slice.call(arguments,1);for(t=0,n=r.length;t=0?"past":"future";t=Math.abs(t);for(var i=0;i<_s.length;i+=2){if(t<_s[i])return{tense:n,value:t=Math.floor(t),unit:_s[i+1]};t/=_s[i]}return{tense:n,value:t=Math.floor(t),unit:"week"}}(this.parsedDateTime),n=this.localize("ui.duration."+t.unit,"count",t.value),i=this.localize("ui.components.relative_time."+t.tense,"time",n);e.innerHTML=i}else e.innerHTML=this.localize("ui.components.relative_time.never")}}]),t}();customElements.define("ha-relative-time",Us);var Vs=function(){function e(e,t){for(var n=0;n\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
\n
[[title]]
\n
\n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n
[[title]]
\n
\n \n \n
\n
\n'])}})),Ws=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Vs(t,null,[{key:"template",get:function(){return l(Ks)}},{key:"properties",get:function(){return{hass:Object,title:String,description:String,datetime:String,icon:{type:String,value:"hass:help-circle"},iconTitle:String,iconClass:String}}}]),t}();customElements.define("hassio-card-content",Ws);var Ys=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div{\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n \n \n\n \n
\n
[[addon.name]]\n
\n \n \n
\n
\n
\n [[addon.description]].
\n Visit [[addon.name]] page for details.\n
\n \n \n
\n
\n \n \n
\n
\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n
\n
[[addon.name]]\n
\n \n \n
\n
\n
\n [[addon.description]].
\n Visit [[addon.name]] page for details.\n
\n \n \n
\n
\n \n \n
\n
\n \n'])}})),Xs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ys(t,[{key:"computeIsRunning",value:function(e){return e&&"started"===e.state}},{key:"computeUpdateAvailable",value:function(e){return e&&!e.detached&&e.version&&e.version!==e.last_version}},{key:"pathWebui",value:function(e){return e&&e.replace("[HOST]",document.location.hostname)}},{key:"computeShowWebUI",value:function(e,t){return e&&t}},{key:"computeStartOnBoot",value:function(e){return"auto"===e}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/changelog").then(function(e){return e},function(){return"Error getting changelog"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Changelog",content:t})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var t="hassio/addons/"+this.addonSlug+"/uninstall",n={path:t};this.hass.callApi("post",t).then(function(e){n.success=!0,n.response=e},function(e){n.success=!1,n.response=e}).then(function(){e.fire("hass-api-called",n)})}}}],[{key:"template",get:function(){return l(Zs)}},{key:"properties",get:function(){return{hass:Object,addon:Object,addonSlug:String,isRunning:{type:Boolean,computed:"computeIsRunning(addon)"}}}}]),t}();customElements.define("hassio-addon-info",Xs);var Gs=function(){function e(e,t){for(var n=0;n\n :host,\n paper-card {\n display: block;\n }\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'])}})),Qs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Gs(t,[{key:"addonSlugChanged",value:function(e){var t=this;this.hass?this.refresh():setTimeout(function(){t.addonChanged(e)},0)}},{key:"refresh",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/logs").then(function(t){e.log=t})}}],[{key:"template",get:function(){return l(Js)}},{key:"properties",get:function(){return{hass:Object,addonSlug:{type:String,observer:"addonSlugChanged"},log:String}}}]),t}();customElements.define("hassio-addon-logs",Qs);var el=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
\n \n\n \n \n \n \n \n \n
ContainerHost
\n
\n
\n Reset to defaults\n Save\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n \n\n \n \n \n \n \n \n
ContainerHost
\n
\n
\n Reset to defaults\n Save\n
\n
\n'])}})),nl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),el(t,[{key:"addonChanged",value:function(e){if(e){var t=e.network||{},n=Object.keys(t).map(function(e){return{container:e,host:t[e]}});this.config=n.sort(function(e,t){return e.host-t.host})}}},{key:"saveTapped",value:function(){var e=this;this.error=null;var t={};this.config.forEach(function(e){t[e.container]=parseInt(e.host)});var n="hassio/addons/"+this.addonSlug+"/options";this.hass.callApi("post",n,{network:t}).then(function(){e.fire("hass-api-called",{success:!0,path:n})},function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(tl)}},{key:"properties",get:function(){return{hass:Object,addonSlug:String,config:Object,addon:{type:Object,observer:"addonChanged"},error:String,resetData:{type:Object,value:{network:null}}}}}]),t}();customElements.define("hassio-addon-network",nl);var il=function(){function e(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n max-width: 600px;\n margin: 0 auto;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n }\n \n \n \n \n \n \n \n
Hass.io: add-on details
\n
\n
\n
\n \n\n \n
\n
\n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n \n \n
Hass.io: add-on details
\n
\n
\n
\n \n\n \n
\n
\n\n \n'])}})),rl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),il(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)}),this.addEventListener("hassio-markdown-dialog",function(t){return e.openMarkdown(t)})}},{key:"apiCalled",value:function(e){var t=e.detail.path;t&&("uninstall"===t.substr(t.lastIndexOf("/")+1)?this.backTapped():this.routeDataChanged(this.routeData))}},{key:"routeDataChanged",value:function(e){var t=this;this.routeMatches&&e&&e.slug&&this.hass.callApi("get","hassio/addons/"+e.slug+"/info").then(function(e){t.addon=e.data},function(){t.addon=null})}},{key:"backTapped",value:function(){history.back()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return l(ol)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,route:Object,routeData:{type:Object,observer:"routeDataChanged"},routeMatches:Boolean,addon:Object,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),t}();customElements.define("hassio-addon-view",rl);var al=function(){function e(e,t){for(var n=0;n\n :host {\n @apply --layout-inline;\n @apply --layout-center;\n @apply --layout-center-justified;\n @apply --layout-flex-auto;\n\n position: relative;\n padding: 0 12px;\n overflow: hidden;\n cursor: pointer;\n vertical-align: middle;\n\n @apply --paper-font-common-base;\n @apply --paper-tab;\n }\n\n :host(:focus) {\n outline: none;\n }\n\n :host([link]) {\n padding: 0;\n }\n\n .tab-content {\n height: 100%;\n transform: translateZ(0);\n -webkit-transform: translateZ(0);\n transition: opacity 0.1s cubic-bezier(0.4, 0.0, 1, 1);\n @apply --layout-horizontal;\n @apply --layout-center-center;\n @apply --layout-flex-auto;\n @apply --paper-tab-content;\n }\n\n :host(:not(.iron-selected)) > .tab-content {\n opacity: 0.8;\n\n @apply --paper-tab-content-unselected;\n }\n\n :host(:focus) .tab-content {\n opacity: 1;\n font-weight: 700;\n }\n\n paper-ripple {\n color: var(--paper-tab-ink, var(--paper-yellow-a100));\n }\n\n .tab-content > ::slotted(a) {\n @apply --layout-flex-auto;\n\n height: 100%;\n }\n \n\n
\n \n
\n'],{raw:{value:Object.freeze(['\n \n\n
\n \n
\n'])}}));to({_template:l(ll),is:"paper-tab",behaviors:[yr,br,xr],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},get _parentNoink(){var e=Vi(this).parentNode;return!!e&&!!e.noink},_updateNoink:function(){this.noink=!!this.noink||!!this._parentNoink},_onTap:function(e){if(this.link){var t=this.queryEffectiveChildren("a");if(!t)return;if(e.target===t)return;t.click()}}});var cl={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?this._focusNext():this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onRightKey:function(e){this._isRTL?this._focusPrevious():this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},pl=[ns,cl],ul=document.createElement("template");ul.setAttribute("style","display: none;"),ul.innerHTML='\n\n\n\n\n',document.head.appendChild(ul.content);var dl=Object.freeze(Object.defineProperties(['\n \n\n \n\n
\n
\n
\n \n
\n
\n\n \n'],{raw:{value:Object.freeze(['\n \n\n \n\n
\n
\n
\n \n
\n
\n\n \n'])}}));to({_template:l(dl),is:"paper-tabs",behaviors:[Nr,pl],properties:{noink:{type:Boolean,value:!1,observer:"_noinkChanged"},noBar:{type:Boolean,value:!1},noSlide:{type:Boolean,value:!1},scrollable:{type:Boolean,value:!1},fitContainer:{type:Boolean,value:!1},disableDrag:{type:Boolean,value:!1},hideScrollButtons:{type:Boolean,value:!1},alignBottom:{type:Boolean,value:!1},selectable:{type:String,value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:Number,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_leftHidden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousTab:{type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onTabSizingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIronSelect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyup":"_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHandler=this._delayedActivationHandler.bind(this),this.addEventListener("blur",this._onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",this.$.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noinkChanged:function(e){Vi(this).querySelectorAll("paper-tab").forEach(e?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:function(e){e.setAttribute("noink","")},_removeNoinkAttribute:function(e){e.removeAttribute("noink")},_computeScrollButtonClass:function(e,t,n){return!t||n?"hidden":e?"not-visible":""},_computeTabsContentClass:function(e,t){return e?"scrollable"+(t?" fit-container":""):" fit-container"},_computeSelectionBarClass:function(e,t){return e?"hidden":t?"align-bottom":""},_onTabSizingChanged:function(){this.debounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this.selectedItem)},10)},_onIronSelect:function(e){this._tabChanged(e.detail.item,this._previousTab),this._previousTab=e.detail.item,this.cancelDebouncer("tab-changed")},_onIronDeselect:function(e){this.debounce("tab-changed",function(){this._tabChanged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:function(){this._cancelPendingActivation(),ts._activateHandler.apply(this,arguments)},_scheduleActivation:function(e,t){this._pendingActivationItem=e,this._pendingActivationTimeout=this.async(this._bindDelayedActivationHandler,t)},_delayedActivationHandler:function(){var e=this._pendingActivationItem;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,e.fire(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivation:function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._pendingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0)},_onArrowKeyup:function(e){this.autoselect&&this._scheduleActivation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(e){e.target===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabContainerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tabsContainer.offsetWidth)},_scroll:function(e,t){if(this.scrollable){var n=t&&-t.ddx||0;this._affectScroll(n)}},_down:function(e){this.async(function(){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null)},1)},_affectScroll:function(e){this.$.tabsContainer.scrollLeft+=e;var t=this.$.tabsContainer.scrollLeft;this._leftHidden=0===t,this._rightHidden=t===this._tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft(),this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_onRightScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval(this._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){clearInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._affectScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._step)},_tabChanged:function(e,t){if(!e)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(0,0);var n=this.$.tabsContent.getBoundingClientRect(),i=n.width,o=e.getBoundingClientRect(),r=o.left-n.left;if(this._pos={width:this._calcPercent(o.width,i),left:this._calcPercent(r,i)},this.noSlide||null==t)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(this._pos.width,this._pos.left);var a=t.getBoundingClientRect(),s=this.items.indexOf(t),l=this.items.indexOf(e);this.$.selectionBar.classList.add("expand");var c=s0&&(this.$.tabsContainer.scrollLeft+=n)},_calcPercent:function(e,t){return 100*e/t},_positionBar:function(e,t){e=e||0,t=t||0,this._width=e,this._left=t,this.transform("translateX("+t+"%) scaleX("+e/100+")",this.$.selectionBar)},_onBarTransitionEnd:function(e){var t=this.$.selectionBar.classList;t.contains("expand")?(t.remove("expand"),t.add("contract"),this._positionBar(this._pos.width,this._pos.left)):t.contains("contract")&&t.remove("contract")}}),n(1);var hl=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]&&arguments[1]?history.replaceState(null,null,e):history.pushState(null,null,e),this.fire("location-changed")}}]),n}()}),ml=function(){function e(e,t){for(var n=0;n\n paper-card {\n cursor: pointer;\n }\n a.repo {\n display: block;\n color: var(--primary-text-color);\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),vl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ml(t,[{key:"sortAddons",value:function(e,t){return e.name\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
\n
\n Repositories\n
\n Configure which add-on repositories to fetch data from:\n
\n
\n \n \n
\n \n \n
\n
\n Add\n
\n
\n
\n'],{raw:{value:Object.freeze(['\n \n
\n
\n Repositories\n
\n Configure which add-on repositories to fetch data from:\n
\n
\n \n \n
\n \n \n
\n
\n Add\n
\n
\n
\n'])}})),_l=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),bl(t,[{key:"reposChanged",value:function(e){this.repoList=e.filter(function(e){return"core"!==e.slug&&"local"!==e.slug}),this.repoUrl=""}},{key:"sortRepos",value:function(e,t){return e.name\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n'])}})),xl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),wl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)}),this.loadData()}},{key:"apiCalled",value:function(e){e.detail.success&&this.loadData()}},{key:"sortRepos",value:function(e,t){return"local"===e.slug?-1:"local"===t.slug?1:"core"===e.slug?-1:"core"===t.slug?1:e.name\n paper-card {\n cursor: pointer;\n }\n \n
\n
Add-ons
\n \n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n
Add-ons
\n \n \n
\n'])}})),Sl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),Ol(t,[{key:"sortAddons",value:function(e,t){return e.name\n paper-card {\n display: block;\n height: 100%;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),Al=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Pl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===El(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}}],[{key:"template",get:function(){return l(Tl)}},{key:"properties",get:function(){return{hass:Object,hassInfo:Object,error:String}}}]),t}();customElements.define("hassio-hass-update",Al);var jl=function(){function e(e,t){for(var n=0;n\n .content {\n margin: 0 auto;\n }\n \n
\n \n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n \n \n
\n'])}})),Rl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),jl(t,null,[{key:"template",get:function(){return l(Il)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hassInfo:Object}}}]),t}();customElements.define("hassio-dashboard",Rl);var Ll=document.createElement("template");Ll.setAttribute("style","display: none;"),Ll.innerHTML='\n \n\n \n',document.head.appendChild(Ll.content),to({is:"paper-checkbox",behaviors:[bs],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){xi(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-checkbox-ink-size").trim()){var e=this.getComputedStyleValue("--calculated-paper-checkbox-size").trim(),t="px",n=e.match(/[A-Za-z]+$/);null!==n&&(t=n[0]);var i=parseFloat(e),o=8/3*i;"px"===t&&(o=Math.floor(o))%2!=i%2&&o++,this.updateStyles({"--paper-checkbox-ink-size":o+t})}})},_computeCheckboxClass:function(e,t){var n="";return e&&(n+="checked "),t&&(n+="invalid"),n},_computeCheckmarkClass:function(e){return e?"":"hidden"},_createRipple:function(){return this._rippleContainer=this.$.checkboxContainer,Or._createRipple.call(this)}});var zl=function(){function e(e,t){for(var n=0;n\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
[[_computeName(snapshot)]]
\n
\n
\n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
\n [[_formatDatetime(snapshot.date)]]\n
\n
Home Assistant:
\n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
\n \n \n \n \n Restore selected\n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n \n \n
[[_computeName(snapshot)]]
\n
\n
\n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
\n [[_formatDatetime(snapshot.date)]]\n
\n
Home Assistant:
\n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
\n \n \n \n \n Restore selected\n \n
\n
\n'])}})),Dl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),zl(t,[{key:"_snapshotSlugChanged",value:function(e){var t=this;e&&"update"!==e&&this.hass.callApi("get","hassio/snapshots/"+e+"/info").then(function(e){e.data.folders=t._computeFolders(e.data.folders),e.data.addons=t._computeAddons(e.data.addons),t.snapshot=e.data,t.$.dialog.open()},function(){t.snapshot=null})}},{key:"_computeFolders",value:function(e){var t=[];return e.includes("homeassistant")&&t.push({slug:"homeassistant",name:"Home Assistant configuration",checked:!0}),e.includes("ssl")&&t.push({slug:"ssl",name:"SSL",checked:!0}),e.includes("share")&&t.push({slug:"share",name:"Share",checked:!0}),e.includes("addons/local")&&t.push({slug:"addons/local",name:"Local add-ons",checked:!0}),t}},{key:"_computeAddons",value:function(e){return e.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})}},{key:"_isFullSnapshot",value:function(e){return"full"===e}},{key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this.snapshot.addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),n=this.snapshot.folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),i={homeassistant:this.restoreHass,addons:t,folders:n};this.snapshot.protected&&(i.password=this.snapshotPassword),this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/partial",i).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(t){e.error=t.body.message})}}},{key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this.snapshot.protected?{password:this.snapshotPassword}:null;this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/full",t).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(t){e.error=t.body.message})}}},{key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/remove").then(function(){e.$.dialog.close(),e.snapshotDeleted=!0},function(t){e.error=t.body.message})}},{key:"_computeDownloadUrl",value:function(e){return"/api/hassio/snapshots/"+e+"/download?api_password="+encodeURIComponent(this.hass.connection.options.authToken)}},{key:"_computeDownloadName",value:function(e){return"Hass_io_"+this._computeName(e).replace(/[^a-z0-9]+/gi,"_")+".tar"}},{key:"_computeName",value:function(e){return e.name||e.slug}},{key:"_computeType",value:function(e){return"full"===e?"Full snapshot":"Partial snapshot"}},{key:"_computeSize",value:function(e){return Math.ceil(10*e)/10+" MB"}},{key:"_sortAddons",value:function(e,t){return e.name\n\n
\n
\n
\n
\n\n
\n \n\n \n',document.head.appendChild(Fl.content),to({is:"paper-radio-button",behaviors:[bs],hostAttributes:{role:"radio","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},ready:function(){this._rippleContainer=this.$.radioContainer},attached:function(){xi(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-radio-button-ink-size").trim()){var e=parseFloat(this.getComputedStyleValue("--calculated-paper-radio-button-size").trim()),t=Math.floor(3*e);t%2!=e%2&&t++,this.updateStyles({"--paper-radio-button-ink-size":t+"px"})}})}});var Ml=Object.freeze(Object.defineProperties(["\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Ml),is:"paper-radio-group",behaviors:[pl],hostAttributes:{role:"radiogroup"},properties:{attrForSelected:{type:String,value:"name"},selectedAttribute:{type:String,value:"checked"},selectable:{type:String,value:"paper-radio-button"},allowEmptySelection:{type:Boolean,value:!1}},select:function(e){var t=this._valueToItem(e);if(!t||!t.hasAttribute("disabled")){if(this.selected){var n=this._valueToItem(this.selected);if(this.selected==e){if(!this.allowEmptySelection)return void(n&&(n.checked=!0));e=""}n&&(n.checked=!1)}Qa.select.apply(this,[e]),this.fire("paper-radio-group-changed")}},_activateFocusedItem:function(){this._itemActivate(this._valueForItem(this.focusedItem),this.focusedItem)},_onUpKey:function(e){this._focusPrevious(),e.preventDefault(),this._activateFocusedItem()},_onDownKey:function(e){this._focusNext(),e.preventDefault(),this._activateFocusedItem()},_onLeftKey:function(e){cl._onLeftKey.apply(this,arguments),this._activateFocusedItem()},_onRightKey:function(e){cl._onRightKey.apply(this,arguments),this._activateFocusedItem()}});var Bl=function(){function e(e,t){for(var n=0;n\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
\n
\n
\n Create snapshot\n
\n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
\n
\n \n
\n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
\n
\n Create\n
\n
\n
\n\n
\n
Available snapshots
\n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n
\n
\n
\n Create snapshot\n
\n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
\n
\n \n
\n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
\n
\n Create\n
\n
\n
\n\n
\n
Available snapshots
\n \n \n
\n
\n'])}})),ql=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Bl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e._apiCalled(t)}),this._updateSnapshots()}},{key:"_apiCalled",value:function(e){e.detail.success&&this._updateSnapshots()}},{key:"_updateSnapshots",value:function(){var e=this;this.hass.callApi("get","hassio/snapshots").then(function(t){e.snapshots=t.data.snapshots},function(t){e.error=t.message})}},{key:"_createSnapshot",value:function(){var e=this;if(this.error="",!this.snapshotHasPassword||this.snapshotPassword.length){this.creatingSnapshot=!0;var t=this.snapshotName;t.length||(t=(new Date).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric"}));var n=void 0,i=void 0;if("full"===this.snapshotType)n={name:t},i="hassio/snapshots/new/full";else{var o=this.addonList.filter(function(e){return e.checked}).map(function(e){return e.slug});n={name:t,folders:this.folderList.filter(function(e){return e.checked}).map(function(e){return e.slug}),addons:o},i="hassio/snapshots/new/partial"}this.snapshotHasPassword&&(n.password=this.snapshotPassword),this.hass.callApi("post",i,n).then(function(){e.creatingSnapshot=!1,e.fire("hass-api-called",{success:!0})},function(t){e.creatingSnapshot=!1,e.error=t.message})}else this.error="Please enter a password."}},{key:"_installedAddonsChanged",value:function(e){this.addonList=e.map(function(e){return{slug:e.slug,name:e.name,checked:!0}})}},{key:"_sortAddons",value:function(e,t){return e.name\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n paper-button.info {\n max-width: 50%;\n }\n \n \n
\n

Host system

\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Hostname[[data.hostname]]
System[[data.operating_system]]
Deployment[[data.deployment]]
\n Show hardware\n \n
\n
\n \n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n

Host system

\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Hostname[[data.hostname]]
System[[data.operating_system]]
Deployment[[data.deployment]]
\n Show hardware\n \n
\n
\n \n \n \n
\n
\n'])}})),Kl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ul(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===$l(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"computeRebootAvailable",value:function(e){return e.features&&e.features.includes("reboot")}},{key:"computeShutdownAvailable",value:function(e){return e.features&&e.features.includes("shutdown")}},{key:"_showHardware",value:function(){var e=this;this.hass.callApi("get","hassio/hardware/info").then(function(t){return e._objectToMarkdown(t.data)},function(){return"Error getting hardware info"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Hardware",content:t})})}},{key:"_objectToMarkdown",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i="";return Object.keys(e).forEach(function(o){"object"!==$l(e[o])?i+=n+"- "+o+": "+e[o]+"\n":(i+=n+"- "+o+":\n",Array.isArray(e[o])?e[o].length&&(i+=n+" - "+e[o].join("\n"+n+" - ")+"\n"):i+=t._objectToMarkdown(e[o]," "+n))}),i}}],[{key:"template",get:function(){return l(Vl)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String}}}]),t}();customElements.define("hassio-host-info",Kl);var Wl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yl=function(){function e(e,t){for(var n=0;n\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n
\n

Hass.io supervisor

\n \n \n \n \n \n \n \n \n \n \n
Version\n [[data.version]]\n
Latest version[[data.last_version]]
\n \n
\n
\n Reload\n \n \n \n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n

Hass.io supervisor

\n \n \n \n \n \n \n \n \n \n \n
Version\n [[data.version]]\n
Latest version[[data.last_version]]
\n \n
\n
\n Reload\n \n \n \n
\n
\n'])}})),Xl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Yl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===Wl(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"_equals",value:function(e,t){return e===t}},{key:"_joinBeta",value:function(){var e=this;if(confirm("WARNING:\nBeta releases are for testers and early adopters and can contain unstable code changes. Make sure you have backups of your data before you activate this feature.\n\nThis inludes beta releases for:\n- Home Assistant (Release Candidates)\n- Hass.io supervisor\n- Host system")){var t="hassio/supervisor/options",n={channel:"beta"},i={method:"post",path:t,data:n};this.hass.callApi("post",t,n).then(function(e){i.success=!0,i.response=e},function(e){i.success=!1,i.response=e}).then(function(){e.fire("hass-api-called",i)})}}}],[{key:"template",get:function(){return l(Zl)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String,leaveBeta:{type:Object,value:{channel:"stable"}}}}}]),t}();customElements.define("hassio-supervisor-info",Xl);var Gl=function(){function e(e,t){for(var n=0;n\n paper-card {\n display: block;\n }\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'],{raw:{value:Object.freeze(['\n \n \n
\n
[[log]]
\n
\n
\n Refresh\n
\n
\n'])}})),Ql=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Gl(t,[{key:"ready",value:function(){(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.loadData()}},{key:"loadData",value:function(){var e=this;this.hass.callApi("get","hassio/supervisor/logs").then(function(t){e.log=t},function(){e.log="Error fetching logs"})}},{key:"refreshTapped",value:function(){this.loadData()}}],[{key:"template",get:function(){return l(Jl)}},{key:"properties",get:function(){return{hass:Object,log:String}}}]),t}();customElements.define("hassio-supervisor-log",Ql);var ec=function(){function e(e,t){for(var n=0;n\n .content {\n margin: 4px;\n }\n .title {\n margin-top: 24px;\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n \n
\n
Information
\n \n \n
System log
\n \n
\n'],{raw:{value:Object.freeze(['\n \n
\n
Information
\n \n \n
System log
\n \n
\n'])}})),nc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),ec(t,null,[{key:"template",get:function(){return l(tc)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hostInfo:Object}}}]),t}();customElements.define("hassio-system",nc);var ic=function(){function e(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #FFF;\n text-transform: uppercase;\n }\n \n \n \n \n \n
Hass.io
\n \n
\n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
\n \n \n \n \n
\n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n
Hass.io
\n \n
\n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
\n \n \n \n \n
\n\n \n\n \n'])}})),rc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ic(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hassio-markdown-dialog",function(t){return e.openMarkdown(t)})}},{key:"handlePageSelected",value:function(e){var t=e.detail.item.getAttribute("page-name");t!==this.page&&this.navigate("/hassio/"+t)}},{key:"equals",value:function(e,t){return e===t}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return l(oc)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,page:String,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,snapshotSlug:String,snapshotDeleted:Boolean,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),t}();customElements.define("hassio-pages-with-tabs",rc);var ac=function(){function e(e,t){for(var n=0;n\n \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n\n \n'])}})),cc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ac(t,[{key:"ready",value:function(){var e=this;sc(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var o=t.default_theme;("default"===n||n&&t.themes[n])&&(o=n);var r=Object.assign({},e._themes);if("default"!==o){var a=t.themes[o];Object.keys(a).forEach(function(t){var n="--"+t;e._themes[n]="",r[n]=a[t]})}if(e.updateStyles?e.updateStyles(r):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,r),i){var s=document.querySelector("meta[name=theme-color]");if(s){s.hasAttribute("default-content")||s.setAttribute("default-content",s.getAttribute("content"));var l=r["--primary-color"]||s.getAttribute("default-content");s.setAttribute("content",l)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"connectedCallback",value:function(){sc(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var t=this;if(e.detail.success){var n=1;!function e(){t.$.data.refresh().catch(function(){n+=1,setTimeout(e,1e3*Math.min(n,5))})}()}}},{key:"computeIsLoaded",value:function(e,t,n){return null!==e&&null!==t&&null!==n}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0)}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}],[{key:"template",get:function(){return l(lc)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:{type:Object,value:{prefix:"/hassio",path:"/dashboard",__queryParams:{}},observer:"routeChanged"},routeData:Object,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo)"}}}}]),t}();customElements.define("hassio-main",cc);var pc=function(){function e(e,t){for(var n=0;n\n \n \n'],{raw:{value:Object.freeze(['\n \n'])}})),yc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),fc(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),window.setProperties=this.setProperties.bind(this),this.addEventListener("location-changed",function(){return e._locationChanged()}),this.addEventListener("hass-open-menu",function(){return e._menuEvent(!0)}),this.addEventListener("hass-close-menu",function(){return e._menuEvent(!1)})}},{key:"_menuEvent",value:function(e){this.hassioPanel.fire(e?"hass-open-menu":"hass-close-menu")}},{key:"_locationChanged",value:function(){this.hassioPanel.navigate(window.location.pathname)}}],[{key:"template",get:function(){return l(mc)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:Object,hassioPanel:{type:Object,value:window.parent.hassioPanel}}}}]),t}();customElements.define("hassio-app",yc)},function(e,t,n){"use strict";t.default=function(){function e(t,n,i,o){this.message=t,this.expected=n,this.found=i,this.location=o,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,e)}return function(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}(e,Error),{SyntaxError:e,parse:function(t){var n,i=arguments.length>1?arguments[1]:{},o={},r={start:Te},a=Te,s=function(e){return{type:"messageFormatPattern",elements:e,location:Ce()}},l=function(e){var t,n,i,o,r,a="";for(t=0,i=e.length;tke&&(ke=ge,xe=[]),xe.push(e))}function Te(){return Ae()}function Ae(){var e,t,n;for(e=ge,t=[],n=je();n!==o;)t.push(n),n=je();return t!==o&&(_e=e,t=s(t)),t}function je(){var e;return(e=function(){var e,n;return e=ge,(n=function(){var e,n,i,r,a,s;if(e=ge,n=[],i=ge,(r=ze())!==o&&(a=Be())!==o&&(s=ze())!==o?i=r=[r,a,s]:(ge=i,i=o),i!==o)for(;i!==o;)n.push(i),i=ge,(r=ze())!==o&&(a=Be())!==o&&(s=ze())!==o?i=r=[r,a,s]:(ge=i,i=o);else n=o;return n!==o&&(_e=e,n=l(n)),(e=n)===o&&(e=ge,e=(n=Le())!==o?t.substring(e,ge):n),e}())!==o&&(_e=e,n=c(n)),n}())===o&&(e=function(){var e,n,i,r,a,s,l;return e=ge,123===t.charCodeAt(ge)?(n=d,ge++):(n=o,0===Oe&&Pe(h)),n!==o&&ze()!==o&&(i=function(){var e,n,i;if((e=Fe())===o){if(e=ge,n=[],p.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=o,0===Oe&&Pe(u)),i!==o)for(;i!==o;)n.push(i),p.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=o,0===Oe&&Pe(u));else n=o;e=n!==o?t.substring(e,ge):n}return e}())!==o&&ze()!==o?(r=ge,44===t.charCodeAt(ge)?(a=f,ge++):(a=o,0===Oe&&Pe(m)),a!==o&&(s=ze())!==o&&(l=function(){var e;return(e=function(){var e,n,i,r,a,s;return e=ge,t.substr(ge,6)===g?(n=g,ge+=6):(n=o,0===Oe&&Pe(_)),n===o&&(t.substr(ge,4)===w?(n=w,ge+=4):(n=o,0===Oe&&Pe(k)),n===o&&(t.substr(ge,4)===x?(n=x,ge+=4):(n=o,0===Oe&&Pe(O)))),n!==o&&ze()!==o?(i=ge,44===t.charCodeAt(ge)?(r=f,ge++):(r=o,0===Oe&&Pe(m)),r!==o&&(a=ze())!==o&&(s=Be())!==o?i=r=[r,a,s]:(ge=i,i=o),i===o&&(i=null),i!==o?(_e=e,e=n=C(n,i)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r;return e=ge,t.substr(ge,6)===S?(n=S,ge+=6):(n=o,0===Oe&&Pe(E)),n!==o&&ze()!==o?(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Pe(m)),i!==o&&ze()!==o&&(r=Re())!==o?(_e=e,e=n=P(r)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r;return e=ge,t.substr(ge,13)===T?(n=T,ge+=13):(n=o,0===Oe&&Pe(A)),n!==o&&ze()!==o?(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Pe(m)),i!==o&&ze()!==o&&(r=Re())!==o?(_e=e,e=n=j(r)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r,a;if(e=ge,t.substr(ge,6)===I?(n=I,ge+=6):(n=o,0===Oe&&Pe(R)),n!==o)if(ze()!==o)if(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Pe(m)),i!==o)if(ze()!==o){if(r=[],(a=Ie())!==o)for(;a!==o;)r.push(a),a=Ie();else r=o;r!==o?(_e=e,e=n=L(r)):(ge=e,e=o)}else ge=e,e=o;else ge=e,e=o;else ge=e,e=o;else ge=e,e=o;return e}()),e}())!==o?r=a=[a,s,l]:(ge=r,r=o),r===o&&(r=null),r!==o&&(a=ze())!==o?(125===t.charCodeAt(ge)?(s=y,ge++):(s=o,0===Oe&&Pe(v)),s!==o?(_e=e,e=n=b(i,r)):(ge=e,e=o)):(ge=e,e=o)):(ge=e,e=o),e}()),e}function Ie(){var e,n,i,r,a;return e=ge,ze()!==o&&(n=function(){var e,n,i,r;return e=ge,n=ge,61===t.charCodeAt(ge)?(i=z,ge++):(i=o,0===Oe&&Pe(N)),i!==o&&(r=Fe())!==o?n=i=[i,r]:(ge=n,n=o),(e=n!==o?t.substring(e,ge):n)===o&&(e=Be()),e}())!==o&&ze()!==o?(123===t.charCodeAt(ge)?(i=d,ge++):(i=o,0===Oe&&Pe(h)),i!==o&&ze()!==o&&(r=Ae())!==o&&ze()!==o?(125===t.charCodeAt(ge)?(a=y,ge++):(a=o,0===Oe&&Pe(v)),a!==o?(_e=e,e=D(n,r)):(ge=e,e=o)):(ge=e,e=o)):(ge=e,e=o),e}function Re(){var e,n,i,r;if(e=ge,(n=function(){var e,n,i;return e=ge,t.substr(ge,7)===F?(n=F,ge+=7):(n=o,0===Oe&&Pe(M)),n!==o&&ze()!==o&&(i=Fe())!==o?(_e=e,e=n=B(i)):(ge=e,e=o),e}())===o&&(n=null),n!==o)if(ze()!==o){if(i=[],(r=Ie())!==o)for(;r!==o;)i.push(r),r=Ie();else i=o;i!==o?(_e=e,e=n=H(n,i)):(ge=e,e=o)}else ge=e,e=o;else ge=e,e=o;return e}function Le(){var e,n;if(Oe++,e=[],$.test(t.charAt(ge))?(n=t.charAt(ge),ge++):(n=o,0===Oe&&Pe(U)),n!==o)for(;n!==o;)e.push(n),$.test(t.charAt(ge))?(n=t.charAt(ge),ge++):(n=o,0===Oe&&Pe(U));else e=o;return Oe--,e===o&&(n=o,0===Oe&&Pe(q)),e}function ze(){var e,n,i;for(Oe++,e=ge,n=[],i=Le();i!==o;)n.push(i),i=Le();return e=n!==o?t.substring(e,ge):n,Oe--,e===o&&(n=o,0===Oe&&Pe(V)),e}function Ne(){var e;return K.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Pe(W)),e}function De(){var e;return Y.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Pe(Z)),e}function Fe(){var e,n,i,r,a,s;if(e=ge,48===t.charCodeAt(ge)?(n=X,ge++):(n=o,0===Oe&&Pe(G)),n===o){if(n=ge,i=ge,J.test(t.charAt(ge))?(r=t.charAt(ge),ge++):(r=o,0===Oe&&Pe(Q)),r!==o){for(a=[],s=Ne();s!==o;)a.push(s),s=Ne();a!==o?i=r=[r,a]:(ge=i,i=o)}else ge=i,i=o;n=i!==o?t.substring(n,ge):i}return n!==o&&(_e=e,n=ee(n)),n}function Me(){var e,n,i,r,a,s,l,c;return te.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Pe(ne)),e===o&&(e=ge,t.substr(ge,2)===ie?(n=ie,ge+=2):(n=o,0===Oe&&Pe(oe)),n!==o&&(_e=e,n=re()),(e=n)===o&&(e=ge,t.substr(ge,2)===ae?(n=ae,ge+=2):(n=o,0===Oe&&Pe(se)),n!==o&&(_e=e,n=le()),(e=n)===o&&(e=ge,t.substr(ge,2)===ce?(n=ce,ge+=2):(n=o,0===Oe&&Pe(pe)),n!==o&&(_e=e,n=ue()),(e=n)===o&&(e=ge,t.substr(ge,2)===de?(n=de,ge+=2):(n=o,0===Oe&&Pe(he)),n!==o&&(_e=e,n=fe()),(e=n)===o&&(e=ge,t.substr(ge,2)===me?(n=me,ge+=2):(n=o,0===Oe&&Pe(ye)),n!==o?(i=ge,r=ge,(a=De())!==o&&(s=De())!==o&&(l=De())!==o&&(c=De())!==o?r=a=[a,s,l,c]:(ge=r,r=o),(i=r!==o?t.substring(i,ge):r)!==o?(_e=e,e=n=ve(i)):(ge=e,e=o)):(ge=e,e=o)))))),e}function Be(){var e,t,n;if(e=ge,t=[],(n=Me())!==o)for(;n!==o;)t.push(n),n=Me();else t=o;return t!==o&&(_e=e,t=be(t)),t}if((n=a())!==o&&ge===t.length)return n;throw n!==o&&get.description?1:0});t1?i.slice(0,-1).join(", ")+" or "+i[e.length-1]:i[0])+" but "+(t?'"'+function(e){function n(e){return e.charCodeAt(0).toString(16).toUpperCase()}return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(e){return"\\x0"+n(e)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(e){return"\\x"+n(e)}).replace(/[\u0100-\u0FFF]/g,function(e){return"\\u0"+n(e)}).replace(/[\u1000-\uFFFF]/g,function(e){return"\\u"+n(e)})}()+'"':"end of input")+" found."}(n,i),n,i,o)}(null,xe,ke1||n<0||n>1?d:function(o){function r(e,t,n){return 3*e*(1-n)*(1-n)*n+3*t*(1-n)*n*n+n*n*n}if(o<=0){var a=0;return e>0?a=t/e:!t&&n>0&&(a=i/n),a*o}if(o>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&e<1&&(s=(t-1)/(e-1)),1+s*(o-1)}for(var l=0,c=1;l=1)return 1;var i=1/e;return(n+=t*i)-n%i}}function s(e){v||(v=document.createElement("div").style),v.animationTimingFunction="",v.animationTimingFunction=e;var t=v.animationTimingFunction;if(""==t&&i())throw new TypeError(e+" is not a valid value for easing");return t}function l(e){if("linear"==e)return d;var t=g.exec(e);if(t)return r.apply(this,t.slice(1).map(Number));var n=_.exec(e);return n?a(Number(n[1]),{start:h,middle:f,end:m}[n[2]]):y[e]||d}function c(e,t,n){if(null==t)return w;var i=n.delay+e+n.endDelay;return t=Math.min(n.delay+e,i)?x:O}var p="backwards|forwards|both|none".split("|"),u="reverse|alternate|alternate-reverse".split("|"),d=function(e){return e};n.prototype={_setMember:function(t,n){this["_"+t]=n,this._effect&&(this._effect._timingInput[t]=n,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=l(s(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var h=1,f=.5,m=0,y={ease:r(.25,.1,.25,1),"ease-in":r(.42,0,1,1),"ease-out":r(0,0,.58,1),"ease-in-out":r(.42,0,.58,1),"step-start":a(1,h),"step-middle":a(1,f),"step-end":a(1,m)},v=null,b="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",g=new RegExp("cubic-bezier\\("+b+","+b+","+b+","+b+"\\)"),_=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,w=0,k=1,x=2,O=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var n in e)t[n]=e[n];return t},e.makeTiming=o,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,n){return o(t=e.numericTimingToObject(t),n)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,n){var i=c(e,t,n),o=function(e,t,n,i,o){switch(i){case k:return"backwards"==t||"both"==t?0:null;case O:return n-o;case x:return"forwards"==t||"both"==t?e:null;case w:return null}}(e,n.fill,t,i,n.delay);if(null===o)return null;var r=function(e,t,n,i,o){var r=o;return 0===e?t!==k&&(r+=n):r+=i/e,r}(n.duration,i,n.iterations,o,n.iterationStart),a=function(e,t,n,i,o,r){var a=e===1/0?t%1:e%1;return 0!==a||n!==x||0===i||0===o&&0!==r||(a=1),a}(r,n.iterationStart,i,n.iterations,o,n.duration),s=function(e,t,n,i){return e===x&&t===1/0?1/0:1===a?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,0,r),l=function(e,t,n){var i=e;if("normal"!==e&&"reverse"!==e){var o=s;"alternate-reverse"===e&&(o+=1),i="normal",o!==1/0&&o%2!=0&&(i="reverse")}return"normal"===i?a:1-a}(n.direction);return n._easingFunction(l)},e.calculatePhase=c,e.normalizeEasing=s,e.parseEasingFunction=l}(i={}),function(e,t){function n(e,t){return e in l&&l[e][t]||t}function i(e,t,i){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var o=r[e];if(o)for(var s in a.style[e]=t,o){var l=o[s],c=a.style[l];i[l]=n(l,c)}else i[e]=n(e,t)}}function o(e){var t=[];for(var n in e)if(!(n in["easing","offset","composite"])){var i=e[n];Array.isArray(i)||(i=[i]);for(var o,r=i.length,a=0;a1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==o){if("add"==r||"accumulate"==r)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=r)throw new TypeError("Invalid composite mode "+r+".")}else r="easing"==o?e.normalizeEasing(r):""+r;i(o,r,n)}return void 0==n.offset&&(n.offset=null),void 0==n.easing&&(n.easing="linear"),n}),r=!0,a=-1/0,s=0;s=0&&e.offset<=1}),r||function(){var e=n.length;null==n[e-1].offset&&(n[e-1].offset=1),e>1&&null==n[0].offset&&(n[0].offset=0);for(var t=0,i=n[0].offset,o=1;o=e.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var n=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=n&&(this.currentTime=n)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var n=this._finishHandlers.indexOf(t);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new function(e,t,n){this.target=e,this.currentTime=t,this.timelineTime=n,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,this._currentTime,e),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){n.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(i,o),function(e,t,n){function i(e){var t=c;c=[],ei?n%=i:i%=n;return e*t/(n+i)}(i.length,o.length),c=0;c=1?t:"visible"}]},["visibility"]),function(e,t){function n(e){e=e.trim(),r.fillStyle="#000",r.fillStyle=e;var t=r.fillStyle;if(r.fillStyle="#fff",r.fillStyle=e,t==r.fillStyle){r.fillRect(0,0,1,1);var n=r.getImageData(0,0,1,1).data;r.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(t,n){return[t,n,function(t){function n(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var i=0;i<3;i++)t[i]=Math.round(n(t[i]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var o=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");o.width=o.height=1;var r=o.getContext("2d");e.addPropertiesHandler(n,i,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,n),e.mergeColors=i}(o),function(e,t){function n(e){function t(){var t=a.exec(e);r=t?t[0]:void 0}function n(){if("("!==r)return function(){var e=Number(r);return t(),e}();t();var e=o();return")"!==r?NaN:(t(),e)}function i(){for(var e=n();"*"===r||"/"===r;){var i=r;t();var o=n();"*"===i?e*=o:e/=o}return e}function o(){for(var e=i();"+"===r||"-"===r;){var n=r;t();var o=i();"+"===n?e+=o:e-=o}return e}var r,a=/([\+\-\w\.]+|[\(\)\*\/])/g;return t(),o()}function i(e,t){if("0"==(t=t.trim().toLowerCase())&&"px".search(e)>=0)return{px:0};if(/^[^(]*$|^calc/.test(t)){var i={};t=(t=t.replace(/calc\(/g,"(")).replace(e,function(e){return i[e]=null,"U"+e});for(var o="U("+e.source+")",r=t.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+o,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),a=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],s=0;s1?"calc("+n+")":n}]}var a="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",s=i.bind(null,new RegExp(a,"g")),l=i.bind(null,new RegExp(a+"|%","g")),c=i.bind(null,/deg|rad|grad|turn/g);e.parseLength=s,e.parseLengthOrPercent=l,e.consumeLengthOrPercent=e.consumeParenthesised.bind(null,l),e.parseAngle=c,e.mergeDimensions=r;var p=e.consumeParenthesised.bind(null,s),u=e.consumeRepeated.bind(void 0,p,/^/),d=e.consumeRepeated.bind(void 0,u,/^,/);e.consumeSizePairList=d;var h=e.mergeNestedRepeated.bind(void 0,o," "),f=e.mergeNestedRepeated.bind(void 0,h,",");e.mergeNonNegativeSizePair=h,e.addPropertiesHandler(function(e){var t=d(e);if(t&&""==t[1])return t[0]},f,["background-size"]),e.addPropertiesHandler(l,o,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),e.addPropertiesHandler(l,r,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(o),function(e,t){function n(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function i(t){var i=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,n,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(i&&4==i[0].length)return i[0]}var o=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,n){return"auto"==t||"auto"==n?[!0,!1,function(i){var o=i?t:n;if("auto"==o)return"auto";var r=e.mergeDimensions(o,o);return r[2](r[0])}]:e.mergeDimensions(t,n)},", ");e.parseBox=i,e.mergeBoxes=o,e.addPropertiesHandler(i,o,["clip"])}(o),function(e,t){function n(e){return function(t){var n=0;return e.map(function(e){return e===c?t[n++]:e})}}function i(e){return e}function o(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,o=[],r=0;n=i.exec(t);){if(n.index!=r)return;r=n.index+n[0].length;var a=n[1],s=d[a];if(!s)return;var l=n[2].split(","),c=s[0];if(c.length=0&&this._cancelHandlers.splice(n,1)}else s.call(this,e,t)},o}}}(),function(e){var t=document.documentElement,n=null,i=!1;try{var o="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(n=t.animate({opacity:[o,o]},{duration:1})).currentTime=0,i=getComputedStyle(t).getPropertyValue("opacity")==o}catch(e){}finally{n&&n.cancel()}if(!i){var r=window.Element.prototype.animate;window.Element.prototype.animate=function(t,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),r.call(this,t,n)}}}(i),function(e,t,n){function i(e){var n=t.timeline;n.currentTime=e,n._discardAnimations(),0==n._animations.length?r=!1:requestAnimationFrame(i)}var o=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return o(function(n){t.timeline._updateAnimationsPromises(),e(n),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var n=new t.Animation(e,this);return this._animations.push(n),t.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(e){return e&&e.remove(),this._play(e)}};var r=!1;t.restartWebAnimationsNextTick=function(){r||(r=!0,requestAnimationFrame(i))};var a=new t.AnimationTimeline;t.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(e){}try{window.document.timeline=a}catch(e){}}(0,r),function(e,t,n){t.animationsWithPromises=[],t.Animation=function(t,n){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,n,i,o,r=!!this._animation;r&&(e=this.playbackRate,n=this._paused,i=this.startTime,o=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),r&&(1!=e&&(this.playbackRate=e),null!==i?this.startTime=i:null!==o?this.currentTime=o:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t\n \n",document.head.appendChild(n.content)},function(e,t){function n(){document.body.removeAttribute("unresolved")}"interactive"===document.readyState||"complete"===document.readyState?n():window.addEventListener("DOMContentLoaded",n)}]);(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[,,,,,,,,,function(t,e){t.exports={indexOf:function(t,e){var r,n;if(Array.prototype.indexOf)return t.indexOf(e);for(r=0,n=t.length;r0;e--){var r=t[e];if(" "!==r)return"="===r?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,r){"user strict";var n="",s=0,a=!1,l=!1,c=0,p=t.length,u="",g="";for(c=0;c"===h){n+=r(t.slice(s,a)),u=i(g=t.slice(a,c+1)),n+=e(a,n.length,u,g,o(g)),s=c+1,a=!1;continue}if(('"'===h||"'"===h)&&"="===t.charAt(c-1)){l=h;continue}}else if(h===l){l=!1;continue}}return s/g,p=/"/g,u=/"/g,g=/&#([a-zA-Z0-9]*);?/gim,h=/:?/gim,d=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,m=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,b=/u\s*r\s*l\s*\(.*/gi;function x(t){return t.replace(p,""")}function k(t){return t.replace(u,'"')}function y(t){return t.replace(g,function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))})}function w(t){return t.replace(h,":").replace(d," ")}function v(t){for(var e="",r=0,n=t.length;r/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=function(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}},e.onTag=function(t,e,r){},e.onIgnoreTag=function(t,e,r){},e.onTagAttr=function(t,e,r){},e.onIgnoreTagAttr=function(t,e,r){},e.safeAttrValue=function(t,e,r,n){if(r=A(r),"href"===e||"src"===e){if("#"===(r=o.trim(r)))return"#";if("http://"!==r.substr(0,7)&&"https://"!==r.substr(0,8)&&"mailto:"!==r.substr(0,7)&&"tel:"!==r.substr(0,4)&&"#"!==r[0]&&"/"!==r[0])return""}else if("background"===e){if(f.lastIndex=0,f.test(r))return""}else if("style"===e){if(m.lastIndex=0,m.test(r))return"";if(b.lastIndex=0,b.test(r)&&(f.lastIndex=0,f.test(r)))return"";!1!==n&&(r=(n=n||s).process(r))}return _(r)},e.escapeHtml=a,e.escapeQuote=x,e.unescapeQuote=k,e.escapeHtmlEntities=y,e.escapeDangerHtml5Entities=w,e.clearNonPrintableCharacter=v,e.friendlyAttrValue=A,e.escapeAttrValue=_,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var r=!Array.isArray(t),n=[],i=!1;return{onIgnoreTag:function(s,a,l){if(function(e){return!!r||-1!==o.indexOf(t,e)}(s)){if(l.isClosing){var c="[/removed]",p=l.position+c.length;return n.push([!1!==i?i:l.position,p]),i=!1,c}return i||(i=l.position),"[removed]"}return e(s,a,l)},remove:function(t){var e="",r=0;return o.forEach(n,function(n){e+=t.slice(r,n[0]),r=n[1]}),e+=t.slice(r)}}},e.stripCommentTag=function(t){return t.replace(S,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter(function(t){var e=t.charCodeAt(0);return!(127===e||e<=31&&10!==e&&13!==e)})).join("")},e.cssFilter=s,e.getDefaultCSSWhiteList=i},function(t,e,r){var n=r(10).FilterCSS,i=r(14),o=r(11),s=o.parseTag,a=o.parseAttr,l=r(9);function c(t){return void 0===t||null===t}function p(t){(t=function(t){var e={};for(var r in t)e[r]=t[r];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=i.onIgnoreTagStripAll),t.whiteList=t.whiteList||i.whiteList,t.onTag=t.onTag||i.onTag,t.onTagAttr=t.onTagAttr||i.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||i.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||i.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,t.escapeHtml=t.escapeHtml||i.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new n(t.css))}p.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,r=e.whiteList,n=e.onTag,o=e.onIgnoreTag,p=e.onTagAttr,u=e.onIgnoreTagAttr,g=e.safeAttrValue,h=e.escapeHtml,d=this.cssFilter;e.stripBlankChar&&(t=i.stripBlankChar(t)),e.allowCommentTag||(t=i.stripCommentTag(t));var f=!1;e.stripIgnoreTagBody&&(f=i.StripTagBody(e.stripIgnoreTagBody,o),o=f.onIgnoreTag);var m=s(t,function(t,e,i,s,f){var m,b={sourcePosition:t,position:e,isClosing:f,isWhite:r.hasOwnProperty(i)};if(!c(m=n(i,s,b)))return m;if(b.isWhite){if(b.isClosing)return"";var x=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var r="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return r&&(t=l.trim(t.slice(0,-1))),{html:t,closing:r}}(s),k=r[i],y=a(x.html,function(t,e){var r,n=-1!==l.indexOf(k,t);return c(r=p(i,t,e,n))?n?(e=g(i,t,e,d))?t+'="'+e+'"':t:c(r=u(i,t,e,n))?void 0:r:r});return s="<"+i,y&&(s+=" "+y),x.closing&&(s+=" /"),s+">"}return c(m=o(i,s,b))?h(s):m},h);return f&&(m=f.remove(m)),m},t.exports=p},function(t,e,r){var n=r(12);t.exports=function(t,e){";"!==(t=n.trimRight(t))[t.length-1]&&(t+=";");var r=t.length,i=!1,o=0,s=0,a="";function l(){if(!i){var r=n.trim(t.slice(o,s)),l=r.indexOf(":");if(-1!==l){var c=n.trim(r.slice(0,l)),p=n.trim(r.slice(l+1));if(c){var u=e(o,a.length,c,p,r);u&&(a+=u+"; ")}}}o=s+1}for(;s ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:k,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/,text:/^[^\n]+/};function a(t){this.tokens=[],this.tokens.links={},this.options=t||w.defaults,this.rules=s.normal,this.options.gfm&&(this.options.tables?this.rules=s.tables:this.rules=s.gfm)}s._label=/(?:\\[\[\]]|[^\[\]])+/,s._title=/(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/,s.def=f(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d+\.)/,s.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,s.item=f(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=f(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b",s.html=f(s.html).replace("comment",//).replace("closed",/<(tag)[\s\S]+?<\/\1>/).replace("closing",/\s]*)*?\/?>/).replace(/tag/g,s._tag).getRegex(),s.paragraph=f(s.paragraph).replace("hr",s.hr).replace("heading",s.heading).replace("lheading",s.lheading).replace("tag","<"+s._tag).getRegex(),s.blockquote=f(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=y({},s),s.gfm=y({},s.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),s.gfm.paragraph=f(s.paragraph).replace("(?!","(?!"+s.gfm.fences.source.replace("\\1","\\2")+"|"+s.list.source.replace("\\1","\\3")+"|").getRegex(),s.tables=y({},s.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),a.rules=s,a.lex=function(t,e){return new a(e).lex(t)},a.prototype.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(t,!0)},a.prototype.token=function(t,e){var r,n,i,o,a,l,c,p,u,g,h;for(t=t.replace(/^ +$/gm,"");t;)if((i=this.rules.newline.exec(t))&&(t=t.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(t))t=t.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=this.rules.fences.exec(t))t=t.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=this.rules.heading.exec(t))t=t.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(e&&(i=this.rules.nptable.exec(t))){for(t=t.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},p=0;p ?/gm,""),this.token(i,e),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(t)){for(t=t.substring(i[0].length),h=(o=i[2]).length>1,this.tokens.push({type:"list_start",ordered:h,start:h?+o:""}),r=!1,g=(i=i[0].match(this.rules.item)).length,p=0;p1&&a.length>1||(t=i.slice(p+1).join("\n")+t,p=g-1)),n=r||/\n\n(?!\s*$)/.test(l),p!==g-1&&(r="\n"===l.charAt(l.length-1),n||(n=r)),this.tokens.push({type:n?"loose_item_start":"list_item_start"}),this.token(l,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(t))t=t.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(e&&(i=this.rules.def.exec(t)))t=t.substring(i[0].length),i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),u=i[1].toLowerCase(),this.tokens.links[u]||(this.tokens.links[u]={href:i[2],title:i[3]});else if(e&&(i=this.rules.table.exec(t))){for(t=t.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/(?: *\| *)?\n$/,"").split("\n")},p=0;p])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:k,tag:/^|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:k,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function d(t){return t.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}function f(t,e){return t=t.source,e=e||"",{replace:function(e,r){return r=(r=r.source||r).replace(/(^|[^\[])\^/g,"$1"),t=t.replace(e,r),this},getRegex:function(){return new RegExp(t,e)}}}function m(t,e){return b[" "+t]||(/^[^:]+:\/*[^/]*$/.test(t)?b[" "+t]=t+"/":b[" "+t]=t.replace(/[^/]*$/,"")),t=b[" "+t],"//"===e.slice(0,2)?t.replace(/:[\s\S]*/,":")+e:"/"===e.charAt(0)?t.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+e:t+e}l._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,l._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,l.autolink=f(l.autolink).replace("scheme",l._scheme).replace("email",l._email).getRegex(),l._inside=/(?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/,l._href=/\s*?(?:\s+['"]([\s\S]*?)['"])?\s*/,l.link=f(l.link).replace("inside",l._inside).replace("href",l._href).getRegex(),l.reflink=f(l.reflink).replace("inside",l._inside).getRegex(),l.normal=y({},l),l.pedantic=y({},l.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),l.gfm=y({},l.normal,{escape:f(l.escape).replace("])","~|])").getRegex(),url:f(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",l._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:f(l.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),l.breaks=y({},l.gfm,{br:f(l.br).replace("{2,}","*").getRegex(),text:f(l.gfm.text).replace("{2,}","*").getRegex()}),c.rules=l,c.output=function(t,e,r){return new c(e,r).output(t)},c.prototype.output=function(t){for(var e,r,n,i,o="";t;)if(i=this.rules.escape.exec(t))t=t.substring(i[0].length),o+=i[1];else if(i=this.rules.autolink.exec(t))t=t.substring(i[0].length),n="@"===i[2]?"mailto:"+(r=h(this.mangle(i[1]))):r=h(i[1]),o+=this.renderer.link(n,null,r);else if(this.inLink||!(i=this.rules.url.exec(t))){if(i=this.rules.tag.exec(t))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),t=t.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):h(i[0]):i[0];else if(i=this.rules.link.exec(t))t=t.substring(i[0].length),this.inLink=!0,o+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(t))||(i=this.rules.nolink.exec(t))){if(t=t.substring(i[0].length),e=(i[2]||i[1]).replace(/\s+/g," "),!(e=this.links[e.toLowerCase()])||!e.href){o+=i[0].charAt(0),t=i[0].substring(1)+t;continue}this.inLink=!0,o+=this.outputLink(i,e),this.inLink=!1}else if(i=this.rules.strong.exec(t))t=t.substring(i[0].length),o+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(t))t=t.substring(i[0].length),o+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(t))t=t.substring(i[0].length),o+=this.renderer.codespan(h(i[2].trim(),!0));else if(i=this.rules.br.exec(t))t=t.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(t))t=t.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(t))t=t.substring(i[0].length),o+=this.renderer.text(h(this.smartypants(i[0])));else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}else i[0]=this.rules._backpedal.exec(i[0])[0],t=t.substring(i[0].length),"@"===i[2]?n="mailto:"+(r=h(i[0])):(r=h(i[0]),n="www."===i[1]?"http://"+r:r),o+=this.renderer.link(n,null,r);return o},c.prototype.outputLink=function(t,e){var r=h(e.href),n=e.title?h(e.title):null;return"!"!==t[0].charAt(0)?this.renderer.link(r,n,this.output(t[1])):this.renderer.image(r,n,h(t[1]))},c.prototype.smartypants=function(t){return this.options.smartypants?t.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):t},c.prototype.mangle=function(t){if(!this.options.mangle)return t;for(var e,r="",n=t.length,i=0;i.5&&(e="x"+e.toString(16)),r+="&#"+e+";";return r},p.prototype.code=function(t,e,r){if(this.options.highlight){var n=this.options.highlight(t,e);null!=n&&n!==t&&(r=!0,t=n)}return e?'
'+(r?t:h(t,!0))+"\n
\n":"
"+(r?t:h(t,!0))+"\n
"},p.prototype.blockquote=function(t){return"
\n"+t+"
\n"},p.prototype.html=function(t){return t},p.prototype.heading=function(t,e,r){return"'+t+"\n"},p.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},p.prototype.list=function(t,e,r){var n=e?"ol":"ul";return"<"+n+(e&&1!==r?' start="'+r+'"':"")+">\n"+t+"\n"},p.prototype.listitem=function(t){return"
  • "+t+"
  • \n"},p.prototype.paragraph=function(t){return"

    "+t+"

    \n"},p.prototype.table=function(t,e){return"\n\n"+t+"\n\n"+e+"\n
    \n"},p.prototype.tablerow=function(t){return"\n"+t+"\n"},p.prototype.tablecell=function(t,e){var r=e.header?"th":"td";return(e.align?"<"+r+' style="text-align:'+e.align+'">':"<"+r+">")+t+"\n"},p.prototype.strong=function(t){return""+t+""},p.prototype.em=function(t){return""+t+""},p.prototype.codespan=function(t){return""+t+""},p.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},p.prototype.del=function(t){return""+t+""},p.prototype.link=function(t,e,r){if(this.options.sanitize){try{var n=decodeURIComponent(d(t)).replace(/[^\w:]/g,"").toLowerCase()}catch(t){return r}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return r}this.options.baseUrl&&!x.test(t)&&(t=m(this.options.baseUrl,t));var i='
    "+r+""},p.prototype.image=function(t,e,r){this.options.baseUrl&&!x.test(t)&&(t=m(this.options.baseUrl,t));var n=''+r+'":">")},p.prototype.text=function(t){return t},u.prototype.strong=u.prototype.em=u.prototype.codespan=u.prototype.del=u.prototype.text=function(t){return t},u.prototype.link=u.prototype.image=function(t,e,r){return""+r},u.prototype.br=function(){return""},g.parse=function(t,e){return new g(e).parse(t)},g.prototype.parse=function(t){this.inline=new c(t.links,this.options),this.inlineText=new c(t.links,y({},this.options,{renderer:new u})),this.tokens=t.reverse();for(var e="";this.next();)e+=this.tok();return e},g.prototype.next=function(){return this.token=this.tokens.pop()},g.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},g.prototype.parseText=function(){for(var t=this.token.text;"text"===this.peek().type;)t+="\n"+this.next().text;return this.inline.output(t)},g.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,d(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,e,r,n,i="",o="";for(r="",t=0;tAn error occurred:

    "+h(t.message+"",!0)+"
    ";throw t}}k.exec=k,w.options=w.setOptions=function(t){return y(w.defaults,t),w},w.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new p,xhtml:!1,baseUrl:null},w.Parser=g,w.parser=g.parse,w.Renderer=p,w.TextRenderer=u,w.Lexer=a,w.lexer=a.lex,w.InlineLexer=c,w.inlineLexer=c.output,w.parse=w,void 0!==t&&"object"===o(e)?t.exports=w:void 0===(i=function(){return w}.call(e,r,e,t))||(t.exports=i)}(this||"undefined"!=typeof window&&window)}).call(this,r(19))}]]);(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{21:function(n,r,t){"use strict";t.r(r),t.d(r,"marked",function(){return a}),t.d(r,"filterXSS",function(){return c});var e=t(20),i=t.n(e),o=t(18),u=t.n(o),a=i.a,c=u.a}}]); +!function(e){function t(t){for(var n,o,r=t[0],a=t[1],s=0,c=[];s1?n-1:0),o=1;o=0}function M(e){var t=e.indexOf(".");return-1===t?e:e.slice(0,t)}function B(e,t){return 0===e.indexOf(t+".")}function H(e,t){return 0===t.indexOf(e+".")}function q(e,t,n){return t+n.slice(e.length)}function $(e){if(Array.isArray(e)){for(var t=[],n=0;n1){for(var a=0;a=0){if(!ee[t])throw new Error("invalid async handle: "+e);ee[t]=null}}},se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},le=function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0},ce=function(){function e(e,t){for(var n=0;nc.source.length&&"property"==l.kind&&!l.isCompound&&s.__isPropertyEffectsClient&&s.__dataHasAccessor&&s.__dataHasAccessor[l.target]){var p=n[t];t=q(c.source,l.target,t),s._setPendingPropertyOrPath(t,p,!1,!0)&&e._enqueueClient(s)}else!function(e,t,n,i,o){if(o=function(e,t,n,i){if(n.isCompound){var o=e.__dataCompoundStorage[n.target];o[i.compoundIndex]=t,t=o.join("")}return"attribute"!==n.kind&&("textContent"!==n.target&&("value"!==n.target||"input"!==e.localName&&"textarea"!==e.localName)||(t=void 0==t?"":t)),t}(t,o,n,i),b&&(o=b(o,n.target,n.kind,t)),"attribute"==n.kind)e._valueToNodeAttribute(t,o,n.target);else{var r=n.target;t.__isPropertyEffectsClient&&t.__dataHasAccessor&&t.__dataHasAccessor[r]?t[Le.READ_ONLY]&&t[Le.READ_ONLY][r]||t._setPendingProperty(r,o)&&e._enqueueClient(t):e._setUnmanagedPropertyToNode(t,r,o)}}(e,s,l,c,o.evaluator._evaluateBinding(e,c,t,n,i,r))}function Ze(e,t){if(t.isCompound){for(var n=e.__dataCompoundStorage||(e.__dataCompoundStorage={}),i=t.parts,o=new Array(i.length),r=0;r="0"&&i<="9"&&(i="#"),i){case"'":case'"':n.value=t.slice(1,-1),n.literal=!0;break;case"#":n.value=Number(t),n.literal=!0}return n.literal||(n.rootProperty=M(t),n.structured=F(t),n.structured&&(n.wildcard=".*"==t.slice(-2),n.wildcard&&(n.name=t.slice(0,-2)))),n}function ot(e,t,n,i){var o=n+".splices";e.notifyPath(o,{indexSplices:i}),e.notifyPath(n+".length",t.length),e.__data[o]={indexSplices:null}}function rt(e,t,n,i,o,r){ot(e,t,n,[{index:i,addedCount:o,removed:r,object:t,type:"splice"}])}var at=k(function(e){var t=Ee(_e(e)),n=function(e){function n(){!function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return e.__isPropertyEffectsClient=!0,e.__dataCounter=0,e.__dataClientsReady,e.__dataPendingClients,e.__dataToNotify,e.__dataLinkedPaths,e.__dataHasPaths,e.__dataCompoundStorage,e.__dataHost,e.__dataTemp,e.__dataClientsInitialized,e.__data,e.__dataPending,e.__dataOld,e.__computeEffects,e.__reflectEffects,e.__notifyEffects,e.__propagateEffects,e.__observeEffects,e.__readOnly,e.__templateInfo,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),Te(n,[{key:"_initializeProperties",value:function(){Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_initializeProperties",this).call(this),st.registerHost(this),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}},{key:"_initializeProtoProperties",value:function(e){this.__data=Object.create(e),this.__dataPending=Object.create(e),this.__dataOld={}}},{key:"_initializeInstanceProperties",value:function(e){var t=this[Le.READ_ONLY];for(var n in e)t&&t[n]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[n]=this.__dataPending[n]=e[n])}},{key:"_addPropertyEffect",value:function(e,t,n){this._createPropertyAccessor(e,t==Le.READ_ONLY);var i=Ne(this,t)[e];i||(i=this[t][e]=[]),i.push(n)}},{key:"_removePropertyEffect",value:function(e,t,n){var i=Ne(this,t)[e],o=i.indexOf(n);o>=0&&i.splice(o,1)}},{key:"_hasPropertyEffect",value:function(e,t){var n=this[t];return Boolean(n&&n[e])}},{key:"_hasReadOnlyEffect",value:function(e){return this._hasPropertyEffect(e,Le.READ_ONLY)}},{key:"_hasNotifyEffect",value:function(e){return this._hasPropertyEffect(e,Le.NOTIFY)}},{key:"_hasReflectEffect",value:function(e){return this._hasPropertyEffect(e,Le.REFLECT)}},{key:"_hasComputedEffect",value:function(e){return this._hasPropertyEffect(e,Le.COMPUTE)}},{key:"_setPendingPropertyOrPath",value:function(e,t,i,o){if(o||M(Array.isArray(e)?e[0]:e)!==e){if(!o){var r=V(this,e);if(!(e=K(this,e,t))||!Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_shouldPropertyChange",this).call(this,e,t,r))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(e,t,i))return function(e,t,n){var i=e.__dataLinkedPaths;if(i){var o=void 0;for(var r in i){var a=i[r];H(r,t)?(o=q(r,a,t),e._setPendingPropertyOrPath(o,n,!0,!0)):H(a,t)&&(o=q(a,r,t),e._setPendingPropertyOrPath(o,n,!0,!0))}}}(this,e,t),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[e])return this._setPendingProperty(e,t,i);this[e]=t}return!1}},{key:"_setUnmanagedPropertyToNode",value:function(e,t,n){n===e[t]&&"object"!=(void 0===n?"undefined":je(n))||(e[t]=n)}},{key:"_setPendingProperty",value:function(e,t,n){var i=this.__dataHasPaths&&F(e),o=i?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(e,t,o[e])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),e in this.__dataOld||(this.__dataOld[e]=this.__data[e]),i?this.__dataTemp[e]=t:this.__data[e]=t,this.__dataPending[e]=t,(i||this[Le.NOTIFY]&&this[Le.NOTIFY][e])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[e]=n),!0)}},{key:"_setProperty",value:function(e,t){this._setPendingProperty(e,t,!0)&&this._invalidateProperties()}},{key:"_invalidateProperties",value:function(){this.__dataReady&&this._flushProperties()}},{key:"_enqueueClient",value:function(e){this.__dataPendingClients=this.__dataPendingClients||[],e!==this&&this.__dataPendingClients.push(e)}},{key:"_flushProperties",value:function(){this.__dataCounter++,Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_flushProperties",this).call(this),this.__dataCounter--}},{key:"_flushClients",value:function(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}},{key:"__enableOrFlushClients",value:function(){var e=this.__dataPendingClients;if(e){this.__dataPendingClients=null;for(var t=0;t1?o-1:0),a=1;a3?i-3:0),r=3;r1?i-1:0),r=1;ri&&n.push({literal:e.slice(i,o.index)});var r=o[1][0],a=Boolean(o[2]),s=o[3].trim(),l=!1,c="",p=-1;"{"==r&&(p=s.indexOf("::"))>0&&(c=s.substring(p+2),s=s.substring(0,p),l=!0);var u=nt(s),d=[];if(u){for(var h=u.args,f=u.methodName,m=0;m2&&void 0!==arguments[2]?arguments[2]:"",o="";if(t.cssText||t.rules){var r=t.rules;if(r&&!function(e){var t=r[0];return Boolean(t)&&Boolean(t.selector)&&0===t.selector.indexOf(St)}())for(var a,s=0,l=r.length;s1&&void 0!==arguments[1]?arguments[1]:"",n=Dt(e);return this.transformRules(n,t),e.textContent=Nt(n),n}},{key:"transformCustomStyle",value:function(e){var t=this,n=Dt(e);return Ft(n,function(e){":root"===e.selector&&(e.selector="html"),t.transformRule(e)}),e.textContent=Nt(n),n}},{key:"transformRules",value:function(e,t){var n=this;this._currentElement=t,Ft(e,function(e){n.transformRule(e)}),this._currentElement=null}},{key:"transformRule",value:function(e){e.cssText=this.transformCssText(e.parsedCssText),":root"===e.selector&&(e.selector=":host > *")}},{key:"transformCssText",value:function(e){var t=this;return e=e.replace(Tt,function(e,n,i,o){return t._produceCssProperties(e,n,i,o)}),this._consumeCssProperties(e)}},{key:"_getInitialValueForProperty",value:function(e){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(e)}},{key:"_consumeCssProperties",value:function(e){for(var t=null;t=At.exec(e);){var n=t[0],i=t[1],o=t.index,r=o+n.indexOf("@apply"),a=o+n.length,s=e.slice(0,r),l=e.slice(a),c=this._cssTextToMap(s),p=this._atApplyToCssProperties(i,c);e=""+s+p+l,At.lastIndex=o+p.length}return e}},{key:"_atApplyToCssProperties",value:function(e,t){e=e.replace($t,"");var n=[],i=this._map.get(e);if(i||(this._map.set(e,{}),i=this._map.get(e)),i){this._currentElement&&(i.dependants[this._currentElement]=!0);var o=void 0,r=void 0,a=void 0,s=i.properties;for(o in s)r=[o,": var(",e,"_-_",o],(a=t&&t[o])&&r.push(",",a.replace(Vt,"")),r.push(")"),Vt.test(s[o])&&r.push(" !important"),n.push(r.join(""))}return n.join("; ")}},{key:"_replaceInitialOrInherit",value:function(e,t){var n=Ut.exec(t);return n&&(t=n[1]?this._getInitialValueForProperty(e):"apply-shim-inherit"),t}},{key:"_cssTextToMap",value:function(e){for(var t,n,i=e.split(";"),o=void 0,r=void 0,a={},s=0;s1&&(o=n[0].trim(),r=this._replaceInitialOrInherit(o,n.slice(1).join(":")),a[o]=r);return a}},{key:"_invalidateMixinEntry",value:function(e){if(Wt)for(var t in e.dependants)t!==this._currentElement&&Wt(t)}},{key:"_produceCssProperties",value:function(e,t,n,i){var o=this;if(n&&function e(t,n){var i=t.indexOf("var(");if(-1===i)return n(t,"","","");var o=function(e,t){for(var n=0,i=t,o=e.length;i-1?n=t:(i=t,n=e.getAttribute&&e.getAttribute("is")||""):(n=e.is,i=e.extends),{is:n,typeExtension:i}}(e).is,n=Xt[t];if(n&&!nn(n)){(function(e){return!nn(e)&&e[Qt]===e[Jt]})(n)||(this.prepareTemplate(n,t),function(e){e[Qt]=e[Jt],e._validating||(e._validating=!0,en.then(function(){e[Gt]=e[Jt],e._validating=!1}))}(n));var i=e.shadowRoot;if(i){var o=i.querySelector("style");o&&(o.__cssRules=n._styleAst,o.textContent=Nt(n._styleAst))}}}},{key:"styleDocument",value:function(e){this.ensure(),this.styleSubtree(document.body,e)}}]),e}();if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){var vn=new yn,bn=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate:function(e,t,n){vn.flushCustomStyles(),vn.prepareTemplate(e,t)},styleSubtree:function(e,t){vn.flushCustomStyles(),vn.styleSubtree(e,t)},styleElement:function(e){vn.flushCustomStyles(),vn.styleElement(e)},styleDocument:function(e){vn.flushCustomStyles(),vn.styleDocument(e)},getComputedStyleValue:function(e,t){return Bt(e,t)},flushCustomStyles:function(){vn.flushCustomStyles()},nativeCss:gt,nativeShadow:yt},bn&&(window.ShadyCSS.CustomStyleInterface=bn)}window.ShadyCSS.ApplyShim=mn;var gn=function(){function e(e,t){for(var n=0;n-1}var Tn=!1;function An(e){if(!En(e)&&"touchend"!==e)return wn&&Tn&&g?{passive:!0}:void 0}!function(){try{var e=Object.defineProperty({},"passive",{get:function(){Tn=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}}();var jn=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),In=function(){};In.prototype.reset,In.prototype.mousedown,In.prototype.mousemove,In.prototype.mouseup,In.prototype.touchstart,In.prototype.touchmove,In.prototype.touchend,In.prototype.click;var Rn=[],Ln={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0};function zn(e){var t=Array.prototype.slice.call(e.labels||[]);if(!t.length){t=[];var n=e.getRootNode();if(e.id)for(var i=n.querySelectorAll("label[for = "+e.id+"]"),o=0;o-1;if(o[r]===Mn.mouse.target)return}if(i)return;e.preventDefault(),e.stopPropagation()}};function Dn(e){for(var t,n=jn?["click"]:Cn,i=0;i0?t[0]:e.target}return e.target}function Kn(e){var t=void 0,n=e.type,i=e.currentTarget[kn];if(i){var o=i[n];if(o){if(!e[xn]&&(e[xn]={},"touch"===n.slice(0,5))){var r=(e=e).changedTouches[0];if("touchstart"===n&&1===e.touches.length&&(Mn.touch.id=r.identifier),Mn.touch.id!==r.identifier)return;wn||"touchstart"!==n&&"touchmove"!==n||function(e){var t=e.changedTouches[0],n=e.type;if("touchstart"===n)Mn.touch.x=t.clientX,Mn.touch.y=t.clientY,Mn.touch.scrollDecided=!1;else if("touchmove"===n){if(Mn.touch.scrollDecided)return;Mn.touch.scrollDecided=!0;var i=function(e){var t="auto",n=e.composedPath&&e.composedPath();if(n)for(var i,o=0;or:"pan-y"===i&&(o=r>a)),o?e.preventDefault():o("track")}}(e)}if(!(t=e[xn]).skip){for(var a,s=0;s<$n.length;s++)o[(a=$n[s]).name]&&!t[a.name]&&a.flow&&a.flow.start.indexOf(e.type)>-1&&a.reset&&a.reset();for(var l,c=0;c<$n.length;c++)o[(l=$n[c]).name]&&!t[l.name]&&(t[l.name]=!0,l[n](e))}}}}function Wn(e,t,n){return!!qn[t]&&(function(e,t,n){var i=qn[t],o=i.deps,r=i.name,a=e[kn];a||(e[kn]=a={});for(var s,l,c=0;c2&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,Hn(this.info)},hasMovedEnough:function(e,t){if(this.info.prevent)return!1;if(this.info.started)return!0;var n=Math.abs(this.info.x-e),i=Math.abs(this.info.y-t);return n>=5||i>=5},mousedown:function(e){if(Fn(e)){var t=Vn(e),n=this,i=function(e){var i=e.clientX,o=e.clientY;n.hasMovedEnough(i,o)&&(n.info.state=n.info.started?"mouseup"===e.type?"end":"track":"start","start"===n.info.state&&Jn("tap"),n.info.addMove({x:i,y:o}),Fn(e)||(n.info.state="end",Hn(n.info)),n._fire(t,e),n.info.started=!0)};Bn(this.info,i,function(e){n.info.started&&i(e),Hn(n.info)}),this.info.x=e.clientX,this.info.y=e.clientY}},touchstart:function(e){var t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove:function(e){var t=Vn(e),n=e.changedTouches[0],i=n.clientX,o=n.clientY;this.hasMovedEnough(i,o)&&("start"===this.info.state&&Jn("tap"),this.info.addMove({x:i,y:o}),this._fire(t,n),this.info.state="track",this.info.started=!0)},touchend:function(e){var t=Vn(e),n=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:n.clientX,y:n.clientY}),this._fire(t,n,e))},_fire:function(e,t){var n=this.info.moves[this.info.moves.length-2],i=this.info.moves[this.info.moves.length-1],o=i.x-this.info.x,r=i.y-this.info.y,a=void 0,s=0;n&&(a=i.x-n.x,s=i.y-n.y),Gn(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,dy:r,ddx:a,ddy:s,sourceEvent:t,hover:function(){return Un(t.clientX,t.clientY)}})}}),Zn({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},save:function(e){this.info.x=e.clientX,this.info.y=e.clientY},mousedown:function(e){Fn(e)&&this.save(e)},click:function(e){Fn(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[0],e)},touchend:function(e){this.forward(e.changedTouches[0],e)},forward:function(e,t){var n=Math.abs(e.clientX-this.info.x),i=Math.abs(e.clientY-this.info.y),o=Vn(t||e);o&&!o.disabled&&(isNaN(n)||isNaN(i)||n<=25&&i<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;var t=Vn(e);if(!t.nodeType||t.nodeType!==Node.ELEMENT_NODE)return!0;var n=t.getBoundingClientRect(),i=e.pageX,o=e.pageY;return!(i>=n.left&&i<=n.right&&o>=n.top&&o<=n.bottom)}return!1}(e))&&(this.info.prevent||Gn(o,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:t}))}});var ei=Vn,ti=Wn,ni=Yn,ii=function(){function e(e,t){for(var n=0;n-1&&ui.splice(e,1)}}}]),n}();return n.__activateDir=!1,n}),bi=!1,gi=[],_i=[];function wi(){bi=!0,requestAnimationFrame(function(){bi=!1,function(e){for(;e.length;)ki(e.shift())}(gi),setTimeout(function(){!function(e){for(var t=0,n=e.length;t0||n>0;)if(0!=t)if(0!=n){var r,a=e[t-1][n-1],s=e[t-1][n],l=e[t][n-1];(r=s0?ie.after(n):ae,t.bind(this))}},{key:"isDebouncerActive",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];return!(!t||!t.isActive())}},{key:"flushDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.flush()}},{key:"cancelDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.cancel()}},{key:"async",value:function(e,t){return t>0?ie.run(e.bind(this),t):~ae.run(e.bind(this))}},{key:"cancelAsync",value:function(e){e<0?ae.cancel(~e):ie.cancel(e)}},{key:"create",value:function(e,t){var n=document.createElement(e);if(t)if(n.setProperties)n.setProperties(t);else for(var i in t)n[i]=t[i];return n}},{key:"elementMatches",value:function(e,t){return qi(t||this,e)}},{key:"toggleAttribute",value:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.hasAttribute(e)),t?n.setAttribute(e,""):n.removeAttribute(e)}},{key:"toggleClass",value:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.classList.contains(e)),t?n.classList.add(e):n.classList.remove(e)}},{key:"transform",value:function(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e}},{key:"translate3d",value:function(e,t,n,i){i=i||this,this.transform("translate3d("+e+","+t+","+n+")",i)}},{key:"arrayDelete",value:function(e,t){var n=void 0;if(Array.isArray(e)){if((n=e.indexOf(t))>=0)return e.splice(n,1)}else if((n=V(this,e).indexOf(t))>=0)return this.splice(e,n,1);return null}},{key:"_logger",value:function(e,t){var n;switch(Array.isArray(t)&&1===t.length&&Array.isArray(t[0])&&(t=t[0]),e){case"log":case"warn":case"error":(n=console)[e].apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?t-1:0),i=1;i=0;o--){var r=t[o];r?Array.isArray(r)?e(r,n):n.indexOf(r)<0&&(!i||i.indexOf(r)<0)&&n.unshift(r):console.warn("behavior is null, check for missing or 404 import")}return n}(e,null,n),t),n&&(e=n.concat(e)),t.prototype.behaviors=e,t}function eo(e,t){var n=function(n){function i(){return function(e,t){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(i.__proto__||Object.getPrototypeOf(i)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,t),Xi(i,[{key:"created",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"created",this).call(this),e.created&&e.created.call(this)}},{key:"_registered",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_registered",this).call(this),e.beforeRegister&&e.beforeRegister.call(Object.getPrototypeOf(this)),e.registered&&e.registered.call(Object.getPrototypeOf(this))}},{key:"_applyListeners",value:function(){if(Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_applyListeners",this).call(this),e.listeners)for(var t in e.listeners)this._addMethodEventListenerToNode(this,t,e.listeners[t])}},{key:"_ensureAttributes",value:function(){if(e.hostAttributes)for(var t in e.hostAttributes)this._ensureAttribute(t,e.hostAttributes[t]);Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_ensureAttributes",this).call(this)}},{key:"ready",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"ready",this).call(this),e.ready&&e.ready.call(this)}},{key:"attached",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"attached",this).call(this),e.attached&&e.attached.call(this)}},{key:"detached",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"detached",this).call(this),e.detached&&e.detached.call(this)}},{key:"attributeChanged",value:function(t,n,o){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"attributeChanged",this).call(this,t,n,o),e.attributeChanged&&e.attributeChanged.call(this,t,n,o)}}],[{key:"properties",get:function(){return e.properties}},{key:"observers",get:function(){return e.observers}},{key:"template",get:function(){return e._template||D&&D.import(this.is,"template")||t.template||this.prototype._template||null}}]),i}();for(var i in n.generatedFrom=e,e)if(!(i in Ji)){var o=Object.getOwnPropertyDescriptor(e,i);o&&Object.defineProperty(n.prototype,i,o)}return n}var to=function e(t){var n;return n="function"==typeof t?t:e.Class(t),customElements.define(n.is,n),n};to.Class=function(e){e||console.warn("Polymer's Class function requires `info` argument");var t=eo(e,e.behaviors?Qi(e.behaviors,HTMLElement):Zi(HTMLElement));return t.is=e.is,t};var no=function(){function e(e,t){for(var n=0;n can only be templatized once");e.__templatizeOwner=t;var i=(t?t.constructor:_o)._parseTemplate(e),o=i.templatizeInstanceClass;o||(o=function(e,t,n){var i=n.mutableData?wo:_o,o=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,i),t}();return o.prototype.__templatizeOptions=n,o.prototype._bindTemplate(e),function(e,t,n,i){var o=n.hostProps||{};for(var r in i.instanceProps){delete o[r];var a=i.notifyInstanceProp;a&&e.prototype._addPropertyEffect(r,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:xo(0,a)})}if(i.forwardHostProp&&t.__dataHost)for(var s in o)e.prototype._addPropertyEffect(s,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:function(e,t,n){e.__dataHost._setPendingPropertyOrPath("_host_"+t,n[t],!0,!0)}})}(o,e,t,n),o}(e,i,n),i.templatizeInstanceClass=o),function(e,t,n){var i=n.forwardHostProp;if(i){var o=t.templatizeTemplateClass;if(!o){var r=n.mutableData?bo:vo;o=t.templatizeTemplateClass=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,r),t}();var a=t.hostProps;for(var s in a)o.prototype._addPropertyEffect("_host_"+s,o.prototype.PROPERTY_EFFECT_TYPES.PROPAGATE,{fn:ko(0,i)}),o.prototype._createNotifyingProperty("_host_"+s)}!function(e,t){mo=e,Object.setPrototypeOf(e,t.prototype),new t,mo=null}(e,o),e.__dataProto&&Object.assign(e.__data,e.__dataProto),e.__dataTemp={},e.__dataPending=null,e.__dataOld=null,e._enableProperties()}}(e,i,n);var r=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,o),t}();return r.prototype._methodHost=function(e){var t=e.__dataHost;return t&&t._methodHost||t}(e),r.prototype.__dataHost=e,r.prototype.__templatizeOwner=t,r.prototype.__hostProps=i.hostProps,r}var Co=function(){function e(e,t){for(var n=0;n child");n.disconnect(),e.render()});return void n.observe(this,{childList:!0})}this.root=this._stampTemplate(t),this.$=this.root.$,this.__children=[];for(var i=this.root.firstChild;i;i=i.nextSibling)this.__children[this.__children.length]=i;this._enableProperties()}this.__insertChildren(),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0}))}}]),t}();customElements.define("dom-bind",Po);var Eo=function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0},To=function(){function e(e,t){for(var n=0;n child");n.disconnect(),e.__render()});return n.observe(this,{childList:!0}),!1}var i={};i[this.as]=!0,i[this.indexAs]=!0,i[this.itemsIndexAs]=!0,this.__ctor=Oo(t,this,{mutableData:this.mutableData,parentModel:!0,instanceProps:i,forwardHostProp:function(e,t){for(var n,i=this.__instances,o=0;o1&&void 0!==arguments[1]?arguments[1]:0;this.__renderDebouncer=_n.debounce(this.__renderDebouncer,t>0?ie.after(t):ae,e.bind(this)),zi(this.__renderDebouncer)}},{key:"render",value:function(){this.__debounceRender(this.__render),Di()}},{key:"__render",value:function(){this.__ensureTemplatized()&&(this.__applyFullRefresh(),this.__pool.length=0,this._setRenderedItemCount(this.__instances.length),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0})),this.__tryRenderChunk())}},{key:"__applyFullRefresh",value:function(){for(var e=this,t=this.items||[],n=new Array(t.length),i=0;i=r;p--)this.__detachAndRemoveInstance(p)}},{key:"__detachInstance",value:function(e){for(var t=this.__instances[e],n=0;n child");i.disconnect(),e.__render()});return i.observe(this,{childList:!0}),!1}this.__ctor=Oo(n,this,{mutableData:!0,forwardHostProp:function(e,t){this.__instance&&(this.if?this.__instance.forwardHostProp(e,t):(this.__invalidProps=this.__invalidProps||Object.create(null),this.__invalidProps[M(e)]=!0))}})}if(this.__instance){this.__syncHostProperties();var o=this.__instance.children;if(o&&o.length&&this.previousSibling!==o[o.length-1])for(var r,a=0;a=o.index+o.removed.length?n.set(t,e+o.addedCount-o.removed.length):n.set(t,-1))});for(var r=0;r=0&&e.linkPaths("items."+n,"selected."+t++)})}else this.__selectedMap.forEach(function(t){e.linkPaths("selected","items."+t),e.linkPaths("selectedItem","items."+t)})}},{key:"clearSelection",value:function(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}},{key:"isSelected",value:function(e){return this.__selectedMap.has(e)}},{key:"isIndexSelected",value:function(e){return this.isSelected(this.items[e])}},{key:"__deselectChangedIdx",value:function(e){var t=this,n=this.__selectedIndexForItemIndex(e);if(n>=0){var i=0;this.__selectedMap.forEach(function(e,o){n==i++&&t.deselect(o)})}}},{key:"__selectedIndexForItemIndex",value:function(e){var t=this.__dataLinkedPaths["items."+e];if(t)return parseInt(t.slice("selected.".length),10)}},{key:"deselect",value:function(e){var t=this.__selectedMap.get(e);if(t>=0){this.__selectedMap.delete(e);var n=void 0;this.multi&&(n=this.__selectedIndexForItemIndex(t)),this.__updateLinks(),this.multi?this.splice("selected",n,1):this.selected=this.selectedItem=null}}},{key:"deselectIndex",value:function(e){this.deselect(this.items[e])}},{key:"select",value:function(e){this.selectIndex(this.items.indexOf(e))}},{key:"selectIndex",value:function(e){var t=this.items[e];this.isSelected(t)?this.toggle&&this.deselectIndex(e):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(t,e),this.__updateLinks(),this.multi?this.push("selected",t):this.selected=this.selectedItem=t)}}]),n}()})(mt),Bo=function(e){function t(){return No(this,t),Do(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return Fo(t,Mo),zo(t,null,[{key:"is",get:function(){return"array-selector"}}]),t}();customElements.define(Bo.is,Bo);var Ho=new hn;window.ShadyCSS||(window.ShadyCSS={prepareTemplate:function(e,t,n){},styleSubtree:function(e,t){Ho.processStyles(),Mt(e,t)},styleElement:function(e){Ho.processStyles()},styleDocument:function(e){Ho.processStyles(),Mt(document.body,e)},getComputedStyleValue:function(e,t){return Bt(e,t)},flushCustomStyles:function(){},nativeCss:gt,nativeShadow:yt}),window.ShadyCSS.CustomStyleInterface=Ho;var qo=function(){function e(e,t){for(var n=0;n0&&(u="/"+u),this.tail&&this.tail.prefix===p&&this.tail.path===u||(c.tail={prefix:p,path:u,__queryParams:this.route.__queryParams}),c.data=r,this._dataInUrl={},r)this._dataInUrl[d]=r[d];this.setProperties?this.setProperties(c,!0):this.__setMulti(c)}else this.__resetProperties()}},__tailPathChanged:function(e){if(this.active){var t=e,n=this._matched;t&&("/"!==t.charAt(0)&&(t="/"+t),n+=t),this.set("route.path",n)}},__updatePathOnDataChange:function(){if(this.route&&this.active){var e=this.__getLink({});e!==this.__getLink(this._dataInUrl)&&this.set("route.path",e)}},__getLink:function(e){var t={tail:null};for(var n in this.data)t[n]=this.data[n];for(var n in e)t[n]=e[n];var i=this.pattern.split("/").map(function(e){return":"==e[0]&&(e=t[e.slice(1)]),e},this);return t.tail&&t.tail.path&&(i.length>0&&"/"===t.tail.path.charAt(0)?i.push(t.tail.path.slice(1)):i.push(t.tail.path)),i.join("/")},__setMulti:function(e){for(var t in e)this._propertySetter(t,e[t]);void 0!==e.data&&(this._pathEffector("data",this.data),this._notifyChange("data")),void 0!==e.active&&(this._pathEffector("active",this.active),this._notifyChange("active")),void 0!==e.tail&&(this._pathEffector("tail",this.tail),this._notifyChange("tail"))}});var Ko=document.createElement("template");Ko.setAttribute("style","display: none;"),Ko.innerHTML='\n \n\n \n',document.head.appendChild(Ko.content);var Wo=document.createElement("style");Wo.textContent="[hidden] { display: none !important; }",document.head.appendChild(Wo);var Yo,Zo,Xo=(Yo=["\n \n\n \n"],Zo=["\n \n\n \n"],Object.freeze(Object.defineProperties(Yo,{raw:{value:Object.freeze(Zo)}})));to({_template:l(Xo),is:"app-toolbar"});var Go=document.createElement("template");Go.setAttribute("style","display: none;"),Go.innerHTML='\n \n\n \n\n \n\n \n\n \n',document.head.appendChild(Go.content);var Jo=document.createElement("template");Jo.setAttribute("style","display: none;"),Jo.innerHTML='\n \n',document.head.appendChild(Jo.content);var Qo={properties:{active:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"__activeChanged"},alt:{type:String,value:"loading",observer:"__altChanged"},__coolingDown:{type:Boolean,value:!1}},__computeContainerClasses:function(e,t){return[e||t?"active":"",t?"cooldown":""].join(" ")},__activeChanged:function(e,t){this.__setAriaHidden(!e),this.__coolingDown=!e&&t},__altChanged:function(e){"loading"===e?this.alt=this.getAttribute("aria-label")||e:(this.__setAriaHidden(""===e),this.setAttribute("aria-label",e))},__setAriaHidden:function(e){e?this.setAttribute("aria-hidden","true"):this.removeAttribute("aria-hidden")},__reset:function(){this.active=!1,this.__coolingDown=!1}},er=(n(7),document.createElement("template"));er.setAttribute("style","display: none;"),er.innerHTML='\n \n\n \n',document.head.appendChild(er.content),to({is:"paper-spinner",behaviors:[Qo]});var tr=function e(t){e[" "](t),this.type=t&&t.type||"default",this.key=t&&t.key,t&&"value"in t&&(this.value=t.value)};tr[" "]=function(){},tr.types={},tr.prototype={get value(){var e=this.type,t=this.key;if(e&&t)return tr.types[e]&&tr.types[e][t]},set value(e){var t=this.type,n=this.key;t&&n&&(t=tr.types[t]=tr.types[t]||{},null==e?delete t[n]:t[n]=e)},get list(){if(this.type){var e=tr.types[this.type];return e?Object.keys(e).map(function(e){return nr[this.type][e]},this):[]}},byKey:function(e){return this.key=e,this.value}};var nr=tr.types;to({is:"iron-meta",properties:{type:{type:String,value:"default"},key:{type:String},value:{type:String,notify:!0},self:{type:Boolean,observer:"_selfChanged"},__meta:{type:Boolean,computed:"__computeMeta(type, key, value)"}},hostAttributes:{hidden:!0},__computeMeta:function(e,t,n){var i=new tr({type:e,key:t});return void 0!==n&&n!==i.value?i.value=n:this.value!==i.value&&(this.value=i.value),i},get list(){return this.__meta&&this.__meta.list},_selfChanged:function(e){e&&(this.value=this)},byKey:function(e){return new tr({type:this.type,key:e}).value}});var ir=Object.freeze(Object.defineProperties(["\n \n"],{raw:{value:Object.freeze(["\n \n"])}}));to({_template:l(ir),is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:Vo.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Vi(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.removeIcon(this),this._img||(this._img=document.createElement("img"),this._img.style.width="100%",this._img.style.height="100%",this._img.draggable=!1),this._img.src=this.src,Vi(this.root).appendChild(this._img))}});var or={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},rr={8:"backspace",9:"tab",13:"enter",27:"esc",33:"pageup",34:"pagedown",35:"end",36:"home",32:"space",37:"left",38:"up",39:"right",40:"down",46:"del",106:"*"},ar={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},sr=/[a-z0-9*]/,lr=/U\+/,cr=/^arrow/,pr=/^space(bar)?/,ur=/^escape$/;function dr(e,t){var n="";if(e){var i=e.toLowerCase();" "===i||pr.test(i)?n="space":ur.test(i)?n="esc":1==i.length?t&&!sr.test(i)||(n=i):n=cr.test(i)?i.replace("arrow",""):"multiply"==i?"*":i}return n}function hr(e,t){return n=t,i=e.hasModifiers,(n.key?dr(n.key,i):n.detail&&n.detail.key?dr(n.detail.key,i):(r="",(o=n.keyIdentifier)&&(o in or?r=or[o]:lr.test(o)?(o=parseInt(o.replace("U+","0x"),16),r=String.fromCharCode(o).toLowerCase()):r=o.toLowerCase()),r||function(e){var t="";return Number(e)&&(t=e>=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112+1):e>=48&&e<=57?String(e-48):e>=96&&e<=105?String(e-96):rr[e]),t}(n.keyCode)||""))===e.key&&(!e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKey==!!e.metaKey);var n,i,o,r}function fr(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),i=n[0],o=n[1];return i in ar?(e[ar[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=o||"keydown"),e},{combo:e.split(":").shift()})}(e)})}var mr={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var n=fr(t),i=0;i\n :host {\n display: block;\n position: absolute;\n border-radius: inherit;\n overflow: hidden;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n /* See PolymerElements/paper-behaviors/issues/34. On non-Chrome browsers,\n * creating a node (with a position:absolute) in the middle of an event\n * handler "interrupts" that event handler (which happens when the\n * ripple is created on demand) */\n pointer-events: none;\n }\n\n :host([animating]) {\n /* This resolves a rendering issue in Chrome (as of 40) where the\n ripple is not properly clipped by its parent (which may have\n rounded corners). See: http://jsbin.com/temexa/4\n\n Note: We only apply this style conditionally. Otherwise, the browser\n will create a new compositing layer for every ripple element on the\n page, and that would be bad. */\n -webkit-transform: translate(0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n #background,\n #waves,\n .wave-container,\n .wave {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n #background,\n .wave {\n opacity: 0;\n }\n\n #waves,\n .wave {\n overflow: hidden;\n }\n\n .wave-container,\n .wave {\n border-radius: 50%;\n }\n\n :host(.circle) #background,\n :host(.circle) #waves {\n border-radius: 50%;\n }\n\n :host(.circle) .wave-container {\n overflow: hidden;\n }\n \n\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n
    \n'])}})),_r={distance:function(e,t,n,i){var o=e-n,r=t-i;return Math.sqrt(o*o+r*r)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function wr(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function kr(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Vi(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}wr.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var n=_r.distance(e,t,0,0),i=_r.distance(e,t,this.width,0),o=_r.distance(e,t,0,this.height),r=_r.distance(e,t,this.width,this.height);return Math.max(n,i,o,r)}},kr.MAX_RADIUS=300,kr.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=_r.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?_r.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),kr.MAX_RADIUS)+5,i=1.1-n/kr.MAX_RADIUS*.2,o=this.mouseInteractionSeconds/i,r=n*(1-Math.pow(80,-o));return Math.abs(r)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,kr.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,kr.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new wr(this.element)},draw:function(){var e,t,n;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,n=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+n+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+n+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(e){var t=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=_r.now(),this.center?(this.xStart=t,this.yStart=n,this.slideDistance=_r.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=e?e.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=e?e.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=t,this.yEnd=n,this.slideDistance=_r.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(e){this.isMouseDown&&(this.mouseUpStart=_r.now())},remove:function(){Vi(this.waveContainer.parentNode).removeChild(this.waveContainer)}},to({_template:l(gr),is:"paper-ripple",behaviors:[mr],properties:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Vi(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new kr(this);return Vi(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e\n .invisible {\n visibility: hidden;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),Ir=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ar(t,[{key:"computeMenuButtonClass",value:function(e,t){return!e&&t?"invisible":""}},{key:"toggleMenu",value:function(e){e.stopPropagation(),this.fire("hass-open-menu")}}],[{key:"template",get:function(){return l(jr)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-menu-button",Ir);var Rr=function(){function e(e,t){for(var n=0;n\n .placeholder {\n height: 100%;\n }\n\n .layout {\n height: calc(100% - 64px);\n }\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'])}})),zr=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Rr(t,null,[{key:"template",get:function(){return l(Lr)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}}}]),t}();customElements.define("hass-loading-screen",zr);var Nr={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this)},attached:function(){this._requestResizeNotifications()},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):window.removeEventListener("resize",this._boundNotifyResize),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable=e},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this.unlisten(e,"iron-resize","_onDescendantIronResize"))},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():y||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Vi(e).rootTarget;t!==this&&(-1===this._interestedResizables.indexOf(t)&&(this._interestedResizables.push(t),this.listen(t,"iron-resize","_onDescendantIronResize")),t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)},_requestResizeNotifications:function(){if(this.isAttached)if("loading"===document.readyState){var e=this._requestResizeNotifications.bind(this);document.addEventListener("readystatechange",function t(){document.removeEventListener("readystatechange",t),e()})}else this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable||(window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())}},Dr=[Nr,{listeners:{"app-reset-layout":"_appResetLayoutHandler","iron-resize":"resetLayout"},attached:function(){this.fire("app-reset-layout")},_appResetLayoutHandler:function(e){Vi(e).path[0]!==this&&(this.resetLayout(),e.stopPropagation())},_updateLayoutStates:function(){console.error("unimplemented")},resetLayout:function(){var e=this._updateLayoutStates.bind(this);o&&oe?(this._layoutDebouncer=_n.debounce(this._layoutDebouncer,oe,e),zi(this._layoutDebouncer)):this.debounce("resetLayout",e),this._notifyDescendantResize()},_notifyLayoutChanged:function(){var e=this;requestAnimationFrame(function(){e.fire("app-reset-layout")})},_notifyDescendantResize:function(){this.isAttached&&this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this)}}],Fr=Object.freeze(Object.defineProperties(['\n \n\n
    \n \n\n
    \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n\n
    \n \n
    \n
    \n'])}}));to({_template:l(Fr),is:"app-header-layout",behaviors:[Dr],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Vi(this.$.headerSlot).getDistributedNodes()[0]},_updateLayoutStates:function(){var e=this.header;if(this.isAttached&&e){this.$.wrapper.classList.remove("initializing"),e.scrollTarget=this.hasScrollingRegion?this.$.contentContainer:this.ownerDocument.documentElement;var t=e.offsetHeight;this.hasScrollingRegion?(e.style.left="",e.style.right=""):requestAnimationFrame(function(){var t=this.getBoundingClientRect(),n=document.documentElement.clientWidth-t.right;e.style.left=t.left+"px",e.style.right=n+"px"}.bind(this));var n=this.$.contentContainer.style;e.fixed&&!e.condenses&&this.hasScrollingRegion?(n.marginTop=t+"px",n.paddingTop=""):(n.paddingTop=t+"px",n.marginTop="")}}});var Mr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Br={},Hr=[{properties:{scrollTarget:{type:HTMLElement,value:function(){return this._defaultScrollTarget}}},observers:["_scrollTargetChanged(scrollTarget, isAttached)"],_shouldHaveListener:!0,_scrollTargetChanged:function(e,t){if(this._oldScrollTarget&&(this._toggleScrollListener(!1,this._oldScrollTarget),this._oldScrollTarget=null),t)if("document"===e)this.scrollTarget=this._doc;else if("string"==typeof e){var n=this.domHost;this.scrollTarget=n&&n.$?n.$[e]:Vi(this.ownerDocument).querySelector("#"+e)}else this._isValidScrollTarget()&&(this._oldScrollTarget=e,this._toggleScrollListener(this._shouldHaveListener,e))},_scrollHandler:function(){},get _defaultScrollTarget(){return this._doc},get _doc(){return this.ownerDocument.documentElement},get _scrollTop(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageYOffset:this.scrollTarget.scrollTop:0},get _scrollLeft(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageXOffset:this.scrollTarget.scrollLeft:0},set _scrollTop(e){this.scrollTarget===this._doc?window.scrollTo(window.pageXOffset,e):this._isValidScrollTarget()&&(this.scrollTarget.scrollTop=e)},set _scrollLeft(e){this.scrollTarget===this._doc?window.scrollTo(e,window.pageYOffset):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=e)},scroll:function(e,t){var n;"object"===(void 0===e?"undefined":Mr(e))?(n=e.left,t=e.top):n=e,n=n||0,t=t||0,this.scrollTarget===this._doc?window.scrollTo(n,t):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=n,this.scrollTarget.scrollTop=t)},get _scrollTargetWidth(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerWidth:this.scrollTarget.offsetWidth:0},get _scrollTargetHeight(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerHeight:this.scrollTarget.offsetHeight:0},_isValidScrollTarget:function(){return this.scrollTarget instanceof HTMLElement},_toggleScrollListener:function(e,t){var n=t===this._doc?window:t;e?this._boundScrollHandler||(this._boundScrollHandler=this._scrollHandler.bind(this),n.addEventListener("scroll",this._boundScrollHandler)):this._boundScrollHandler&&(n.removeEventListener("scroll",this._boundScrollHandler),this._boundScrollHandler=null)},toggleScrollListener:function(e){this._shouldHaveListener=e,this._toggleScrollListener(e,this.scrollTarget)}},{properties:{effects:{type:String},effectsConfig:{type:Object,value:function(){return{}}},disabled:{type:Boolean,reflectToAttribute:!0,value:!1},threshold:{type:Number,value:0},thresholdTriggered:{type:Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_effectsChanged(effects, effectsConfig, isAttached)"],_updateScrollState:function(e){},isOnScreen:function(){return!1},isContentBelow:function(){return!1},_effectsRunFn:null,_effects:null,get _clampedScrollTop(){return Math.max(0,this._scrollTop)},detached:function(){this._tearDownEffects()},createEffect:function(e,t){var n=Br[e];if(!n)throw new ReferenceError(this._getUndefinedMsg(e));var i=this._boundEffect(n,t||{});return i.setUp(),i},_effectsChanged:function(e,t,n){this._tearDownEffects(),e&&n&&(e.split(" ").forEach(function(e){var n;""!==e&&((n=Br[e])?this._effects.push(this._boundEffect(n,t[e])):console.warn(this._getUndefinedMsg(e)))},this),this._setUpEffect())},_layoutIfDirty:function(){return this.offsetWidth},_boundEffect:function(e,t){t=t||{};var n=parseFloat(t.startsAt||0),i=parseFloat(t.endsAt||1),o=i-n,r=function(){},a=0===n&&1===i?e.run:function(t,i){e.run.call(this,Math.max(0,(t-n)/o),i)};return{setUp:e.setUp?e.setUp.bind(this,t):r,run:e.run?a.bind(this):r,tearDown:e.tearDown?e.tearDown.bind(this):r}},_setUpEffect:function(){this.isAttached&&this._effects&&(this._effectsRunFn=[],this._effects.forEach(function(e){!1!==e.setUp()&&this._effectsRunFn.push(e.run)},this))},_tearDownEffects:function(){this._effects&&this._effects.forEach(function(e){e.tearDown()}),this._effectsRunFn=[],this._effects=[]},_runEffects:function(e,t){this._effectsRunFn&&this._effectsRunFn.forEach(function(n){n(e,t)})},_scrollHandler:function(){if(!this.disabled){var e=this._clampedScrollTop;this._updateScrollState(e),this.threshold>0&&this._setThresholdTriggered(e>=this.threshold)}},_getDOMRef:function(e){console.warn("_getDOMRef","`"+e+"` is undefined")},_getUndefinedMsg:function(e){return"Scroll effect `"+e+"` is undefined. Did you forget to import app-layout/app-scroll-effects/effects/"+e+".html ?"}}],qr=Object.freeze(Object.defineProperties(['\n \n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n
    \n'])}}));to({_template:l(qr),is:"app-header",behaviors:[Hr,Dr],properties:{condenses:{type:Boolean,value:!1},fixed:{type:Boolean,value:!1},reveals:{type:Boolean,value:!1},shadow:{type:Boolean,reflectToAttribute:!0,value:!1}},observers:["_configChanged(isAttached, condenses, fixed)"],_height:0,_dHeight:0,_stickyElTop:0,_stickyElRef:null,_top:0,_progress:0,_wasScrollingDown:!1,_initScrollTop:0,_initTimestamp:0,_lastTimestamp:0,_lastScrollTop:0,get _maxHeaderTop(){return this.fixed?this._dHeight:this._height+5},get _stickyEl(){if(this._stickyElRef)return this._stickyElRef;for(var e,t=Vi(this.$.slot).getDistributedNodes(),n=0;e=t[n];n++)if(e.nodeType===Node.ELEMENT_NODE){if(e.hasAttribute("sticky")){this._stickyElRef=e;break}this._stickyElRef||(this._stickyElRef=e)}return this._stickyElRef},_configChanged:function(){this.resetLayout(),this._notifyLayoutChanged()},_updateLayoutStates:function(){if(0!==this.offsetWidth||0!==this.offsetHeight){var e=this._clampedScrollTop,t=0===this._height||0===e,n=this.disabled;this._height=this.offsetHeight,this._stickyElRef=null,this.disabled=!0,t||this._updateScrollState(0,!0),this._mayMove()?this._dHeight=this._stickyEl?this._height-this._stickyEl.offsetHeight:0:this._dHeight=0,this._stickyElTop=this._stickyEl?this._stickyEl.offsetTop:0,this._setUpEffect(),t?this._updateScrollState(e,!0):(this._updateScrollState(this._lastScrollTop,!0),this._layoutIfDirty()),this.disabled=n}},_updateScrollState:function(e,t){if(0!==this._height){var n,i=0,o=this._top,r=(this._lastScrollTop,this._maxHeaderTop),a=e-this._lastScrollTop,s=Math.abs(a),l=e>this._lastScrollTop,c=performance.now();if(this._mayMove()&&(i=this._clamp(this.reveals?o+a:e,0,r)),e>=this._dHeight&&(i=this.condenses&&!this.fixed?Math.max(this._dHeight,i):i,this.style.transitionDuration="0ms"),this.reveals&&!this.disabled&&s<100&&((c-this._initTimestamp>300||this._wasScrollingDown!==l)&&(this._initScrollTop=e,this._initTimestamp=c),e>=r))if(Math.abs(this._initScrollTop-e)>30||s>10){l&&e>=r?i=r:!l&&e>=this._dHeight&&(i=this.condenses&&!this.fixed?this._dHeight:0);var p=a/(c-this._lastTimestamp);this.style.transitionDuration=this._clamp((i-o)/p,0,300)+"ms"}else i=this._top;n=0===this._dHeight?e>0?1:0:i/this._dHeight,t||(this._lastScrollTop=e,this._top=i,this._wasScrollingDown=l,this._lastTimestamp=c),(t||n!==this._progress||o!==i||0===e)&&(this._progress=n,this._runEffects(n,i),this._transformHeader(i))}},_mayMove:function(){return this.condenses||!this.fixed},willCondense:function(){return this._dHeight>0&&this.condenses},isOnScreen:function(){return 0!==this._height&&this._top0:this._clampedScrollTop-this._maxHeaderTop>=0},_transformHeader:function(e){this.translate3d(0,-e+"px",0),this._stickyEl&&this.translate3d(0,this.condenses&&e>=this._stickyElTop?Math.min(e,this._dHeight)-this._stickyElTop+"px":0,0,this._stickyEl)},_clamp:function(e,t,n){return Math.min(n,Math.max(t,e))},_ensureBgContainers:function(){this._bgContainer||(this._bgContainer=document.createElement("div"),this._bgContainer.id="background",this._bgRear=document.createElement("div"),this._bgRear.id="backgroundRearLayer",this._bgContainer.appendChild(this._bgRear),this._bgFront=document.createElement("div"),this._bgFront.id="backgroundFrontLayer",this._bgContainer.appendChild(this._bgFront),Vi(this.root).insertBefore(this._bgContainer,this.$.contentContainer))},_getDOMRef:function(e){switch(e){case"backgroundFrontLayer":return this._ensureBgContainers(),this._bgFront;case"backgroundRearLayer":return this._ensureBgContainers(),this._bgRear;case"background":return this._ensureBgContainers(),this._bgContainer;case"mainTitle":return Vi(this).querySelector("[main-title]");case"condensedTitle":return Vi(this).querySelector("[condensed-title]")}return null},getScrollState:function(){return{progress:this._progress,top:this._top}}});var $r=document.createElement("template");$r.setAttribute("style","display: none;"),$r.innerHTML='\n \n',document.head.appendChild($r.content),n(6);var Ur=document.createElement("template");Ur.setAttribute("style","display: none;"),Ur.innerHTML="\n \n",document.head.appendChild(Ur.content);var Vr=document.createElement("template");Vr.setAttribute("style","display: none;"),Vr.innerHTML='\n \n\n \n\n \n\n \n',document.head.appendChild(Vr.content);var Kr={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Vi(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},get __shouldPosition(){return(this.horizontalAlign||this.verticalAlign)&&("center"!==this.horizontalAlign||"middle"!==this.verticalAlign)},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):(window.ShadyDOM&&ShadyDOM.flush(),this.fit()))},detached:function(){this.__deferredFit&&(clearTimeout(this.__deferredFit),this.__deferredFit=null)},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"",position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.__shouldPosition){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),n=this.__getNormalizedRect(this.fitInto),i=this._fitInfo.margin,o={width:e.width+i.left+i.right,height:e.height+i.top+i.bottom},r=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,o,e,t,n),a=r.left+i.left,s=r.top+i.top,l=Math.min(n.right-i.right,a+e.width),c=Math.min(n.bottom-i.bottom,s+e.height);a=Math.max(n.left+i.left,Math.min(a,l-this._fitInfo.sizedBy.minWidth)),s=Math.max(n.top+i.top,Math.min(s,c-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(l-a,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(c-s,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=a-e.left+"px",this.style.top=s-e.top+"px"}},constrain:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,n,i,o){this.__sizeDimension(e,t,n,i,o)},__sizeDimension:function(e,t,n,i,o){var r=this._fitInfo,a=this.__getNormalizedRect(this.fitInto),s="Width"===o?a.width:a.height,l=t===i,c=l?s-e[i]:e[n],p=r.margin[l?n:i],u="offset"+o,d=this[u]-this.sizingTarget[u];this.sizingTarget.style["max"+o]=s-p-c-d+"px"},center:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),n=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var i=n.top-t.top+(n.height-t.height)/2;this.style.top=i+"px"}if(!e.horizontally){var o=n.left-t.left+(n.width-t.width)/2;this.style.left=o+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getOffscreenArea:function(e,t,n){var i=Math.min(0,e.top)+Math.min(0,n.bottom-(e.top+t.height)),o=Math.min(0,e.left)+Math.min(0,n.right-(e.left+t.width));return Math.abs(i)*t.width+Math.abs(o)*t.height},__getPosition:function(e,t,n,i,o,r){var a,s=[{verticalAlign:"top",horizontalAlign:"left",top:o.top+this.verticalOffset,left:o.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:o.top+this.verticalOffset,left:o.right-n.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:o.bottom-n.height-this.verticalOffset,left:o.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:o.bottom-n.height-this.verticalOffset,left:o.right-n.width-this.horizontalOffset}];if(this.noOverlap){for(var l=0,c=s.length;l\n :host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--iron-overlay-backdrop-background-color, #000);\n opacity: 0;\n transition: opacity 0.2s;\n pointer-events: none;\n @apply --iron-overlay-backdrop;\n }\n\n :host(.opened) {\n opacity: var(--iron-overlay-backdrop-opacity, 0.6);\n pointer-events: auto;\n @apply --iron-overlay-backdrop-opened;\n }\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Wr),is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Vi(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Vi(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}});var Yr=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,ti(document.documentElement,"tap",function(){}),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)};Yr.prototype={constructor:Yr,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){var e=document.activeElement;for(e&&e instanceof Element!=0||(e=document.body);e.root&&Vi(e.root).activeElement;)e=Vi(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var n=this._overlays.length-1,i=this._overlays[n];if(i&&this._shouldBeBehindOverlay(t,i)&&n--,!(e>=n)){var o=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=o&&this._applyOverlayZ(t,o);e=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var n=this._overlays.length,i=this._overlays[n-1],o=Math.max(this._getZ(i),this._minimumZ),r=this._getZ(e);if(i&&this._shouldBeBehindOverlay(e,i)){this._applyOverlayZ(i,o),n--;var a=this._overlays[n-1];o=Math.max(this._getZ(a),this._minimumZ)}r<=o&&this._applyOverlayZ(e,o),this._overlays.splice(n,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e,this.backdropElement.prepare())},getBackdrops:function(){for(var e=[],t=0;t=0;e--)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var n=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);n==n&&(t=n)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t0;o>=0&&t.push(i),n="content"===i.localName||"slot"===i.localName?Vi(i).getDistributedNodes():Vi(i.root||i).children;for(var a=0;a0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?n.push(t.shift()):n.push(e.shift());return n.concat(e,t)},_hasLowerTabOrder:function(e,t){var n=Math.max(e.tabIndex,0),i=Math.max(t.tabIndex,0);return 0===n||0===i?i>n:n>i}},aa={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},allowClickThrough:{type:Boolean},alwaysOnTop:{type:Boolean},scrollAction:{type:String},_manager:{type:Object,value:Gr},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},observers:["__updateScrollObservers(isAttached, opened, scrollAction)"],get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Vi(this).querySelector("[autofocus]")||this},get _focusableNodes(){return ra.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__rafs={},this.__restoreFocusNode=null,this.__scrollTop=this.__scrollLeft=null,this.__onCaptureScroll=this.__onCaptureScroll.bind(this),this.__rootNodes=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Vi(this).observeNodes(this._onNodesChange)},detached:function(){for(var e in Vi(this).unobserveNodes(this._observer),this._observer=null,this.__rafs)null!==this.__rafs[e]&&cancelAnimationFrame(this.__rafs[e]);this.__rafs={},this._manager.removeOverlay(this),this.__isAnimating&&(this.opened?this._finishRenderOpened():(this._applyFocus(),this._finishRenderClosed()))},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).defaultPrevented||(this._setCanceled(!0),this.opened=!1)},invalidateTabbables:function(){this.__firstFocusableNode=this.__lastFocusableNode=null},_ensureSetup:function(){this._overlaySetup||(this._overlaySetup=!0,this.style.outline="none",this.style.display="none")},_openedChanged:function(e){e?this.removeAttribute("aria-hidden"):this.setAttribute("aria-hidden","true"),this.isAttached&&(this.__isAnimating=!0,this.__deraf("__openedChanged",this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-closed",this.closingReason)},_preparePositioning:function(){this.style.transition=this.style.webkitTransition="none",this.style.transform=this.style.webkitTransform="none",this.style.display=""},_finishPositioning:function(){this.style.display="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{if(this.restoreFocusOnClose&&this.__restoreFocusNode){var e=this._manager.deepActiveElement;(e===document.body||Vi(this).deepContains(e))&&this.__restoreFocusNode.focus()}this.__restoreFocusNode=null,this._focusNode.blur(),this._focusedChild=null}},_onCaptureClick:function(e){this.noCancelOnOutsideClick||this.cancel(e)},_onCaptureFocus:function(e){if(this.withBackdrop){var t=Vi(e).path;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,n=t?this.__firstFocusableNode:this.__lastFocusableNode,i=t?this.__lastFocusableNode:this.__firstFocusableNode,o=!1;if(n===i)o=!0;else{var r=this._manager.deepActiveElement;o=r===n||r===this}o&&(e.preventDefault(),this._focusedChild=i,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__deraf("refit",this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__deraf:function(e,t){var n=this.__rafs;null!==n[e]&&cancelAnimationFrame(n[e]),n[e]=requestAnimationFrame(function(){n[e]=null,t.call(this)}.bind(this))},__updateScrollObservers:function(e,t,n){var i;e&&t&&this.__isValidScrollAction(n)?("lock"===n&&(this.__saveScrollPosition(),i=this,na.indexOf(i)>=0||(0===na.length&&function(){Zr=Zr||function(e){if(e.cancelable&&function(e){var t=Vi(e).rootTarget;if("touchmove"!==e.type&&Qr!==t&&(Qr=t,ea=function(e){for(var t=[],n=e.indexOf(Xr),i=0;i<=n;i++)if(e[i].nodeType===Node.ELEMENT_NODE){var o=e[i],r=o.style;"scroll"!==r.overflow&&"auto"!==r.overflow&&(r=window.getComputedStyle(o)),"scroll"!==r.overflow&&"auto"!==r.overflow||t.push(o)}return t}(Vi(e).path)),!ea.length)return!0;if("touchstart"===e.type)return!1;var n=function(e){var t={deltaX:e.deltaX,deltaY:e.deltaY};if("deltaX"in e);else if("wheelDeltaX"in e&&"wheelDeltaY"in e)t.deltaX=-e.wheelDeltaX,t.deltaY=-e.wheelDeltaY;else if("wheelDelta"in e)t.deltaX=0,t.deltaY=-e.wheelDelta;else if("axis"in e)t.deltaX=1===e.axis?e.detail:0,t.deltaY=2===e.axis?e.detail:0;else if(e.targetTouches){var n=e.targetTouches[0];t.deltaX=Jr.pageX-n.pageX,t.deltaY=Jr.pageY-n.pageY}return t}(e);return!function(e,t,n){if(t||n)for(var i=Math.abs(n)>=Math.abs(t),o=0;o0:r.scrollTop0:r.scrollLeft=0))switch(this.scrollAction){case"lock":this.__restoreScrollPosition();break;case"refit":this.__deraf("refit",this.refit);break;case"cancel":this.cancel(e)}},__saveScrollPosition:function(){document.scrollingElement?(this.__scrollTop=document.scrollingElement.scrollTop,this.__scrollLeft=document.scrollingElement.scrollLeft):(this.__scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this.__scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},__restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this.__scrollTop,document.scrollingElement.scrollLeft=this.__scrollLeft):(document.documentElement.scrollTop=document.body.scrollTop=this.__scrollTop,document.documentElement.scrollLeft=document.body.scrollLeft=this.__scrollLeft)}},sa=[Kr,Nr,aa],la={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1},__readied:{type:Boolean,value:!1}},observers:["_modalChanged(modal, __readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.__readied=!0},_modalChanged:function(e,t){t&&(e?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(e){this.closingReason=this.closingReason||{},this.closingReason.confirmed=e},_onDialogClick:function(e){for(var t=Vi(e).path,n=0,i=t.indexOf(this);n\n\n :host {\n display: block;\n @apply --layout-relative;\n }\n\n :host(.is-scrolled:not(:first-child))::before {\n content: \'\';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n :host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after {\n content: \'\';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n .scrollable {\n padding: 0 24px;\n\n @apply --layout-scroll;\n @apply --paper-dialog-scrollable;\n }\n\n .fit {\n @apply --layout-fit;\n }\n \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n'])}}));to({_template:l(pa),is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget(),this.classList.add("no-padding")},attached:function(){this._ensureTarget(),requestAnimationFrame(this.updateScrollState.bind(this))},updateScrollState:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||this.parentElement,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(la)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}});var ua=[{properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var n in t)e[n]=t[n]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,n){var i;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(i=e?this.animationConfig[e]:this.animationConfig,Array.isArray(i)||(i=[i]),i)for(var o,r=0;o=i[r];r++)if(o.animatable)o.animatable._getAnimationConfigRecursive(o.type||e,t,n);else if(o.id){var a=t[o.id];a?(a.isClone||(t[o.id]=this._cloneConfig(a),a=t[o.id]),this._copyProperties(a,o)):t[o.id]=o}else n.push(o)},getAnimationConfig:function(e){var t={},n=[];for(var i in this._getAnimationConfigRecursive(e,t,n),t)n.push(t[i]);return n}},{_configureAnimations:function(e){var t=[],n=[];if(e.length>0)for(var i=0;s=e[i];i++){var o=document.createElement(s.name);if(o.isNeonAnimation){var r=null;o.configure||(o.configure=function(e){return null}),r=o.configure(s),n.push({result:r,config:s})}else console.warn(this.is+":",s.name,"not found!")}for(var a=0;a\n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(ha),is:"paper-dialog",behaviors:[ca,ua],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}});var fa=function(){function e(e,t){for(var n=0;n\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n }\n paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'])}})),ga=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),va(t,[{key:"openDialog",value:function(){this.$.dialog.open()}}],[{key:"template",get:function(){return l(ba)}},{key:"properties",get:function(){return{title:String,content:String}}}]),t}();customElements.define("hassio-markdown-dialog",ga),n(5);var _a={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){vr._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){vr._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},wa=[br,yr,xr,_a],ka=document.createElement("template");ka.setAttribute("style","display: none;"),ka.innerHTML='\n \n',document.head.appendChild(ka.content);var xa=document.createElement("template");xa.setAttribute("style","display: none;"),xa.innerHTML='\n \n\n \n',document.head.appendChild(xa.content),to({is:"paper-button",behaviors:[wa],properties:{raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){this.raised?_a._calculateElevation.apply(this):this._setElevation(0)}});var Oa=Object.freeze(Object.defineProperties(['\n \n\n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n \n \n \n
    \n'])}}));to({_template:l(Oa),is:"iron-image",properties:{src:{type:String,value:""},alt:{type:String,value:null},crossorigin:{type:String,value:null},preventLoad:{type:Boolean,value:!1},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)","_loadStateObserver(src, preventLoad)"],created:function(){this._resolvedSrc=""},_imgOnLoad:function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))},_imgOnError:function(){this.$.img.src===this._resolveSrc(this.src)&&(this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!0))},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){return null!==this.alt?this.alt:""===this.src?"":this._resolveSrc(this.src).replace(/[?|#].*/g,"").split("/").pop()},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_loadStateObserver:function(e,t){var n=this._resolveSrc(e);n!==this._resolvedSrc&&(this._resolvedSrc="",this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",""===e||t?(this._setLoading(!1),this._setLoaded(!1),this._setError(!1)):(this._resolvedSrc=n,this.$.img.src=this._resolvedSrc,this.$.sizedImgDiv.style.backgroundImage='url("'+this._resolvedSrc+'")',this._setLoading(!0),this._setLoaded(!1),this._setError(!1)))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=h(e,this.$.baseURIAnchor.href);return"/"===t[0]&&(t=(location.origin||location.protocol+"//"+location.host)+t),t}});var Ca=Object.freeze(Object.defineProperties(['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n'])}}));to({_template:l(Ca),is:"paper-card",properties:{heading:{type:String,value:"",observer:"_headingChanged"},image:{type:String,value:""},alt:{type:String},preloadImage:{type:Boolean,value:!1},fadeImage:{type:Boolean,value:!1},placeholderImage:{type:String,value:null},elevation:{type:Number,value:1,reflectToAttribute:!0},animatedShadow:{type:Boolean,value:!1},animated:{type:Boolean,reflectToAttribute:!0,readOnly:!0,computed:"_computeAnimated(animatedShadow)"}},_isHidden:function(e){return e?"false":"true"},_headingChanged:function(e){var t=this.getAttribute("heading"),n=this.getAttribute("aria-label");"string"==typeof n&&n!==t||this.setAttribute("aria-label",e)},_computeHeadingClass:function(e){return e?" over-image":""},_computeAnimated:function(e){return e}});var Sa={properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boolean,value:!1},_parentForm:{type:Object}},attached:function(){mt||this.fire("iron-form-element-register")},detached:function(){!mt&&this._parentForm&&this._parentForm.fire("iron-form-element-unregister",{target:this})}},Pa=null,Ea={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1,observer:"_invalidChanged"}},registered:function(){Pa=new tr({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},get _validator(){return Pa&&Pa.byKey(this.validator)},hasValidator:function(){return null!=this._validator},validate:function(e){return void 0===e&&void 0!==this.value?this.invalid=!this._getValidity(this.value):this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)}},Ta=Object.freeze(Object.defineProperties(['\n \n
    [[_text]]
    \n'],{raw:{value:Object.freeze(['\n \n
    [[_text]]
    \n'])}})),Aa=to({_template:l(Ta),is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){Aa.instance||(Aa.instance=this),document.body.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async(function(){this._text=e},100)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}});Aa.instance=null,Aa.requestAvailability=function(){Aa.instance||(Aa.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(Aa.instance)};var ja=Object.freeze(Object.defineProperties(['\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(ja),is:"iron-input",behaviors:[Ea],properties:{bindValue:{type:String,value:""},value:{type:String,computed:"_computeValue(bindValue)"},allowedPattern:{type:String},autoValidate:{type:Boolean,value:!1},_inputElement:Object},observers:["_bindValueChanged(bindValue, _inputElement)"],listeners:{input:"_onInput",keypress:"_onKeypress"},created:function(){Aa.requestAvailability(),this._previousValidInput="",this._patternAlreadyChecked=!1},attached:function(){this._observer=Vi(this).observeNodes(function(e){this._initSlottedInput()}.bind(this))},detached:function(){this._observer&&(Vi(this).unobserveNodes(this._observer),this._observer=null)},get inputElement(){return this._inputElement},_initSlottedInput:function(){this._inputElement=this.getEffectiveChildren()[0],this.inputElement&&this.inputElement.value&&(this.bindValue=this.inputElement.value),this.fire("iron-input-ready")},get _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else switch(this.inputElement.type){case"number":e=/[0-9.,e-]/}return e},_bindValueChanged:function(e,t){t&&(void 0===e?t.value=null:e!==t.value&&(this.inputElement.value=e),this.autoValidate&&this.validate(),this.fire("bind-value-changed",{value:e}))},_onInput:function(){this.allowedPattern&&!this._patternAlreadyChecked&&(this._checkPatternValidity()||(this._announceInvalidCharacter("Invalid string of characters not entered."),this.inputElement.value=this._previousValidInput)),this.bindValue=this._previousValidInput=this.inputElement.value,this._patternAlreadyChecked=!1},_isPrintable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,n=19==e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode||145==e.keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return!(t||0==e.charCode&&n)},_onKeypress:function(e){if(this.allowedPattern||"number"===this.inputElement.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){this._patternAlreadyChecked=!0;var n=String.fromCharCode(e.charCode);this._isPrintable(e)&&!t.test(n)&&(e.preventDefault(),this._announceInvalidCharacter("Invalid character "+n+" not entered."))}}},_checkPatternValidity:function(){var e=this._patternRegExp;if(!e)return!0;for(var t=0;t\n :host {\n display: inline-block;\n float: right;\n\n @apply --paper-font-caption;\n @apply --paper-input-char-counter;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n :host(:dir(rtl)) {\n float: left;\n }\n \n\n [[_charCounterStr]]\n"],{raw:{value:Object.freeze(["\n \n\n [[_charCounterStr]]\n"])}}));to({_template:l(Na),is:"paper-input-char-counter",behaviors:[za],properties:{_charCounterStr:{type:String,value:"0"}},update:function(e){if(e.inputElement){e.value=e.value||"";var t=e.value.toString().length.toString();e.inputElement.hasAttribute("maxlength")&&(t+="/"+e.inputElement.getAttribute("maxlength")),this._charCounterStr=t}}});var Da=Object.freeze(Object.defineProperties(['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n'])}})),Fa=document.createElement("template");Fa.setAttribute("style","display: none;"),Fa.innerHTML='\n \n',document.head.appendChild(Fa.content),to({_template:l(Da),is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,iron-input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return X(this.attrForValue)},get _inputElement(){return Vi(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[this._propertyForValue]||this._inputElement.value},ready:function(){this.__isFirstValueUpdate=!0,this._addons||(this._addons=[]),this.addEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this._boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),this._inputElementValue&&""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(e){this._addons||(this._addons=[]);var t=e.target;-1===this._addons.indexOf(t)&&(this._addons.push(t),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(e){this._handleValueAndAutoValidate(e.target)},_onValueChanged:function(e){var t=e.target;this.__isFirstValueUpdate&&(this.__isFirstValueUpdate=!1,void 0===t.value)||this._handleValueAndAutoValidate(e.target)},_handleValue:function(e){var t=this._inputElementValue;t||0===t||"number"===e.type&&!e.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:e,value:t,invalid:this.invalid})},_handleValueAndAutoValidate:function(e){var t;this.autoValidate&&e&&(t=e.validate?e.validate(this._inputElementValue):e.checkValidity(),this.invalid=!t),this._handleValue(e)},_onIronInputValidate:function(e){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(e){for(var t,n=0;t=this._addons[n];n++)t.update(e)},_computeInputContentClass:function(e,t,n,i,o){var r="input-content";if(e)o&&(r+=" label-is-hidden"),i&&(r+=" is-invalid");else{var a=this.querySelector("label");t||o?(r+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",i?r+=" is-invalid":n&&(r+=" label-is-highlighted")):(a&&(this.$.labelAndInputContainer.style.position="relative"),i&&(r+=" is-invalid"))}return n&&(r+=" focused"),r},_computeUnderlineClass:function(e,t){var n="underline";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n},_computeAddOnContentClass:function(e,t){var n="add-on-content";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n}});var Ma=Object.freeze(Object.defineProperties(["\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Ma),is:"paper-input-error",behaviors:[za],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}});var Ba=document.createElement("template");Ba.setAttribute("style","display: none;"),Ba.innerHTML='\n \n\n \x3c!-- This is a fresh new hell to make this element hybrid. Basically, in 2.0\n we lost is=, so the example same template can\'t be used with iron-input 1.0 and 2.0.\n Expect some conditional code (especially in the tests).\n --\x3e\n \n\n \n\n',document.head.appendChild(Ba.content),to({is:"paper-input",behaviors:[La,Sa],properties:{value:{type:String}},beforeRegister:function(){var e="function"==typeof document.createElement("iron-input")._initSlottedInput?"v1":"v0",t=D.import("paper-input","template"),n=D.import("paper-input","template#"+e),i=t.content.querySelector("#template-placeholder");i&&i.parentNode.replaceChild(n.content,i)},get _focusableElement(){return mt?this.inputElement._inputElement:this.inputElement},listeners:{"iron-input-ready":"_onIronInputReady"},_onIronInputReady:function(){this.$.nativeInput||(this.$.nativeInput=this.$$("input")),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.$.nativeInput.type)&&(this.alwaysFloatLabel=!0),this.inputElement.bindValue&&this.$.container._handleValueAndAutoValidate(this.inputElement)}});var Ha=Object.freeze(Object.defineProperties(['\n \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n'])}}));to({_template:l(Ha),is:"iron-dropdown",behaviors:[yr,mr,sa,ua],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1,observer:"_allowOutsideScrollChanged"}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n :host {\n display: inline-block;\n position: relative;\n padding: 8px;\n outline: none;\n\n @apply --paper-menu-button;\n }\n\n :host([disabled]) {\n cursor: auto;\n color: var(--disabled-text-color);\n\n @apply --paper-menu-button-disabled;\n }\n\n iron-dropdown {\n @apply --paper-menu-button-dropdown;\n }\n\n .dropdown-content {\n @apply --shadow-elevation-2dp;\n\n position: relative;\n border-radius: 2px;\n background-color: var(--paper-menu-button-dropdown-background, var(--primary-background-color));\n\n @apply --paper-menu-button-content;\n }\n\n :host([vertical-align="top"]) .dropdown-content {\n margin-bottom: 20px;\n margin-top: -10px;\n top: 10px;\n }\n\n :host([vertical-align="bottom"]) .dropdown-content {\n bottom: 10px;\n margin-bottom: -10px;\n margin-top: 20px;\n }\n\n #trigger {\n cursor: pointer;\n }\n \n\n
    \n \n
    \n\n \n \n \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n\n \n \n \n'])}})),Ua={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},Va=to({_template:l($a),is:"paper-menu-button",behaviors:[mr,yr],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:Ua.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:Ua.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:Ua.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t-1&&e.preventDefault()}});Object.keys(Ua).forEach(function(e){Va[e]=Ua[e]}),to({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!1},useGlobalRtlAttribute:{type:Boolean,value:!1}},created:function(){this._meta=new tr({type:"iconset",key:null,value:null})},attached:function(){this.style.display="none"},getIconNames:function(){return this._icons=this._createIconMap(),Object.keys(this._icons).map(function(e){return this.name+":"+e},this)},applyIcon:function(e,t){this.removeIcon(e);var n=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(n){var i=Vi(e.root||e);return i.insertBefore(n,i.childNodes[0]),e._svgIcon=n}return null},removeIcon:function(e){e._svgIcon&&(Vi(e.root||e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){if(null==this.__targetIsRTL)if(this.useGlobalRtlAttribute){var t=document.body&&document.body.hasAttribute("dir")?document.body:document.documentElement;this.__targetIsRTL="rtl"===t.getAttribute("dir")}else e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction;return this.__targetIsRTL},_nameChanged:function(){this._meta.value=null,this._meta.key=this.name,this._meta.value=this,this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Vi(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,n){if(e){var i=e.cloneNode(!0),o=document.createElementNS("http://www.w3.org/2000/svg","svg"),r=i.getAttribute("viewBox")||"0 0 "+t+" "+t,a="pointer-events: none; display: block; width: 100%; height: 100%;";return n&&i.hasAttribute("mirror-in-rtl")&&(a+="-webkit-transform:scale(-1,1);transform:scale(-1,1);transform-origin:center;"),o.setAttribute("viewBox",r),o.setAttribute("preserveAspectRatio","xMidYMid meet"),o.setAttribute("focusable","false"),o.style.cssText=a,o.appendChild(i).removeAttribute("id"),o}return null}});var Ka=document.createElement("template");Ka.setAttribute("style","display: none;"),Ka.innerHTML='\n\n\n\n',document.head.appendChild(Ka.content);var Wa=document.createElement("template");Wa.setAttribute("style","display: none;"),Wa.innerHTML='\n \n',document.head.appendChild(Wa.content);var Ya=Object.freeze(Object.defineProperties(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n'],{raw:{value:Object.freeze(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n'])}}));to({_template:l(Ya),is:"paper-dropdown-menu",behaviors:[br,yr,Sa,Ea],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n \n",document.head.appendChild(Xa.content);var Ga=Object.freeze(Object.defineProperties(['\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(Ga),is:"paper-item",behaviors:[Za]});var Ja=function(e){this.selection=[],this.selectCallback=e};Ja.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.push(e);else{var n=this.selection.indexOf(e);n>=0&&this.selection.splice(n,1)}this.selectCallback&&this.selectCallback(e,t)}},select:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}};var Qa={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1,"dom-bind":1,"dom-if":1,"dom-repeat":1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Ja(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._addListener(this.activateEvent)},detached:function(){this._observer&&Vi(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items?this.items.indexOf(e):-1},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._observer&&"function"==typeof this._observer.flush?this._observer.flush():this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Vi(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this.selectedItem&&(this.selected=this._valueForItem(this.selectedItem))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){if(this.items){var t=this._valueToItem(this.selected);t?this._selection.select(t):this._selection.clear(),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)}},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,n=0;t=this.items[n];n++)if(this._valueForItem(t)==e)return n},_indexToValue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e){if(!e)return null;if(!this.attrForSelected){var t=this.indexOf(e);return-1===t?null:t}var n=e[X(this.attrForSelected)];return void 0!=n?n:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.get())},_observeItems:function(e){return Vi(e).observeNodes(function(e){this._updateItems(),this._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})})},_activateHandler:function(e){for(var t=e.target,n=this.items;t&&t!=this;){var i=n.indexOf(t);if(i>=0){var o=this._indexToValue(i);return void this._itemActivate(o,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}},es={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0,value:function(){return[]}},selectedItems:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this._toggleSelected(e):this.selected=e},multiChanged:function(e){this._selection.multi=e,this._updateSelected()},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:function(){this.multi?this.selectedItems&&this.selectedItems.length>0&&(this.selectedValues=this.selectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).filter(function(e){return null!=e},this)):Qa._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){e=e||[];var t=(this._valuesToItems(e)||[]).filter(function(e){return null!==e&&void 0!==e});this._selection.clear(t);for(var n=0;n\n :host {\n display: block;\n padding: 8px 0;\n\n background: var(--paper-listbox-background-color, var(--primary-background-color));\n color: var(--paper-listbox-color, var(--primary-text-color));\n\n @apply --paper-listbox;\n }\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(is),is:"paper-listbox",behaviors:[ns],hostAttributes:{role:"listbox"}});var os=function(){function e(e,t){for(var n=0;n\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'])}})),as=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),os(t,[{key:"addonChanged",value:function(e){var t=this;if(this.setProperties({selectedInput:e.audio_input||"null",selectedOutput:e.audio_output||"null"}),!this.outputDevices){var n=[{device:"null",name:"-"}];this.hass.callApi("get","hassio/hardware/audio").then(function(e){var i=e.data.audio,o=Object.keys(i.input).map(function(e){return{device:e,name:i.input[e]}}),r=Object.keys(i.output).map(function(e){return{device:e,name:i.output[e]}});t.setProperties({inputDevices:n.concat(o),outputDevices:n.concat(r)})},function(){t.setProperties({inputDevices:n,outputDevices:n})})}}},{key:"_saveSettings",value:function(){var e=this;this.error=null;var t="hassio/addons/"+this.addon.slug+"/options";this.hass.callApi("post",t,{audio_input:"null"===this.selectedInput?null:this.selectedInput,audio_output:"null"===this.selectedOutput?null:this.selectedOutput}).then(function(){e.fire("hass-api-called",{success:!0,path:t})},function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(rs)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},inputDevices:Array,outputDevices:Array,selectedInput:String,selectedOutput:String,error:String}}}]),t}();customElements.define("hassio-addon-audio",as);var ss=Object.freeze(Object.defineProperties(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n'])}}));to({_template:l(ss),is:"iron-autogrow-textarea",behaviors:[Ea,yr],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(e){this.$.textarea.selectionStart=e},set selectionEnd(e){this.$.textarea.selectionEnd=e},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var e=this.$.textarea.validity.valid;return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=Ea.validate.call(this,this.value))),this.invalid=!e,this.fire("iron-input-validate"),e},_bindValueChanged:function(e){this.value=e},_valueChanged:function(e){var t=this.textarea;t&&(t.value!==e&&(t.value=e||0===e?e:""),this.bindValue=e,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(e){var t=Vi(e).path;this.value=t?t[0].value:e.target.value},_constrain:function(e){var t;for(e=e||[""],t=this.maxRows>0&&e.length>this.maxRows?e.slice(0,this.maxRows):e.slice(0);this.rows>0&&t.length")+" "},_valueForMirror:function(){var e=this.textarea;if(e)return this.tokens=e&&e.value?e.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}});var ls=function(){function e(e,t){for(var n=0;n\n .container {\n position: relative;\n display: inline-block;\n }\n\n paper-button {\n transition: all 1s;\n }\n\n .success paper-button {\n color: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error paper-button {\n color: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n paper-button[disabled] {\n color: #c8c8c8;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
    \n \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n \n \n
    \n'])}})),ps=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),ls(t,[{key:"tempClass",value:function(e){var t=this.$.container.classList;t.add(e),setTimeout(function(){t.remove(e)},1e3)}},{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("click",function(t){return e.buttonTapped(t)})}},{key:"buttonTapped",value:function(e){this.progress&&e.stopPropagation()}},{key:"actionSuccess",value:function(){this.tempClass("success")}},{key:"actionError",value:function(){this.tempClass("error")}},{key:"computeDisabled",value:function(e,t){return e||t}}],[{key:"template",get:function(){return l(cs)}},{key:"properties",get:function(){return{hass:{type:Object},progress:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-progress-button",ps);var us=function(){function e(e,t){for(var n=0;n\n'],{raw:{value:Object.freeze(['\n \n'])}})),hs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),us(t,[{key:"buttonTapped",value:function(){var e=this;this.progress=!0;var t={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(n){e.progress=!1,e.$.progress.actionSuccess(),t.success=!0,t.response=n},function(n){e.progress=!1,e.$.progress.actionError(),t.success=!1,t.response=n}).then(function(){e.fire("hass-api-called",t)})}}],[{key:"template",get:function(){return l(ds)}},{key:"properties",get:function(){return{hass:Object,progress:{type:Boolean,value:!1},path:String,method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-call-api-button",hs);var fs=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),ys=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),fs(t,[{key:"addonChanged",value:function(e){this.config=e?JSON.stringify(e.options,null,2):""}},{key:"configChanged",value:function(e){try{this.$.config.classList.remove("syntaxerror"),this.configParsed=JSON.parse(e)}catch(e){this.$.config.classList.add("syntaxerror"),this.configParsed=null}}},{key:"saveTapped",value:function(){var e=this;this.error=null,this.hass.callApi("post","hassio/addons/"+this.addonSlug+"/options",{options:this.configParsed}).catch(function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(ms)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},addonSlug:String,config:{type:String,observer:"configChanged"},configParsed:Object,error:String,resetData:{type:Object,value:{options:null}}}}}]),t}();customElements.define("hassio-addon-config",ys);var vs={properties:{checked:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}},observers:["_requiredChanged(required)"],created:function(){this._hasIronCheckedElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.required||this.checked},_requiredChanged:function(){this.required?this.setAttribute("aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:function(){this.active=this.checked,this.fire("iron-change")},_valueChanged:function(){void 0!==this.value&&null!==this.value||(this.value="on")}},bs=[Cr,[Sa,Ea,vs],{_checkedChanged:function(){vs._checkedChanged.call(this),this.hasRipple()&&(this.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("checked"))},_buttonStateChanged:function(){xr._buttonStateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}}],gs=document.createElement("template");gs.setAttribute("style","display: none;"),gs.innerHTML='\n \n\n \n',document.head.appendChild(gs.content),to({is:"paper-toggle-button",behaviors:[bs],hostAttributes:{role:"button","aria-pressed":"false",tabindex:0},properties:{},listeners:{track:"_ontrack"},attached:function(){xi(this,function(){Xn(this,"pan-y")})},_ontrack:function(e){var t=e.detail;"start"===t.state?this._trackStart(t):"track"===t.state?this._trackMove(t):"end"===t.state&&this._trackEnd(t)},_trackStart:function(e){this._width=this.$.toggleBar.offsetWidth/2,this._trackChecked=this.checked,this.$.toggleButton.classList.add("dragging")},_trackMove:function(e){var t=e.dx;this._x=Math.min(this._width,Math.max(0,this._trackChecked?this._width+t:t)),this.translate3d(this._x+"px",0,0,this.$.toggleButton),this._userActivate(this._x>this._width/2)},_trackEnd:function(e){this.$.toggleButton.classList.remove("dragging"),this.transform("",this.$.toggleButton)},_createRipple:function(){this._rippleContainer=this.$.toggleButton;var e=xr._createRipple();return e.id="ink",e.setAttribute("recenters",""),e.classList.add("circle","toggle-ink"),e}});var _s=[60,"second",60,"minute",24,"hour",7,"day"];to({is:"iron-request",hostAttributes:{hidden:!0},properties:{xhr:{type:Object,notify:!0,readOnly:!0,value:function(){return new XMLHttpRequest}},response:{type:Object,notify:!0,readOnly:!0,value:function(){return null}},status:{type:Number,notify:!0,readOnly:!0,value:0},statusText:{type:String,notify:!0,readOnly:!0,value:""},completes:{type:Object,readOnly:!0,notify:!0,value:function(){return new Promise(function(e,t){this.resolveCompletes=e,this.rejectCompletes=t}.bind(this))}},progress:{type:Object,notify:!0,readOnly:!0,value:function(){return{}}},aborted:{type:Boolean,notify:!0,readOnly:!0,value:!1},errored:{type:Boolean,notify:!0,readOnly:!0,value:!1},timedOut:{type:Boolean,notify:!0,readOnly:!0,value:!1}},get succeeded(){if(this.errored||this.aborted||this.timedOut)return!1;var e=this.xhr.status||0;return 0===e||e>=200&&e<300},send:function(e){var t=this.xhr;if(t.readyState>0)return null;t.addEventListener("progress",function(e){this._setProgress({lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total}),this.fire("iron-request-progress-changed",{value:this.progress})}.bind(this)),t.addEventListener("error",function(t){this._setErrored(!0),this._updateStatus();var n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("timeout",function(t){this._setTimedOut(!0),this._updateStatus();var n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("abort",function(){this._setAborted(!0),this._updateStatus();var t=new Error("Request aborted."),n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("loadend",function(){if(this._updateStatus(),this._setResponse(this.parseResponse()),this.succeeded)this.resolveCompletes(this);else{var t=new Error("The request failed with status code: "+this.xhr.status),n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}}.bind(this)),this.url=e.url;var n=!1!==e.async;t.open(e.method||"GET",e.url,n);var i={json:"application/json",text:"text/plain",html:"text/html",xml:"application/xml",arraybuffer:"application/octet-stream"}[e.handleAs],o=e.headers||Object.create(null),r=Object.create(null);for(var a in o)r[a.toLowerCase()]=o[a];if(o=r,i&&!o.accept&&(o.accept=i),Object.keys(o).forEach(function(e){/[A-Z]/.test(e)&&Vo._error("Headers must be lower case, got",e),t.setRequestHeader(e,o[e])},this),n){t.timeout=e.timeout;var s=e.handleAs;!e.jsonPrefix&&s||(s="text"),t.responseType=t._responseType=s,e.jsonPrefix&&(t._jsonPrefix=e.jsonPrefix)}t.withCredentials=!!e.withCredentials;var l=this._encodeBodyObject(e.body,o["content-type"]);return t.send(l),this.completes},parseResponse:function(){var e=this.xhr,t=e.responseType||e._responseType,n=!this.xhr.responseType,i=e._jsonPrefix&&e._jsonPrefix.length||0;try{switch(t){case"json":if(n||void 0===e.response)try{return JSON.parse(e.responseText)}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.response;case"xml":return e.responseXML;case"blob":case"document":case"arraybuffer":return e.response;case"text":default:if(i)try{return JSON.parse(e.responseText.substring(i))}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.responseText}}catch(e){this.rejectCompletes(new Error("Could not parse response. "+e.message))}},abort:function(){this._setAborted(!0),this.xhr.abort()},_encodeBodyObject:function(e,t){if("string"==typeof e)return e;var n=e;switch(t){case"application/json":return JSON.stringify(n);case"application/x-www-form-urlencoded":return this._wwwFormUrlEncode(n)}return e},_wwwFormUrlEncode:function(e){if(!e)return"";var t=[];return Object.keys(e).forEach(function(n){t.push(this._wwwFormUrlEncodePiece(n)+"="+this._wwwFormUrlEncodePiece(e[n]))},this),t.join("&")},_wwwFormUrlEncodePiece:function(e){return null!==e&&void 0!==e&&e.toString?encodeURIComponent(e.toString().replace(/\r?\n/g,"\r\n")).replace(/%20/g,"+"):""},_updateStatus:function(){this._setStatus(this.xhr.status),this._setStatusText(void 0===this.xhr.statusText?"":this.xhr.statusText)}});var ws="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};to({is:"iron-ajax",hostAttributes:{hidden:!0},properties:{url:{type:String},params:{type:Object,value:function(){return{}}},method:{type:String,value:"GET"},headers:{type:Object,value:function(){return{}}},contentType:{type:String,value:null},body:{type:Object,value:null},sync:{type:Boolean,value:!1},handleAs:{type:String,value:"json"},withCredentials:{type:Boolean,value:!1},timeout:{type:Number,value:0},auto:{type:Boolean,value:!1},verbose:{type:Boolean,value:!1},lastRequest:{type:Object,notify:!0,readOnly:!0},lastProgress:{type:Object,notify:!0,readOnly:!0},loading:{type:Boolean,notify:!0,readOnly:!0},lastResponse:{type:Object,notify:!0,readOnly:!0},lastError:{type:Object,notify:!0,readOnly:!0},activeRequests:{type:Array,notify:!0,readOnly:!0,value:function(){return[]}},debounceDuration:{type:Number,value:0,notify:!0},jsonPrefix:{type:String,value:""},bubbles:{type:Boolean,value:!1},rejectWithRequest:{type:Boolean,value:!1},_boundHandleResponse:{type:Function,value:function(){return this._handleResponse.bind(this)}}},observers:["_requestOptionsChanged(url, method, params.*, headers, contentType, body, sync, handleAs, jsonPrefix, withCredentials, timeout, auto)"],created:function(){this._boundOnProgressChanged=this._onProgressChanged.bind(this)},get queryString(){var e,t,n=[];for(e in this.params)if(t=this.params[e],e=window.encodeURIComponent(e),Array.isArray(t))for(var i=0;i=0?"&":"?")+e:t},get requestHeaders(){var e,t={},n=this.contentType;if(null==n&&"string"==typeof this.body&&(n="application/x-www-form-urlencoded"),n&&(t["content-type"]=n),"object"===ws(this.headers))for(e in this.headers)t[e]=this.headers[e].toString();return t},_onProgressChanged:function(e){this._setLastProgress(e.detail.value)},toRequestOptions:function(){return{url:this.requestUrl||"",method:this.method,headers:this.requestHeaders,body:this.body,async:!this.sync,handleAs:this.handleAs,jsonPrefix:this.jsonPrefix,withCredentials:this.withCredentials,timeout:this.timeout,rejectWithRequest:this.rejectWithRequest}},generateRequest:function(){var e=document.createElement("iron-request"),t=this.toRequestOptions();return this.push("activeRequests",e),e.completes.then(this._boundHandleResponse).catch(this._handleError.bind(this,e)).then(this._discardRequest.bind(this,e)),this.fire("iron-ajax-presend",{request:e,options:t},{bubbles:this.bubbles,cancelable:!0}).defaultPrevented?(e.abort(),e.rejectCompletes(e),e):(this.lastRequest&&this.lastRequest.removeEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.addEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.send(t),this._setLastProgress(null),this._setLastRequest(e),this._setLoading(!0),this.fire("request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),e)},_handleResponse:function(e){e===this.lastRequest&&(this._setLastResponse(e.response),this._setLastError(null),this._setLoading(!1)),this.fire("response",e,{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-response",e,{bubbles:this.bubbles,composed:!0})},_handleError:function(e,t){this.verbose&&Vo._error(t),e===this.lastRequest&&(this._setLastError({request:e,error:t,status:e.xhr.status,statusText:e.xhr.statusText,response:e.xhr.response}),this._setLastResponse(null),this._setLoading(!1)),this.fire("iron-ajax-error",{request:e,error:t},{bubbles:this.bubbles,composed:!0}),this.fire("error",{request:e,error:t},{bubbles:this.bubbles,composed:!0})},_discardRequest:function(e){var t=this.activeRequests.indexOf(e);t>-1&&this.splice("activeRequests",t,1)},_requestOptionsChanged:function(){this.debounce("generate-request",function(){null!=this.url&&this.auto&&this.generateRequest()},this.debounceDuration)}});var ks=Object.prototype.hasOwnProperty;function xs(e){var t,n,i,o,r=Array.prototype.slice.call(arguments,1);for(t=0,n=r.length;t=0?"past":"future";t=Math.abs(t);for(var i=0;i<_s.length;i+=2){if(t<_s[i])return{tense:n,value:t=Math.floor(t),unit:_s[i+1]};t/=_s[i]}return{tense:n,value:t=Math.floor(t),unit:"week"}}(this.parsedDateTime),n=this.localize("ui.duration."+t.unit,"count",t.value),i=this.localize("ui.components.relative_time."+t.tense,"time",n);e.innerHTML=i}else e.innerHTML=this.localize("ui.components.relative_time.never")}}]),t}();customElements.define("ha-relative-time",Us);var Vs=function(){function e(e,t){for(var n=0;n\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'])}})),Ws=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Vs(t,null,[{key:"template",get:function(){return l(Ks)}},{key:"properties",get:function(){return{hass:Object,title:String,description:String,datetime:String,icon:{type:String,value:"hass:help-circle"},iconTitle:String,iconClass:String}}}]),t}();customElements.define("hassio-card-content",Ws);var Ys=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div{\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n ha-markdown img {\n max-width: 100%;\n }\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'])}})),Xs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ys(t,[{key:"computeIsRunning",value:function(e){return e&&"started"===e.state}},{key:"computeUpdateAvailable",value:function(e){return e&&!e.detached&&e.version&&e.version!==e.last_version}},{key:"pathWebui",value:function(e){return e&&e.replace("[HOST]",document.location.hostname)}},{key:"computeShowWebUI",value:function(e,t){return e&&t}},{key:"computeStartOnBoot",value:function(e){return"auto"===e}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/changelog").then(function(e){return e},function(){return"Error getting changelog"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Changelog",content:t})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var t="hassio/addons/"+this.addonSlug+"/uninstall",n={path:t};this.hass.callApi("post",t).then(function(e){n.success=!0,n.response=e},function(e){n.success=!1,n.response=e}).then(function(){e.fire("hass-api-called",n)})}}}],[{key:"template",get:function(){return l(Zs)}},{key:"properties",get:function(){return{hass:Object,addon:Object,addonSlug:String,isRunning:{type:Boolean,computed:"computeIsRunning(addon)"}}}}]),t}();customElements.define("hassio-addon-info",Xs);var Gs=function(){function e(e,t){for(var n=0;n\n :host,\n paper-card {\n display: block;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),Qs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Gs(t,[{key:"addonSlugChanged",value:function(e){var t=this;this.hass?this.refresh():setTimeout(function(){t.addonChanged(e)},0)}},{key:"refresh",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/logs").then(function(t){e.log=t})}}],[{key:"template",get:function(){return l(Js)}},{key:"properties",get:function(){return{hass:Object,addonSlug:{type:String,observer:"addonSlugChanged"},log:String}}}]),t}();customElements.define("hassio-addon-logs",Qs);var el=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),nl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),el(t,[{key:"addonChanged",value:function(e){if(e){var t=e.network||{},n=Object.keys(t).map(function(e){return{container:e,host:t[e]}});this.config=n.sort(function(e,t){return e.host-t.host})}}},{key:"saveTapped",value:function(){var e=this;this.error=null;var t={};this.config.forEach(function(e){t[e.container]=parseInt(e.host)});var n="hassio/addons/"+this.addonSlug+"/options";this.hass.callApi("post",n,{network:t}).then(function(){e.fire("hass-api-called",{success:!0,path:n})},function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(tl)}},{key:"properties",get:function(){return{hass:Object,addonSlug:String,config:Object,addon:{type:Object,observer:"addonChanged"},error:String,resetData:{type:Object,value:{network:null}}}}}]),t}();customElements.define("hassio-addon-network",nl);var il=function(){function e(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n width: 600px;\n }\n hassio-addon-logs {\n min-width: 600px;\n }\n @media only screen and (max-width: 600px) {\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config,\n hassio-addon-logs {\n max-width: 100%;\n }\n }\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'])}})),rl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),il(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)}),this.addEventListener("hassio-markdown-dialog",function(t){return e.openMarkdown(t)})}},{key:"apiCalled",value:function(e){var t=e.detail.path;t&&("uninstall"===t.substr(t.lastIndexOf("/")+1)?this.backTapped():this.routeDataChanged(this.routeData))}},{key:"routeDataChanged",value:function(e){var t=this;this.routeMatches&&e&&e.slug&&this.hass.callApi("get","hassio/addons/"+e.slug+"/info").then(function(e){t.addon=e.data},function(){t.addon=null})}},{key:"backTapped",value:function(){history.back()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return l(ol)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,route:Object,routeData:{type:Object,observer:"routeDataChanged"},routeMatches:Boolean,addon:Object,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),t}();customElements.define("hassio-addon-view",rl);var al=function(){function e(e,t){for(var n=0;n\n :host {\n @apply --layout-inline;\n @apply --layout-center;\n @apply --layout-center-justified;\n @apply --layout-flex-auto;\n\n position: relative;\n padding: 0 12px;\n overflow: hidden;\n cursor: pointer;\n vertical-align: middle;\n\n @apply --paper-font-common-base;\n @apply --paper-tab;\n }\n\n :host(:focus) {\n outline: none;\n }\n\n :host([link]) {\n padding: 0;\n }\n\n .tab-content {\n height: 100%;\n transform: translateZ(0);\n -webkit-transform: translateZ(0);\n transition: opacity 0.1s cubic-bezier(0.4, 0.0, 1, 1);\n @apply --layout-horizontal;\n @apply --layout-center-center;\n @apply --layout-flex-auto;\n @apply --paper-tab-content;\n }\n\n :host(:not(.iron-selected)) > .tab-content {\n opacity: 0.8;\n\n @apply --paper-tab-content-unselected;\n }\n\n :host(:focus) .tab-content {\n opacity: 1;\n font-weight: 700;\n }\n\n paper-ripple {\n color: var(--paper-tab-ink, var(--paper-yellow-a100));\n }\n\n .tab-content > ::slotted(a) {\n @apply --layout-flex-auto;\n\n height: 100%;\n }\n \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n'])}}));to({_template:l(ll),is:"paper-tab",behaviors:[yr,br,xr],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},get _parentNoink(){var e=Vi(this).parentNode;return!!e&&!!e.noink},_updateNoink:function(){this.noink=!!this.noink||!!this._parentNoink},_onTap:function(e){if(this.link){var t=this.queryEffectiveChildren("a");if(!t)return;if(e.target===t)return;t.click()}}});var cl={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?this._focusNext():this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onRightKey:function(e){this._isRTL?this._focusPrevious():this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},pl=[ns,cl],ul=document.createElement("template");ul.setAttribute("style","display: none;"),ul.innerHTML='\n\n\n\n\n',document.head.appendChild(ul.content);var dl=Object.freeze(Object.defineProperties(['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n'])}}));to({_template:l(dl),is:"paper-tabs",behaviors:[Nr,pl],properties:{noink:{type:Boolean,value:!1,observer:"_noinkChanged"},noBar:{type:Boolean,value:!1},noSlide:{type:Boolean,value:!1},scrollable:{type:Boolean,value:!1},fitContainer:{type:Boolean,value:!1},disableDrag:{type:Boolean,value:!1},hideScrollButtons:{type:Boolean,value:!1},alignBottom:{type:Boolean,value:!1},selectable:{type:String,value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:Number,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_leftHidden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousTab:{type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onTabSizingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIronSelect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyup":"_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHandler=this._delayedActivationHandler.bind(this),this.addEventListener("blur",this._onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",this.$.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noinkChanged:function(e){Vi(this).querySelectorAll("paper-tab").forEach(e?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:function(e){e.setAttribute("noink","")},_removeNoinkAttribute:function(e){e.removeAttribute("noink")},_computeScrollButtonClass:function(e,t,n){return!t||n?"hidden":e?"not-visible":""},_computeTabsContentClass:function(e,t){return e?"scrollable"+(t?" fit-container":""):" fit-container"},_computeSelectionBarClass:function(e,t){return e?"hidden":t?"align-bottom":""},_onTabSizingChanged:function(){this.debounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this.selectedItem)},10)},_onIronSelect:function(e){this._tabChanged(e.detail.item,this._previousTab),this._previousTab=e.detail.item,this.cancelDebouncer("tab-changed")},_onIronDeselect:function(e){this.debounce("tab-changed",function(){this._tabChanged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:function(){this._cancelPendingActivation(),ts._activateHandler.apply(this,arguments)},_scheduleActivation:function(e,t){this._pendingActivationItem=e,this._pendingActivationTimeout=this.async(this._bindDelayedActivationHandler,t)},_delayedActivationHandler:function(){var e=this._pendingActivationItem;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,e.fire(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivation:function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._pendingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0)},_onArrowKeyup:function(e){this.autoselect&&this._scheduleActivation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(e){e.target===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabContainerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tabsContainer.offsetWidth)},_scroll:function(e,t){if(this.scrollable){var n=t&&-t.ddx||0;this._affectScroll(n)}},_down:function(e){this.async(function(){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null)},1)},_affectScroll:function(e){this.$.tabsContainer.scrollLeft+=e;var t=this.$.tabsContainer.scrollLeft;this._leftHidden=0===t,this._rightHidden=t===this._tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft(),this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_onRightScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval(this._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){clearInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._affectScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._step)},_tabChanged:function(e,t){if(!e)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(0,0);var n=this.$.tabsContent.getBoundingClientRect(),i=n.width,o=e.getBoundingClientRect(),r=o.left-n.left;if(this._pos={width:this._calcPercent(o.width,i),left:this._calcPercent(r,i)},this.noSlide||null==t)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(this._pos.width,this._pos.left);var a=t.getBoundingClientRect(),s=this.items.indexOf(t),l=this.items.indexOf(e);this.$.selectionBar.classList.add("expand");var c=s0&&(this.$.tabsContainer.scrollLeft+=n)},_calcPercent:function(e,t){return 100*e/t},_positionBar:function(e,t){e=e||0,t=t||0,this._width=e,this._left=t,this.transform("translateX("+t+"%) scaleX("+e/100+")",this.$.selectionBar)},_onBarTransitionEnd:function(e){var t=this.$.selectionBar.classList;t.contains("expand")?(t.remove("expand"),t.add("contract"),this._positionBar(this._pos.width,this._pos.left)):t.contains("contract")&&t.remove("contract")}}),n(1);var hl=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]&&arguments[1]?history.replaceState(null,null,e):history.pushState(null,null,e),this.fire("location-changed")}}]),n}()}),ml=function(){function e(e,t){for(var n=0;n\n paper-card {\n cursor: pointer;\n }\n a.repo {\n display: block;\n color: var(--primary-text-color);\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),vl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ml(t,[{key:"sortAddons",value:function(e,t){return e.name\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'])}})),_l=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),bl(t,[{key:"reposChanged",value:function(e){this.repoList=e.filter(function(e){return"core"!==e.slug&&"local"!==e.slug}),this.repoUrl=""}},{key:"sortRepos",value:function(e,t){return e.name\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n'])}})),xl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),wl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)}),this.loadData()}},{key:"apiCalled",value:function(e){e.detail.success&&this.loadData()}},{key:"sortRepos",value:function(e,t){return"local"===e.slug?-1:"local"===t.slug?1:"core"===e.slug?-1:"core"===t.slug?1:e.name\n paper-card {\n cursor: pointer;\n }\n \n
    \n
    Add-ons
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Add-ons
    \n \n \n
    \n'])}})),Sl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),Ol(t,[{key:"sortAddons",value:function(e,t){return e.name\n paper-card {\n display: block;\n height: 100%;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),Al=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),El(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===Pl(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}}],[{key:"template",get:function(){return l(Tl)}},{key:"properties",get:function(){return{hass:Object,hassInfo:Object,error:String}}}]),t}();customElements.define("hassio-hass-update",Al);var jl=function(){function e(e,t){for(var n=0;n\n .content {\n margin: 0 auto;\n }\n \n
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n
    \n'])}})),Rl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),jl(t,null,[{key:"template",get:function(){return l(Il)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hassInfo:Object}}}]),t}();customElements.define("hassio-dashboard",Rl);var Ll=document.createElement("template");Ll.setAttribute("style","display: none;"),Ll.innerHTML='\n \n\n \n',document.head.appendChild(Ll.content),to({is:"paper-checkbox",behaviors:[bs],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){xi(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-checkbox-ink-size").trim()){var e=this.getComputedStyleValue("--calculated-paper-checkbox-size").trim(),t="px",n=e.match(/[A-Za-z]+$/);null!==n&&(t=n[0]);var i=parseFloat(e),o=8/3*i;"px"===t&&(o=Math.floor(o))%2!=i%2&&o++,this.updateStyles({"--paper-checkbox-ink-size":o+t})}})},_computeCheckboxClass:function(e,t){var n="";return e&&(n+="checked "),t&&(n+="invalid"),n},_computeCheckmarkClass:function(e){return e?"":"hidden"},_createRipple:function(){return this._rippleContainer=this.$.checkboxContainer,Or._createRipple.call(this)}});var zl=function(){function e(e,t){for(var n=0;n\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'])}})),Dl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),zl(t,[{key:"_snapshotSlugChanged",value:function(e){var t=this;e&&"update"!==e&&this.hass.callApi("get","hassio/snapshots/"+e+"/info").then(function(e){e.data.folders=t._computeFolders(e.data.folders),e.data.addons=t._computeAddons(e.data.addons),t.snapshot=e.data,t.$.dialog.open()},function(){t.snapshot=null})}},{key:"_computeFolders",value:function(e){var t=[];return e.includes("homeassistant")&&t.push({slug:"homeassistant",name:"Home Assistant configuration",checked:!0}),e.includes("ssl")&&t.push({slug:"ssl",name:"SSL",checked:!0}),e.includes("share")&&t.push({slug:"share",name:"Share",checked:!0}),e.includes("addons/local")&&t.push({slug:"addons/local",name:"Local add-ons",checked:!0}),t}},{key:"_computeAddons",value:function(e){return e.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})}},{key:"_isFullSnapshot",value:function(e){return"full"===e}},{key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this.snapshot.addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),n=this.snapshot.folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),i={homeassistant:this.restoreHass,addons:t,folders:n};this.snapshot.protected&&(i.password=this.snapshotPassword),this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/partial",i).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(t){e.error=t.body.message})}}},{key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this.snapshot.protected?{password:this.snapshotPassword}:null;this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/full",t).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(t){e.error=t.body.message})}}},{key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/remove").then(function(){e.$.dialog.close(),e.snapshotDeleted=!0},function(t){e.error=t.body.message})}},{key:"_computeDownloadUrl",value:function(e){return"/api/hassio/snapshots/"+e+"/download?api_password="+encodeURIComponent(this.hass.connection.options.authToken)}},{key:"_computeDownloadName",value:function(e){return"Hass_io_"+this._computeName(e).replace(/[^a-z0-9]+/gi,"_")+".tar"}},{key:"_computeName",value:function(e){return e.name||e.slug}},{key:"_computeType",value:function(e){return"full"===e?"Full snapshot":"Partial snapshot"}},{key:"_computeSize",value:function(e){return Math.ceil(10*e)/10+" MB"}},{key:"_sortAddons",value:function(e,t){return e.name\n\n
    \n
    \n
    \n
    \n\n
    \n \n\n \n',document.head.appendChild(Fl.content),to({is:"paper-radio-button",behaviors:[bs],hostAttributes:{role:"radio","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},ready:function(){this._rippleContainer=this.$.radioContainer},attached:function(){xi(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-radio-button-ink-size").trim()){var e=parseFloat(this.getComputedStyleValue("--calculated-paper-radio-button-size").trim()),t=Math.floor(3*e);t%2!=e%2&&t++,this.updateStyles({"--paper-radio-button-ink-size":t+"px"})}})}});var Ml=Object.freeze(Object.defineProperties(["\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Ml),is:"paper-radio-group",behaviors:[pl],hostAttributes:{role:"radiogroup"},properties:{attrForSelected:{type:String,value:"name"},selectedAttribute:{type:String,value:"checked"},selectable:{type:String,value:"paper-radio-button"},allowEmptySelection:{type:Boolean,value:!1}},select:function(e){var t=this._valueToItem(e);if(!t||!t.hasAttribute("disabled")){if(this.selected){var n=this._valueToItem(this.selected);if(this.selected==e){if(!this.allowEmptySelection)return void(n&&(n.checked=!0));e=""}n&&(n.checked=!1)}Qa.select.apply(this,[e]),this.fire("paper-radio-group-changed")}},_activateFocusedItem:function(){this._itemActivate(this._valueForItem(this.focusedItem),this.focusedItem)},_onUpKey:function(e){this._focusPrevious(),e.preventDefault(),this._activateFocusedItem()},_onDownKey:function(e){this._focusNext(),e.preventDefault(),this._activateFocusedItem()},_onLeftKey:function(e){cl._onLeftKey.apply(this,arguments),this._activateFocusedItem()},_onRightKey:function(e){cl._onRightKey.apply(this,arguments),this._activateFocusedItem()}});var Bl=function(){function e(e,t){for(var n=0;n\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'])}})),ql=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Bl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e._apiCalled(t)}),this._updateSnapshots()}},{key:"_apiCalled",value:function(e){e.detail.success&&this._updateSnapshots()}},{key:"_updateSnapshots",value:function(){var e=this;this.hass.callApi("get","hassio/snapshots").then(function(t){e.snapshots=t.data.snapshots},function(t){e.error=t.message})}},{key:"_createSnapshot",value:function(){var e=this;if(this.error="",!this.snapshotHasPassword||this.snapshotPassword.length){this.creatingSnapshot=!0;var t=this.snapshotName;t.length||(t=(new Date).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric"}));var n=void 0,i=void 0;if("full"===this.snapshotType)n={name:t},i="hassio/snapshots/new/full";else{var o=this.addonList.filter(function(e){return e.checked}).map(function(e){return e.slug});n={name:t,folders:this.folderList.filter(function(e){return e.checked}).map(function(e){return e.slug}),addons:o},i="hassio/snapshots/new/partial"}this.snapshotHasPassword&&(n.password=this.snapshotPassword),this.hass.callApi("post",i,n).then(function(){e.creatingSnapshot=!1,e.fire("hass-api-called",{success:!0})},function(t){e.creatingSnapshot=!1,e.error=t.message})}else this.error="Please enter a password."}},{key:"_installedAddonsChanged",value:function(e){this.addonList=e.map(function(e){return{slug:e.slug,name:e.name,checked:!0}})}},{key:"_sortAddons",value:function(e,t){return e.name\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n paper-button.info {\n max-width: 50%;\n }\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'])}})),Kl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ul(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===$l(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"computeRebootAvailable",value:function(e){return e.features&&e.features.includes("reboot")}},{key:"computeShutdownAvailable",value:function(e){return e.features&&e.features.includes("shutdown")}},{key:"_showHardware",value:function(){var e=this;this.hass.callApi("get","hassio/hardware/info").then(function(t){return e._objectToMarkdown(t.data)},function(){return"Error getting hardware info"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Hardware",content:t})})}},{key:"_objectToMarkdown",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i="";return Object.keys(e).forEach(function(o){"object"!==$l(e[o])?i+=n+"- "+o+": "+e[o]+"\n":(i+=n+"- "+o+":\n",Array.isArray(e[o])?e[o].length&&(i+=n+" - "+e[o].join("\n"+n+" - ")+"\n"):i+=t._objectToMarkdown(e[o]," "+n))}),i}}],[{key:"template",get:function(){return l(Vl)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String}}}]),t}();customElements.define("hassio-host-info",Kl);var Wl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yl=function(){function e(e,t){for(var n=0;n\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'])}})),Xl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Yl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===Wl(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"_equals",value:function(e,t){return e===t}},{key:"_joinBeta",value:function(){var e=this;if(confirm("WARNING:\nBeta releases are for testers and early adopters and can contain unstable code changes. Make sure you have backups of your data before you activate this feature.\n\nThis inludes beta releases for:\n- Home Assistant (Release Candidates)\n- Hass.io supervisor\n- Host system")){var t="hassio/supervisor/options",n={channel:"beta"},i={method:"post",path:t,data:n};this.hass.callApi("post",t,n).then(function(e){i.success=!0,i.response=e},function(e){i.success=!1,i.response=e}).then(function(){e.fire("hass-api-called",i)})}}}],[{key:"template",get:function(){return l(Zl)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String,leaveBeta:{type:Object,value:{channel:"stable"}}}}}]),t}();customElements.define("hassio-supervisor-info",Xl);var Gl=function(){function e(e,t){for(var n=0;n\n paper-card {\n display: block;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),Ql=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Gl(t,[{key:"ready",value:function(){(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.loadData()}},{key:"loadData",value:function(){var e=this;this.hass.callApi("get","hassio/supervisor/logs").then(function(t){e.log=t},function(){e.log="Error fetching logs"})}},{key:"refreshTapped",value:function(){this.loadData()}}],[{key:"template",get:function(){return l(Jl)}},{key:"properties",get:function(){return{hass:Object,log:String}}}]),t}();customElements.define("hassio-supervisor-log",Ql);var ec=function(){function e(e,t){for(var n=0;n\n .content {\n margin: 4px;\n }\n .title {\n margin-top: 24px;\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'])}})),nc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),ec(t,null,[{key:"template",get:function(){return l(tc)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hostInfo:Object}}}]),t}();customElements.define("hassio-system",nc);var ic=function(){function e(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #FFF;\n text-transform: uppercase;\n }\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'])}})),rc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ic(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hassio-markdown-dialog",function(t){return e.openMarkdown(t)})}},{key:"handlePageSelected",value:function(e){var t=e.detail.item.getAttribute("page-name");t!==this.page&&this.navigate("/hassio/"+t)}},{key:"equals",value:function(e,t){return e===t}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return l(oc)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,page:String,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,snapshotSlug:String,snapshotDeleted:Boolean,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),t}();customElements.define("hassio-pages-with-tabs",rc);var ac=function(){function e(e,t){for(var n=0;n\n \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n\n \n'])}})),cc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ac(t,[{key:"ready",value:function(){var e=this;sc(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var o=t.default_theme;("default"===n||n&&t.themes[n])&&(o=n);var r=Object.assign({},e._themes);if("default"!==o){var a=t.themes[o];Object.keys(a).forEach(function(t){var n="--"+t;e._themes[n]="",r[n]=a[t]})}if(e.updateStyles?e.updateStyles(r):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,r),i){var s=document.querySelector("meta[name=theme-color]");if(s){s.hasAttribute("default-content")||s.setAttribute("default-content",s.getAttribute("content"));var l=r["--primary-color"]||s.getAttribute("default-content");s.setAttribute("content",l)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"connectedCallback",value:function(){sc(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var t=this;if(e.detail.success){var n=1;!function e(){t.$.data.refresh().catch(function(){n+=1,setTimeout(e,1e3*Math.min(n,5))})}()}}},{key:"computeIsLoaded",value:function(e,t,n){return null!==e&&null!==t&&null!==n}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0)}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}],[{key:"template",get:function(){return l(lc)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:{type:Object,value:{prefix:"/hassio",path:"/dashboard",__queryParams:{}},observer:"routeChanged"},routeData:Object,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo)"}}}}]),t}();customElements.define("hassio-main",cc);var pc=function(){function e(e,t){for(var n=0;n\n \n \n'],{raw:{value:Object.freeze(['\n \n'])}})),yc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),fc(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),window.setProperties=this.setProperties.bind(this),this.addEventListener("location-changed",function(){return e._locationChanged()}),this.addEventListener("hass-open-menu",function(){return e._menuEvent(!0)}),this.addEventListener("hass-close-menu",function(){return e._menuEvent(!1)})}},{key:"_menuEvent",value:function(e){this.hassioPanel.fire(e?"hass-open-menu":"hass-close-menu")}},{key:"_locationChanged",value:function(){this.hassioPanel.navigate(window.location.pathname)}}],[{key:"template",get:function(){return l(mc)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:Object,hassioPanel:{type:Object,value:window.parent.hassioPanel}}}}]),t}();customElements.define("hassio-app",yc)},function(e,t,n){"use strict";t.default=function(){function e(t,n,i,o){this.message=t,this.expected=n,this.found=i,this.location=o,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,e)}return function(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}(e,Error),{SyntaxError:e,parse:function(t){var n,i=arguments.length>1?arguments[1]:{},o={},r={start:Te},a=Te,s=function(e){return{type:"messageFormatPattern",elements:e,location:Ce()}},l=function(e){var t,n,i,o,r,a="";for(t=0,i=e.length;tke&&(ke=ge,xe=[]),xe.push(e))}function Te(){return Ae()}function Ae(){var e,t,n;for(e=ge,t=[],n=je();n!==o;)t.push(n),n=je();return t!==o&&(_e=e,t=s(t)),t}function je(){var e;return(e=function(){var e,n;return e=ge,(n=function(){var e,n,i,r,a,s;if(e=ge,n=[],i=ge,(r=ze())!==o&&(a=Be())!==o&&(s=ze())!==o?i=r=[r,a,s]:(ge=i,i=o),i!==o)for(;i!==o;)n.push(i),i=ge,(r=ze())!==o&&(a=Be())!==o&&(s=ze())!==o?i=r=[r,a,s]:(ge=i,i=o);else n=o;return n!==o&&(_e=e,n=l(n)),(e=n)===o&&(e=ge,e=(n=Le())!==o?t.substring(e,ge):n),e}())!==o&&(_e=e,n=c(n)),n}())===o&&(e=function(){var e,n,i,r,a,s,l;return e=ge,123===t.charCodeAt(ge)?(n=d,ge++):(n=o,0===Oe&&Ee(h)),n!==o&&ze()!==o&&(i=function(){var e,n,i;if((e=Fe())===o){if(e=ge,n=[],p.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=o,0===Oe&&Ee(u)),i!==o)for(;i!==o;)n.push(i),p.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=o,0===Oe&&Ee(u));else n=o;e=n!==o?t.substring(e,ge):n}return e}())!==o&&ze()!==o?(r=ge,44===t.charCodeAt(ge)?(a=f,ge++):(a=o,0===Oe&&Ee(m)),a!==o&&(s=ze())!==o&&(l=function(){var e;return(e=function(){var e,n,i,r,a,s;return e=ge,t.substr(ge,6)===g?(n=g,ge+=6):(n=o,0===Oe&&Ee(_)),n===o&&(t.substr(ge,4)===w?(n=w,ge+=4):(n=o,0===Oe&&Ee(k)),n===o&&(t.substr(ge,4)===x?(n=x,ge+=4):(n=o,0===Oe&&Ee(O)))),n!==o&&ze()!==o?(i=ge,44===t.charCodeAt(ge)?(r=f,ge++):(r=o,0===Oe&&Ee(m)),r!==o&&(a=ze())!==o&&(s=Be())!==o?i=r=[r,a,s]:(ge=i,i=o),i===o&&(i=null),i!==o?(_e=e,e=n=C(n,i)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r;return e=ge,t.substr(ge,6)===S?(n=S,ge+=6):(n=o,0===Oe&&Ee(P)),n!==o&&ze()!==o?(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Ee(m)),i!==o&&ze()!==o&&(r=Re())!==o?(_e=e,e=n=E(r)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r;return e=ge,t.substr(ge,13)===T?(n=T,ge+=13):(n=o,0===Oe&&Ee(A)),n!==o&&ze()!==o?(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Ee(m)),i!==o&&ze()!==o&&(r=Re())!==o?(_e=e,e=n=j(r)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r,a;if(e=ge,t.substr(ge,6)===I?(n=I,ge+=6):(n=o,0===Oe&&Ee(R)),n!==o)if(ze()!==o)if(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Ee(m)),i!==o)if(ze()!==o){if(r=[],(a=Ie())!==o)for(;a!==o;)r.push(a),a=Ie();else r=o;r!==o?(_e=e,e=n=L(r)):(ge=e,e=o)}else ge=e,e=o;else ge=e,e=o;else ge=e,e=o;else ge=e,e=o;return e}()),e}())!==o?r=a=[a,s,l]:(ge=r,r=o),r===o&&(r=null),r!==o&&(a=ze())!==o?(125===t.charCodeAt(ge)?(s=y,ge++):(s=o,0===Oe&&Ee(v)),s!==o?(_e=e,e=n=b(i,r)):(ge=e,e=o)):(ge=e,e=o)):(ge=e,e=o),e}()),e}function Ie(){var e,n,i,r,a;return e=ge,ze()!==o&&(n=function(){var e,n,i,r;return e=ge,n=ge,61===t.charCodeAt(ge)?(i=z,ge++):(i=o,0===Oe&&Ee(N)),i!==o&&(r=Fe())!==o?n=i=[i,r]:(ge=n,n=o),(e=n!==o?t.substring(e,ge):n)===o&&(e=Be()),e}())!==o&&ze()!==o?(123===t.charCodeAt(ge)?(i=d,ge++):(i=o,0===Oe&&Ee(h)),i!==o&&ze()!==o&&(r=Ae())!==o&&ze()!==o?(125===t.charCodeAt(ge)?(a=y,ge++):(a=o,0===Oe&&Ee(v)),a!==o?(_e=e,e=D(n,r)):(ge=e,e=o)):(ge=e,e=o)):(ge=e,e=o),e}function Re(){var e,n,i,r;if(e=ge,(n=function(){var e,n,i;return e=ge,t.substr(ge,7)===F?(n=F,ge+=7):(n=o,0===Oe&&Ee(M)),n!==o&&ze()!==o&&(i=Fe())!==o?(_e=e,e=n=B(i)):(ge=e,e=o),e}())===o&&(n=null),n!==o)if(ze()!==o){if(i=[],(r=Ie())!==o)for(;r!==o;)i.push(r),r=Ie();else i=o;i!==o?(_e=e,e=n=H(n,i)):(ge=e,e=o)}else ge=e,e=o;else ge=e,e=o;return e}function Le(){var e,n;if(Oe++,e=[],$.test(t.charAt(ge))?(n=t.charAt(ge),ge++):(n=o,0===Oe&&Ee(U)),n!==o)for(;n!==o;)e.push(n),$.test(t.charAt(ge))?(n=t.charAt(ge),ge++):(n=o,0===Oe&&Ee(U));else e=o;return Oe--,e===o&&(n=o,0===Oe&&Ee(q)),e}function ze(){var e,n,i;for(Oe++,e=ge,n=[],i=Le();i!==o;)n.push(i),i=Le();return e=n!==o?t.substring(e,ge):n,Oe--,e===o&&(n=o,0===Oe&&Ee(V)),e}function Ne(){var e;return K.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Ee(W)),e}function De(){var e;return Y.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Ee(Z)),e}function Fe(){var e,n,i,r,a,s;if(e=ge,48===t.charCodeAt(ge)?(n=X,ge++):(n=o,0===Oe&&Ee(G)),n===o){if(n=ge,i=ge,J.test(t.charAt(ge))?(r=t.charAt(ge),ge++):(r=o,0===Oe&&Ee(Q)),r!==o){for(a=[],s=Ne();s!==o;)a.push(s),s=Ne();a!==o?i=r=[r,a]:(ge=i,i=o)}else ge=i,i=o;n=i!==o?t.substring(n,ge):i}return n!==o&&(_e=e,n=ee(n)),n}function Me(){var e,n,i,r,a,s,l,c;return te.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Ee(ne)),e===o&&(e=ge,t.substr(ge,2)===ie?(n=ie,ge+=2):(n=o,0===Oe&&Ee(oe)),n!==o&&(_e=e,n=re()),(e=n)===o&&(e=ge,t.substr(ge,2)===ae?(n=ae,ge+=2):(n=o,0===Oe&&Ee(se)),n!==o&&(_e=e,n=le()),(e=n)===o&&(e=ge,t.substr(ge,2)===ce?(n=ce,ge+=2):(n=o,0===Oe&&Ee(pe)),n!==o&&(_e=e,n=ue()),(e=n)===o&&(e=ge,t.substr(ge,2)===de?(n=de,ge+=2):(n=o,0===Oe&&Ee(he)),n!==o&&(_e=e,n=fe()),(e=n)===o&&(e=ge,t.substr(ge,2)===me?(n=me,ge+=2):(n=o,0===Oe&&Ee(ye)),n!==o?(i=ge,r=ge,(a=De())!==o&&(s=De())!==o&&(l=De())!==o&&(c=De())!==o?r=a=[a,s,l,c]:(ge=r,r=o),(i=r!==o?t.substring(i,ge):r)!==o?(_e=e,e=n=ve(i)):(ge=e,e=o)):(ge=e,e=o)))))),e}function Be(){var e,t,n;if(e=ge,t=[],(n=Me())!==o)for(;n!==o;)t.push(n),n=Me();else t=o;return t!==o&&(_e=e,t=be(t)),t}if((n=a())!==o&&ge===t.length)return n;throw n!==o&&get.description?1:0});t1?i.slice(0,-1).join(", ")+" or "+i[e.length-1]:i[0])+" but "+(t?'"'+function(e){function n(e){return e.charCodeAt(0).toString(16).toUpperCase()}return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(e){return"\\x0"+n(e)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(e){return"\\x"+n(e)}).replace(/[\u0100-\u0FFF]/g,function(e){return"\\u0"+n(e)}).replace(/[\u1000-\uFFFF]/g,function(e){return"\\u"+n(e)})}()+'"':"end of input")+" found."}(n,i),n,i,o)}(null,xe,ke1||n<0||n>1?d:function(o){function r(e,t,n){return 3*e*(1-n)*(1-n)*n+3*t*(1-n)*n*n+n*n*n}if(o<=0){var a=0;return e>0?a=t/e:!t&&n>0&&(a=i/n),a*o}if(o>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&e<1&&(s=(t-1)/(e-1)),1+s*(o-1)}for(var l=0,c=1;l=1)return 1;var i=1/e;return(n+=t*i)-n%i}}function s(e){v||(v=document.createElement("div").style),v.animationTimingFunction="",v.animationTimingFunction=e;var t=v.animationTimingFunction;if(""==t&&i())throw new TypeError(e+" is not a valid value for easing");return t}function l(e){if("linear"==e)return d;var t=g.exec(e);if(t)return r.apply(this,t.slice(1).map(Number));var n=_.exec(e);return n?a(Number(n[1]),{start:h,middle:f,end:m}[n[2]]):y[e]||d}function c(e,t,n){if(null==t)return w;var i=n.delay+e+n.endDelay;return t=Math.min(n.delay+e,i)?x:O}var p="backwards|forwards|both|none".split("|"),u="reverse|alternate|alternate-reverse".split("|"),d=function(e){return e};n.prototype={_setMember:function(t,n){this["_"+t]=n,this._effect&&(this._effect._timingInput[t]=n,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=l(s(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var h=1,f=.5,m=0,y={ease:r(.25,.1,.25,1),"ease-in":r(.42,0,1,1),"ease-out":r(0,0,.58,1),"ease-in-out":r(.42,0,.58,1),"step-start":a(1,h),"step-middle":a(1,f),"step-end":a(1,m)},v=null,b="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",g=new RegExp("cubic-bezier\\("+b+","+b+","+b+","+b+"\\)"),_=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,w=0,k=1,x=2,O=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var n in e)t[n]=e[n];return t},e.makeTiming=o,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,n){return o(t=e.numericTimingToObject(t),n)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,n){var i=c(e,t,n),o=function(e,t,n,i,o){switch(i){case k:return"backwards"==t||"both"==t?0:null;case O:return n-o;case x:return"forwards"==t||"both"==t?e:null;case w:return null}}(e,n.fill,t,i,n.delay);if(null===o)return null;var r=function(e,t,n,i,o){var r=o;return 0===e?t!==k&&(r+=n):r+=i/e,r}(n.duration,i,n.iterations,o,n.iterationStart),a=function(e,t,n,i,o,r){var a=e===1/0?t%1:e%1;return 0!==a||n!==x||0===i||0===o&&0!==r||(a=1),a}(r,n.iterationStart,i,n.iterations,o,n.duration),s=function(e,t,n,i){return e===x&&t===1/0?1/0:1===a?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,0,r),l=function(e,t,n){var i=e;if("normal"!==e&&"reverse"!==e){var o=s;"alternate-reverse"===e&&(o+=1),i="normal",o!==1/0&&o%2!=0&&(i="reverse")}return"normal"===i?a:1-a}(n.direction);return n._easingFunction(l)},e.calculatePhase=c,e.normalizeEasing=s,e.parseEasingFunction=l}(i={}),function(e,t){function n(e,t){return e in l&&l[e][t]||t}function i(e,t,i){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var o=r[e];if(o)for(var s in a.style[e]=t,o){var l=o[s],c=a.style[l];i[l]=n(l,c)}else i[e]=n(e,t)}}function o(e){var t=[];for(var n in e)if(!(n in["easing","offset","composite"])){var i=e[n];Array.isArray(i)||(i=[i]);for(var o,r=i.length,a=0;a1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==o){if("add"==r||"accumulate"==r)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=r)throw new TypeError("Invalid composite mode "+r+".")}else r="easing"==o?e.normalizeEasing(r):""+r;i(o,r,n)}return void 0==n.offset&&(n.offset=null),void 0==n.easing&&(n.easing="linear"),n}),r=!0,a=-1/0,s=0;s=0&&e.offset<=1}),r||function(){var e=n.length;null==n[e-1].offset&&(n[e-1].offset=1),e>1&&null==n[0].offset&&(n[0].offset=0);for(var t=0,i=n[0].offset,o=1;o=e.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var n=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=n&&(this.currentTime=n)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var n=this._finishHandlers.indexOf(t);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new function(e,t,n){this.target=e,this.currentTime=t,this.timelineTime=n,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,this._currentTime,e),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){n.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(i,o),function(e,t,n){function i(e){var t=c;c=[],ei?n%=i:i%=n;return e*t/(n+i)}(i.length,o.length),c=0;c=1?t:"visible"}]},["visibility"]),function(e,t){function n(e){e=e.trim(),r.fillStyle="#000",r.fillStyle=e;var t=r.fillStyle;if(r.fillStyle="#fff",r.fillStyle=e,t==r.fillStyle){r.fillRect(0,0,1,1);var n=r.getImageData(0,0,1,1).data;r.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(t,n){return[t,n,function(t){function n(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var i=0;i<3;i++)t[i]=Math.round(n(t[i]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var o=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");o.width=o.height=1;var r=o.getContext("2d");e.addPropertiesHandler(n,i,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,n),e.mergeColors=i}(o),function(e,t){function n(e){function t(){var t=a.exec(e);r=t?t[0]:void 0}function n(){if("("!==r)return function(){var e=Number(r);return t(),e}();t();var e=o();return")"!==r?NaN:(t(),e)}function i(){for(var e=n();"*"===r||"/"===r;){var i=r;t();var o=n();"*"===i?e*=o:e/=o}return e}function o(){for(var e=i();"+"===r||"-"===r;){var n=r;t();var o=i();"+"===n?e+=o:e-=o}return e}var r,a=/([\+\-\w\.]+|[\(\)\*\/])/g;return t(),o()}function i(e,t){if("0"==(t=t.trim().toLowerCase())&&"px".search(e)>=0)return{px:0};if(/^[^(]*$|^calc/.test(t)){var i={};t=(t=t.replace(/calc\(/g,"(")).replace(e,function(e){return i[e]=null,"U"+e});for(var o="U("+e.source+")",r=t.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+o,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),a=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],s=0;s1?"calc("+n+")":n}]}var a="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",s=i.bind(null,new RegExp(a,"g")),l=i.bind(null,new RegExp(a+"|%","g")),c=i.bind(null,/deg|rad|grad|turn/g);e.parseLength=s,e.parseLengthOrPercent=l,e.consumeLengthOrPercent=e.consumeParenthesised.bind(null,l),e.parseAngle=c,e.mergeDimensions=r;var p=e.consumeParenthesised.bind(null,s),u=e.consumeRepeated.bind(void 0,p,/^/),d=e.consumeRepeated.bind(void 0,u,/^,/);e.consumeSizePairList=d;var h=e.mergeNestedRepeated.bind(void 0,o," "),f=e.mergeNestedRepeated.bind(void 0,h,",");e.mergeNonNegativeSizePair=h,e.addPropertiesHandler(function(e){var t=d(e);if(t&&""==t[1])return t[0]},f,["background-size"]),e.addPropertiesHandler(l,o,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),e.addPropertiesHandler(l,r,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(o),function(e,t){function n(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function i(t){var i=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,n,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(i&&4==i[0].length)return i[0]}var o=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,n){return"auto"==t||"auto"==n?[!0,!1,function(i){var o=i?t:n;if("auto"==o)return"auto";var r=e.mergeDimensions(o,o);return r[2](r[0])}]:e.mergeDimensions(t,n)},", ");e.parseBox=i,e.mergeBoxes=o,e.addPropertiesHandler(i,o,["clip"])}(o),function(e,t){function n(e){return function(t){var n=0;return e.map(function(e){return e===c?t[n++]:e})}}function i(e){return e}function o(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,o=[],r=0;n=i.exec(t);){if(n.index!=r)return;r=n.index+n[0].length;var a=n[1],s=d[a];if(!s)return;var l=n[2].split(","),c=s[0];if(c.length=0&&this._cancelHandlers.splice(n,1)}else s.call(this,e,t)},o}}}(),function(e){var t=document.documentElement,n=null,i=!1;try{var o="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(n=t.animate({opacity:[o,o]},{duration:1})).currentTime=0,i=getComputedStyle(t).getPropertyValue("opacity")==o}catch(e){}finally{n&&n.cancel()}if(!i){var r=window.Element.prototype.animate;window.Element.prototype.animate=function(t,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),r.call(this,t,n)}}}(i),function(e,t,n){function i(e){var n=t.timeline;n.currentTime=e,n._discardAnimations(),0==n._animations.length?r=!1:requestAnimationFrame(i)}var o=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return o(function(n){t.timeline._updateAnimationsPromises(),e(n),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var n=new t.Animation(e,this);return this._animations.push(n),t.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(e){return e&&e.remove(),this._play(e)}};var r=!1;t.restartWebAnimationsNextTick=function(){r||(r=!0,requestAnimationFrame(i))};var a=new t.AnimationTimeline;t.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(e){}try{window.document.timeline=a}catch(e){}}(0,r),function(e,t,n){t.animationsWithPromises=[],t.Animation=function(t,n){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,n,i,o,r=!!this._animation;r&&(e=this.playbackRate,n=this._paused,i=this.startTime,o=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),r&&(1!=e&&(this.playbackRate=e),null!==i?this.startTime=i:null!==o?this.currentTime=o:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t\n \n",document.head.appendChild(n.content)},function(e,t){function n(){document.body.removeAttribute("unresolved")}"interactive"===document.readyState||"complete"===document.readyState?n():window.addEventListener("DOMContentLoaded",n)}]);(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[,,,,,,,,,function(t,e){t.exports={indexOf:function(t,e){var r,n;if(Array.prototype.indexOf)return t.indexOf(e);for(r=0,n=t.length;r0;e--){var r=t[e];if(" "!==r)return"="===r?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,r){"user strict";var n="",s=0,a=!1,l=!1,c=0,p=t.length,u="",g="";for(c=0;c"===h){n+=r(t.slice(s,a)),u=i(g=t.slice(a,c+1)),n+=e(a,n.length,u,g,o(g)),s=c+1,a=!1;continue}if(('"'===h||"'"===h)&&"="===t.charAt(c-1)){l=h;continue}}else if(h===l){l=!1;continue}}return s/g,p=/"/g,u=/"/g,g=/&#([a-zA-Z0-9]*);?/gim,h=/:?/gim,d=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,m=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,b=/u\s*r\s*l\s*\(.*/gi;function x(t){return t.replace(p,""")}function k(t){return t.replace(u,'"')}function y(t){return t.replace(g,function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))})}function w(t){return t.replace(h,":").replace(d," ")}function v(t){for(var e="",r=0,n=t.length;r/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=function(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}},e.onTag=function(t,e,r){},e.onIgnoreTag=function(t,e,r){},e.onTagAttr=function(t,e,r){},e.onIgnoreTagAttr=function(t,e,r){},e.safeAttrValue=function(t,e,r,n){if(r=A(r),"href"===e||"src"===e){if("#"===(r=o.trim(r)))return"#";if("http://"!==r.substr(0,7)&&"https://"!==r.substr(0,8)&&"mailto:"!==r.substr(0,7)&&"tel:"!==r.substr(0,4)&&"#"!==r[0]&&"/"!==r[0])return""}else if("background"===e){if(f.lastIndex=0,f.test(r))return""}else if("style"===e){if(m.lastIndex=0,m.test(r))return"";if(b.lastIndex=0,b.test(r)&&(f.lastIndex=0,f.test(r)))return"";!1!==n&&(r=(n=n||s).process(r))}return _(r)},e.escapeHtml=a,e.escapeQuote=x,e.unescapeQuote=k,e.escapeHtmlEntities=y,e.escapeDangerHtml5Entities=w,e.clearNonPrintableCharacter=v,e.friendlyAttrValue=A,e.escapeAttrValue=_,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var r=!Array.isArray(t),n=[],i=!1;return{onIgnoreTag:function(s,a,l){if(function(e){return!!r||-1!==o.indexOf(t,e)}(s)){if(l.isClosing){var c="[/removed]",p=l.position+c.length;return n.push([!1!==i?i:l.position,p]),i=!1,c}return i||(i=l.position),"[removed]"}return e(s,a,l)},remove:function(t){var e="",r=0;return o.forEach(n,function(n){e+=t.slice(r,n[0]),r=n[1]}),e+=t.slice(r)}}},e.stripCommentTag=function(t){return t.replace(S,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter(function(t){var e=t.charCodeAt(0);return!(127===e||e<=31&&10!==e&&13!==e)})).join("")},e.cssFilter=s,e.getDefaultCSSWhiteList=i},function(t,e,r){var n=r(10).FilterCSS,i=r(14),o=r(11),s=o.parseTag,a=o.parseAttr,l=r(9);function c(t){return void 0===t||null===t}function p(t){(t=function(t){var e={};for(var r in t)e[r]=t[r];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=i.onIgnoreTagStripAll),t.whiteList=t.whiteList||i.whiteList,t.onTag=t.onTag||i.onTag,t.onTagAttr=t.onTagAttr||i.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||i.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||i.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,t.escapeHtml=t.escapeHtml||i.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new n(t.css))}p.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,r=e.whiteList,n=e.onTag,o=e.onIgnoreTag,p=e.onTagAttr,u=e.onIgnoreTagAttr,g=e.safeAttrValue,h=e.escapeHtml,d=this.cssFilter;e.stripBlankChar&&(t=i.stripBlankChar(t)),e.allowCommentTag||(t=i.stripCommentTag(t));var f=!1;e.stripIgnoreTagBody&&(f=i.StripTagBody(e.stripIgnoreTagBody,o),o=f.onIgnoreTag);var m=s(t,function(t,e,i,s,f){var m,b={sourcePosition:t,position:e,isClosing:f,isWhite:r.hasOwnProperty(i)};if(!c(m=n(i,s,b)))return m;if(b.isWhite){if(b.isClosing)return"";var x=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var r="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return r&&(t=l.trim(t.slice(0,-1))),{html:t,closing:r}}(s),k=r[i],y=a(x.html,function(t,e){var r,n=-1!==l.indexOf(k,t);return c(r=p(i,t,e,n))?n?(e=g(i,t,e,d))?t+'="'+e+'"':t:c(r=u(i,t,e,n))?void 0:r:r});return s="<"+i,y&&(s+=" "+y),x.closing&&(s+=" /"),s+">"}return c(m=o(i,s,b))?h(s):m},h);return f&&(m=f.remove(m)),m},t.exports=p},function(t,e,r){var n=r(12);t.exports=function(t,e){";"!==(t=n.trimRight(t))[t.length-1]&&(t+=";");var r=t.length,i=!1,o=0,s=0,a="";function l(){if(!i){var r=n.trim(t.slice(o,s)),l=r.indexOf(":");if(-1!==l){var c=n.trim(r.slice(0,l)),p=n.trim(r.slice(l+1));if(c){var u=e(o,a.length,c,p,r);u&&(a+=u+"; ")}}}o=s+1}for(;s ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:k,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/,text:/^[^\n]+/};function a(t){this.tokens=[],this.tokens.links={},this.options=t||w.defaults,this.rules=s.normal,this.options.gfm&&(this.options.tables?this.rules=s.tables:this.rules=s.gfm)}s._label=/(?:\\[\[\]]|[^\[\]])+/,s._title=/(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/,s.def=f(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d+\.)/,s.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,s.item=f(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=f(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b",s.html=f(s.html).replace("comment",//).replace("closed",/<(tag)[\s\S]+?<\/\1>/).replace("closing",/\s]*)*?\/?>/).replace(/tag/g,s._tag).getRegex(),s.paragraph=f(s.paragraph).replace("hr",s.hr).replace("heading",s.heading).replace("lheading",s.lheading).replace("tag","<"+s._tag).getRegex(),s.blockquote=f(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=y({},s),s.gfm=y({},s.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),s.gfm.paragraph=f(s.paragraph).replace("(?!","(?!"+s.gfm.fences.source.replace("\\1","\\2")+"|"+s.list.source.replace("\\1","\\3")+"|").getRegex(),s.tables=y({},s.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),a.rules=s,a.lex=function(t,e){return new a(e).lex(t)},a.prototype.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(t,!0)},a.prototype.token=function(t,e){var r,n,i,o,a,l,c,p,u,g,h;for(t=t.replace(/^ +$/gm,"");t;)if((i=this.rules.newline.exec(t))&&(t=t.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(t))t=t.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=this.rules.fences.exec(t))t=t.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=this.rules.heading.exec(t))t=t.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(e&&(i=this.rules.nptable.exec(t))){for(t=t.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},p=0;p ?/gm,""),this.token(i,e),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(t)){for(t=t.substring(i[0].length),h=(o=i[2]).length>1,this.tokens.push({type:"list_start",ordered:h,start:h?+o:""}),r=!1,g=(i=i[0].match(this.rules.item)).length,p=0;p1&&a.length>1||(t=i.slice(p+1).join("\n")+t,p=g-1)),n=r||/\n\n(?!\s*$)/.test(l),p!==g-1&&(r="\n"===l.charAt(l.length-1),n||(n=r)),this.tokens.push({type:n?"loose_item_start":"list_item_start"}),this.token(l,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(t))t=t.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(e&&(i=this.rules.def.exec(t)))t=t.substring(i[0].length),i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),u=i[1].toLowerCase(),this.tokens.links[u]||(this.tokens.links[u]={href:i[2],title:i[3]});else if(e&&(i=this.rules.table.exec(t))){for(t=t.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/(?: *\| *)?\n$/,"").split("\n")},p=0;p])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:k,tag:/^|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:k,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function d(t){return t.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}function f(t,e){return t=t.source,e=e||"",{replace:function(e,r){return r=(r=r.source||r).replace(/(^|[^\[])\^/g,"$1"),t=t.replace(e,r),this},getRegex:function(){return new RegExp(t,e)}}}function m(t,e){return b[" "+t]||(/^[^:]+:\/*[^/]*$/.test(t)?b[" "+t]=t+"/":b[" "+t]=t.replace(/[^/]*$/,"")),t=b[" "+t],"//"===e.slice(0,2)?t.replace(/:[\s\S]*/,":")+e:"/"===e.charAt(0)?t.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+e:t+e}l._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,l._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,l.autolink=f(l.autolink).replace("scheme",l._scheme).replace("email",l._email).getRegex(),l._inside=/(?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/,l._href=/\s*?(?:\s+['"]([\s\S]*?)['"])?\s*/,l.link=f(l.link).replace("inside",l._inside).replace("href",l._href).getRegex(),l.reflink=f(l.reflink).replace("inside",l._inside).getRegex(),l.normal=y({},l),l.pedantic=y({},l.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),l.gfm=y({},l.normal,{escape:f(l.escape).replace("])","~|])").getRegex(),url:f(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",l._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:f(l.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),l.breaks=y({},l.gfm,{br:f(l.br).replace("{2,}","*").getRegex(),text:f(l.gfm.text).replace("{2,}","*").getRegex()}),c.rules=l,c.output=function(t,e,r){return new c(e,r).output(t)},c.prototype.output=function(t){for(var e,r,n,i,o="";t;)if(i=this.rules.escape.exec(t))t=t.substring(i[0].length),o+=i[1];else if(i=this.rules.autolink.exec(t))t=t.substring(i[0].length),n="@"===i[2]?"mailto:"+(r=h(this.mangle(i[1]))):r=h(i[1]),o+=this.renderer.link(n,null,r);else if(this.inLink||!(i=this.rules.url.exec(t))){if(i=this.rules.tag.exec(t))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),t=t.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):h(i[0]):i[0];else if(i=this.rules.link.exec(t))t=t.substring(i[0].length),this.inLink=!0,o+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(t))||(i=this.rules.nolink.exec(t))){if(t=t.substring(i[0].length),e=(i[2]||i[1]).replace(/\s+/g," "),!(e=this.links[e.toLowerCase()])||!e.href){o+=i[0].charAt(0),t=i[0].substring(1)+t;continue}this.inLink=!0,o+=this.outputLink(i,e),this.inLink=!1}else if(i=this.rules.strong.exec(t))t=t.substring(i[0].length),o+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(t))t=t.substring(i[0].length),o+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(t))t=t.substring(i[0].length),o+=this.renderer.codespan(h(i[2].trim(),!0));else if(i=this.rules.br.exec(t))t=t.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(t))t=t.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(t))t=t.substring(i[0].length),o+=this.renderer.text(h(this.smartypants(i[0])));else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}else i[0]=this.rules._backpedal.exec(i[0])[0],t=t.substring(i[0].length),"@"===i[2]?n="mailto:"+(r=h(i[0])):(r=h(i[0]),n="www."===i[1]?"http://"+r:r),o+=this.renderer.link(n,null,r);return o},c.prototype.outputLink=function(t,e){var r=h(e.href),n=e.title?h(e.title):null;return"!"!==t[0].charAt(0)?this.renderer.link(r,n,this.output(t[1])):this.renderer.image(r,n,h(t[1]))},c.prototype.smartypants=function(t){return this.options.smartypants?t.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):t},c.prototype.mangle=function(t){if(!this.options.mangle)return t;for(var e,r="",n=t.length,i=0;i.5&&(e="x"+e.toString(16)),r+="&#"+e+";";return r},p.prototype.code=function(t,e,r){if(this.options.highlight){var n=this.options.highlight(t,e);null!=n&&n!==t&&(r=!0,t=n)}return e?'
    '+(r?t:h(t,!0))+"\n
    \n":"
    "+(r?t:h(t,!0))+"\n
    "},p.prototype.blockquote=function(t){return"
    \n"+t+"
    \n"},p.prototype.html=function(t){return t},p.prototype.heading=function(t,e,r){return"'+t+"\n"},p.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},p.prototype.list=function(t,e,r){var n=e?"ol":"ul";return"<"+n+(e&&1!==r?' start="'+r+'"':"")+">\n"+t+"\n"},p.prototype.listitem=function(t){return"
  • "+t+"
  • \n"},p.prototype.paragraph=function(t){return"

    "+t+"

    \n"},p.prototype.table=function(t,e){return"\n\n"+t+"\n\n"+e+"\n
    \n"},p.prototype.tablerow=function(t){return"\n"+t+"\n"},p.prototype.tablecell=function(t,e){var r=e.header?"th":"td";return(e.align?"<"+r+' style="text-align:'+e.align+'">':"<"+r+">")+t+"\n"},p.prototype.strong=function(t){return""+t+""},p.prototype.em=function(t){return""+t+""},p.prototype.codespan=function(t){return""+t+""},p.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},p.prototype.del=function(t){return""+t+""},p.prototype.link=function(t,e,r){if(this.options.sanitize){try{var n=decodeURIComponent(d(t)).replace(/[^\w:]/g,"").toLowerCase()}catch(t){return r}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return r}this.options.baseUrl&&!x.test(t)&&(t=m(this.options.baseUrl,t));var i='
    "+r+""},p.prototype.image=function(t,e,r){this.options.baseUrl&&!x.test(t)&&(t=m(this.options.baseUrl,t));var n=''+r+'":">")},p.prototype.text=function(t){return t},u.prototype.strong=u.prototype.em=u.prototype.codespan=u.prototype.del=u.prototype.text=function(t){return t},u.prototype.link=u.prototype.image=function(t,e,r){return""+r},u.prototype.br=function(){return""},g.parse=function(t,e){return new g(e).parse(t)},g.prototype.parse=function(t){this.inline=new c(t.links,this.options),this.inlineText=new c(t.links,y({},this.options,{renderer:new u})),this.tokens=t.reverse();for(var e="";this.next();)e+=this.tok();return e},g.prototype.next=function(){return this.token=this.tokens.pop()},g.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},g.prototype.parseText=function(){for(var t=this.token.text;"text"===this.peek().type;)t+="\n"+this.next().text;return this.inline.output(t)},g.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,d(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,e,r,n,i="",o="";for(r="",t=0;tAn error occurred:

    "+h(t.message+"",!0)+"
    ";throw t}}k.exec=k,w.options=w.setOptions=function(t){return y(w.defaults,t),w},w.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new p,xhtml:!1,baseUrl:null},w.Parser=g,w.parser=g.parse,w.Renderer=p,w.TextRenderer=u,w.Lexer=a,w.lexer=a.lex,w.InlineLexer=c,w.inlineLexer=c.output,w.parse=w,void 0!==t&&"object"===o(e)?t.exports=w:void 0===(i=function(){return w}.call(e,r,e,t))||(t.exports=i)}(this||"undefined"!=typeof window&&window)}).call(this,r(19))}]]);(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{21:function(n,r,t){"use strict";t.r(r),t.d(r,"marked",function(){return a}),t.d(r,"filterXSS",function(){return c});var e=t(20),i=t.n(e),o=t(18),u=t.n(o),a=i.a,c=u.a}}]); diff --git a/hassio/api/panel/hassio-app.html.gz b/hassio/api/panel/hassio-app.html.gz index 65279474eee0aceefcb784648f02b41e6bc8de73..ef6857a97f5ab946fad6a8607ccc6782cfcf9c84 100644 GIT binary patch delta 133015 zcmV(zK<2-(xCoBA2nQdF2nfm~B(Vq63IQ*Z+X@*0kF)g(R{;VaW3x^S7YTokZ5zkp z@V`Q#`6+}2Qlt)BCJpmBJ`%TaoZ8M+Sye%DDWRqS1^{g<62HIwo0+|V1xVRW+V|q- zJ&V|Lc6WAmc6N>!h2^RjHu9DUXSt`|AZPTJH9>vlF((z?KysQR&l4i3p)k4{7;>*I zXv%y{lF};kF0c+fWOxLC1&1L*5-hu?kPRvGyXD20WipR{;nk!B9$rX*)lF9T5CW{- zlLZ!He;*Umepd7Pz2u&7(K|Qgo*POuOlBY3b6j~S-F@GoEbE>_DdK)J`zVgHW&|a6 zvrdL%LhRx!lmZMFd{u>PML;i@=9M#FX3hMPm`+Rmn)!lxYvAyTl9c7+*rKVy7Kxoa zC|e0W0$lbDp`7G{$mWn#6{G?6%je&9xe-)6e&G zX`Fiy++c}i<1h_y$Z<%cU7!ytJyN7ZAzO`M|G(jk9H}R*tHC`uSt^Ob3UV;emzP0n zf_GD-##1%{%;1gVX@D&Y14*NAT)06T#`$;Acc>vH7LNG?#ZU$@Sy*97w0Po`A| ze@8A)b;cbRKt<8x4->9Cobf5>Qh5P=J_sWDnF*ylIhs+Or#?lSH2?6;KK zCzA`-E&1(e6E1($OA0hva_>P3KKkPL?oWBwdIL8N(rS!n9`alCJ7Wu282mPEGnuL2 zYb#O5xhGAK-dJRZdz-8XI;cXx!o=3mE*UKrWHDx1_>lf0H}Rp-Fx%e@+LtTTf5??* z%CbzwD0AF9=_26@%89ft*ndSvbx_rtbl|U zi&x4nr+W6W?d>gPJ-oeb*xZ!7sc_qyQeqc5>LGeBsVUIS)v?U!ZR+Wnnw;`oBPH+izKT_3-(#?|*pp7*_&FP?w@;OhsxK~&C) z&LX49=U=^i{NhK-6k=SXw+D|-pMUr5FTB5K`aGFmdaK|!7VeUX^RAW;et%~PytEmw z;EPL72ZgUW1e8wm8s%33lKN_wLFkPL1x@frxPX&};L>qWYB~-=(j1~mI5z}dj|C>lLOMCX31CVy)Di(na|r%n}eXL%1<%0)OiUc$w62_s$*4}ktU@h>@G ze6dVI(#b@JR?qMXy+DrS?2KjjC?jjMOI3i{EV?s1TsV|Gn}7}G<_Ha+btvOAy09K2(`r0`&3ZNm6zSB{qtAL6#j<@5$P4 z1+)34X9m@bg#zubSmtY3{~fP0kqW!$&=3_C@MP7VEm&C~AcRv%@avK-)uBUTd_192 z?wKJ*xjDwtz_(Yr^?$ZeEb@?hJfQC)xZ;8VJmpRQ7^Q8(H%L1h;YbFBzZDiEeyxNp z6OGWhM5G_{kR(KglQL8n&neWCAJAY@&UfGi0CrVmbo_&3-OXml=zlI8!%348vqnwm zXCiun#1(d^ref$OT_-brV>mkftC>c)#8;j873O;9b0h+G)qgy@MzGb8sbWaFGQ(>| ziDsY>9K*gqUF6;5PvqW&YtE}TkT!^AETt5$6GaZ!3gO9k5Cw6L&$sCk%Jl*JBwM>8 zx~jL z1q5==u_Rc)uYZK$Q8vuGQes8;8&0mTpH|=dQfp7?I^R(v;bJ8z?XrA<6841VtD*UHVuA~r^R`&1ny5Q?N1h#k$;u0SR;JdG3Jx}B8v&_ z@Gm~?=mNUrw2r?%0EV?x{g$^QE9`vP8na1+0TiI6R)3rm#fn#L-B$~v=V+Z zzT~0MT5_r~V3el}uV^fp#0++Acts9P0OJG(0X@QL0bFEApOE_+0L$YDNF-Jp<*LI9 zRYxIgdmhFZ*~?dF1@YSaT}j?A6l-U*z7soW!glyt8qr@9$N-pkWvhN1w8I`?IgdKmL0DS{Es<+hkx z+XA2KwF-b>${x;RlGi(R3S0^WbFt>)QFcKDcUXkKwk1q~EP_Xj(;V%2_C1^&FqMk{ zcodj&B5N$6bB05N5y%iTwp{m8bmkLQ#n?n=^nZxuF(xUdOn(U&6P>YRiM=Po^fEEsMU$XR|!z3e>Ad z=co9L2FQd155^?l8n@Fx_7ZU5$W5xX<#{?jox0WG0^NokrBEaeizX~8oSG>PEXqzs z#eea)tgCJWCs58#fHGtV>p0fnSazWdf8>JlKO`4X0!wUIR*MJWj0|JijJWIxaR`Ej zKx6zT`-<;EC^Qi$mzhkkuz4i|t8kd+e$S%UYwbhMQLqp}v? zV!*epqJdt;#7zZ~OUY3UjXJjYV?x>*8(Th1xkqD3Fk``Z_|~EEb%{I9LcHljMSl$J zNQSgUy}5^4tdd!(sQ+f@6c~yh7lN@wigMyxuaj3gXJ8h?=k^>@@K2!GQaFj#J!X)t z;Na>F=l6Iqt*3!Fh$+W&=xq+D8cFOzk(=rDK%A?QeX1sOuEzXW&DF6Qt>A`3Tff?Z z1-o6}3^DLmH}7x1a7L(RVon+PaDSG^cJ=7dLWN^QImBBf7tHQO+}RzkT)=h>kOw8P z?L?}@Li@R#qR}K2kyr+~ak(9-Rc=p0ybJ;70#iK!3IMY_n1l@e!ig)H8F@lujk)p* zmykz8y!;c(CzI#U)Yf816y*x{*kCzI26G`?U5;YdOoK^)-Yf@`6&Ha};eUzY3R#jj zyaFNC6vj(#Bs4iP*s-gIyKwaij0;e`2IJWNPHyEGe~5p<&K|#Cw7vH0*T?XG*H>5m z>(}|M_Gr-FqF?@~4Ik)N??LAur(c{vsdwGM7q4G;Zk^ncWnaH;%Ub;Z8me4lUT5cI zblmIQJ-PMzb(jCz!F2ZcM1SY)_#-L}|Mw+k{`1S%@V}F5{I~1h`jRqVdzAIsv+`bh zzR$sj+(5$i-vgBo^9sMj3?q;yC)cZ$?*-nOXZZar3Wu-oisQ>-hkLwK#KQB2Rd?k{ zVM_TgNb7sI4M656I{-|(ef&Cq{Sp_|-{qQwQh;O;JBocx6crV1h=1JuT?cn9j`vQ) zYum`_P>)kM0$@=wWlHdBVR%{9BWg=B9&YvV#UT)(oPeRj9#yE6*RKPNl(G$+=|wd3 zl*7#c11pvNv#P0yt*H^g7F3&}F>Du_G5czFF}jb3jvQfK_#;grc0VkYyykE9F$y|t3g zT7;4meyC87V^9J^7#Pyvv?xo~kOp(tlDP*w6Bn=(kC6uazJL3Y=MFH!npFU+^8JFI zlO=DcgjeZFXg9ze`YBkl!e%NIY{%lB9S3l-vgt$MPEpLmANi)hKc&J@BjC}sIr!e{ zgj3?EaGLWyX6;ilhY6Cf)|&6L)3s0QbgkxkhHs4e{sGI&kWo=7R3;~XB4xj8B2Ojb zbqWzuC43tvZ-3yn1^B58!FA70DBXEU*+M8&g<+**|kV~bVt16nk_%&`i?nmEW>?1eYk5bt&(hu4azRua7O_H>vlusa#vM#O;vV4WtYIXXAWOe z$q6yeZqI_8a5Z~Psj;4dGGS&{U&41{dtUpZehdp34rJwFJ=-UQ$>pM~}%N+D!=_x7!`fU4jgH~S%+F#ddNpH0R z2lQ*rsMYv)#*y@)O>^CiGSJ59_u(*;zKGrOLw?jwKdxz^rQ$calH-E7dPh(AFmQeS ztP*fxgkenw%ty&O=lhiC=SOMuIpln2_&05v>3?5eZ++y6;`V*z^4XNhKm$N7rJv6- zd6%xz+#deme&IV<4zG+9~gplgu!}R8LSIRV(Yb}uU>8dhG8yLg-7ADqC<4|~q3Ja}p zV}GJ$%>zRnAw!iJR2BlpUtI>Y$Tlg9Y!hzZ%*~QNiDyNLLEGCHeFcf=sC0@CjBj~) z*;?a@F~te}XeW%D`dqXfF2dnb9s(5_Z0eUWXvf?!#Id56CmeB%gz5klf96OlpVTrP z`%8RVkM*NmdGaUI&AfST=yI~^QgW@&R)6d9Z4LWY;(BXyNM9JW9I=G8kL_|YEW%B^ zHd^d2U4M6Wf{!Hcm0l}%g=(*zP6=u;rZpfNR|<*w+zaRP?1|Az+aI)RZzA&iAg7nA zLf~-OYs{>(n@zl8+Dpb=n_M+tg@#68-m%Ql+TJ!?w>vvh-Ec{%UP||BpLk;DH4iRH#}3=`ZMKbOeZpDjZWY6 zBn64Ofd_& z?O7x%l(%2LL~$T91C(XudUWZcUO-qsFeOn^k9O!;1R85=rF{n&YJWa@0XjZ0jNQcx z+&T-y>NKWe8sq!>qqwt=)0l<(s9PqL$~ybzG-fA4txOLt*Mp0I&A8Va6`^du^9)LL zXY&*w=pYu7>6npN2nsz{MjzoG+=I(-j&dp1gGS_Uv4(kY45K_jGpR{bkX^4b-nqV> z%PH3LnFo>Bd4Vh!%zynr2R6;m<5}_P)|HxTUfEuCNta127@O>!hL!HaO85Cn_pO!g zJ6AgC3Q*LZNp;+X`aRRrlZ$&MDpAim;hiL%S{15aMF+|3Y5H2|;iK&-oKqAzS6F8` zgP9K4a4q*-2(ii{`U6;rbtA*2*L#ts=EdRMyz0D2o(b2Qj7F z`T@#EtvSX@BEO&HaiRshA~5-AtpXe)YstwWT@~2>-G49r!J55I_b6J8ALMFCV=*Us z%D0uxM82d1KjcA`8&Fi}Modd6TG%KW8?Q3KkBs^|uka-teLkodA-2~Yd2w~*eH-O6IK-*j z*?_xFn15C7RAGXbgN(h6(`9aDWI?j3Z!Sy>sq#7xUU|_Sv$HtCTQHs$S~;o+KlY`| z?z`$XcnF=tkz4IruD^*=fI=w1!q+M7ZmUo~VXe%?GmN_9?nHT?;mX*B;Vx#F4Kp$K z(%oUoWyzTlFTLao#EI4#l(=Nx$AK<+HFU&k7k^lVvDyQ42L^v~fK3`ol18|y&$aB8 zmEc^v4MP?C;XhbA3MPK=GyY}pYZaM_985l-#Z_Ui7ARDu0cMCJI-$sMg_aEz<%fM* zjYsK4lT!|Bn-orzCx1z5x^~>qwCr{vLI(_xa_m5wC zfjfZWx6E*2b~F7FgRr;`N6UZL%^1>VH^3@*yt9u@xIcIMcFnfs%K4_eTczY6WAtwO&kTjTDaTz|W~w#~eWt&Uz)JM z<-z8R-ze1d@m(JyqzILa63wlqV5MO@#%lNvK9TxW#j4F*-l_KvI_x)4G7g+AJ7bRV z-~~T1&e94p^0E`dqG+Rw5wGP1e^YTA;(+@C2rL`iAVVPxK7V3< zv?nafGldIs)MK%X!_r_LY9q_xZ#aq^MN}h5*QU4w?+f%%cbqEkUnis+lWIePKKe#6 zs>pW@n2AVnD-+8{LKu?wAj?5@ij09UIu6T5$J{=dd(SA<%L5O+YFGSx<)_iodHMxo=woeW9VNAUk3MMe17M?-lW+O6IhKNEUA#c@})c7`MczKzK9qykHS_`a^Q@k&(NiT)gMsJ!_j~l-mm4y%#m*kKXD0Q6h4ehc zU38GkfnW-Q#ofHr<3A6V+?a6&KMV`g3t+x3?ww2K>q0VLm*M&G#mVqen;=d3WL$Df znYX~hDM492Y`@*!etSFvvVXo5W?}e_DXPr;V5tieMI-6vRC-Yv%83^1p9h2yaAPEc zV!(%q_QNxn2lyl%p^?*IX=BPXAfeD;LWbzDuIRamd?BDRA_jO=${2i@V<04YIx)^k zb=Ak(8?0nfM~SdVQd&f|)qTA?LQRGR8cMrTw7rtU8j*D`mhS~dvVT8Fwy+pY68RC5 zAN~N}mSH1n=aYhcS@nJb4fwpiGsGWYHIY0;(>uB<3fcH(qFrdmSQ86Vy z*Gb2fTsRNP{tYl#xp{l9YhLO`1^TvKCy_II92Pc2_%skQGmXDi!P?D>Kcj!dN%1H4 zkGLor;`JHkd@9EcH-9t4ENYTWTfbCz{4y+B+pNaxUt_?aR23vOEI6VhWOSvzNn;DU z9psc2hRR602ptcGtFmQ?RKiBw#|_}}HyMwv$hDbn@aU-~&N#qVbOm*QLY94<^B6iU&2X@7vDfNBxxZl^bqZKod< z3K4)vNB~kBn%uwoIEWlQh%n>7PrFr(W|tzZ82&WQfBzY9ck)Rlp`mGOwUs1PBAR26 zDxmsJjxO2WRP^dg9p2752}r;mL(B_R&(H=Y_A8#kPs!s? z|I9r8xtqsd6z!-W8PB@7+@C#pd{R#yQcj2rKMz}lDt~Gyl0}a;{AVQ{{(SM-2gN7y zL9s00FTH#p-{jaFPK%9&$fX9|?AGRoNUV+yablw#U0c{?=~UqP{JvRy5@c6wOcpvlx~ZB%qs!hpv$FSqUwV~aac8SOYIa|4zojoe>D)DNio zeIK=@_J0`@WJHv2opC)d+6H2yIYQcbqza565Aa=QGEWm8WCv|jg7WL5Y&=Ze@8FvS zQcubY4F@qA90e$?N7v|Gsr*GA+@%*AI$u*GZ!76mJsrSVL6&tjuduPv0zJX0<~M4u z@+ut%Te?Bs96c->-qwwV4eti!cFWJv6b_54B!8<0Ot%Ym{pw>p)t6Xll&t6+#74OQ zJxaDdYks(?paQCkFjHM5sZ(db&=`hJfC{TsqZo2i zPPee1$$Vw;t#-kq?d?b6aBB-X7HBa1I+AJ+*|+2YvbMZ0$!|4EeU^R_cHV5x=H~f; zD1RF!KH{daLfc$b3NcjFGMgKImH%#9w1s2O?>xT+=Ak;ldx)`d~me=@?f-I1R!h`$ob)5jpqeIhvcl zd@0qAB|%c5b!CAr#Y9wr%n2bs4(&G*aBXBDu7Pf=JtBlKmP&Amz>6LAMW`xuzkm4H zK?y)>2eO%cf5U*HqKGEvkJ1aB<9{>(vVp1xUUlwb1En(@UI_6feW&8Tk9b~AsV@L% zp|WlkZVO!!!0^OdiPh0H?7)eYY@b;3Va4WvxBck(Gj4V9Hj3wXPwTe6Pv@6#p%W;L zmK-h4h_t5Z1z!D0%{8N|I@wmVaDN{sE#2Vw662AO@y5T@YP3Q+riTB5Ybj6>*7_IC z?!UU8p2+0_ZMk0Jj&gF;mCfngj4zktB4eyww#c!U20)-2j~qJzc6g#y>L*fkxd`*)$;ohGX&>@))SC77!jABY7gO0=Oo4vCA{=Zl zg1K)51L}#uKanHkPjoyz34dl`cDy_p&bGqveAGS<&+V&YFf;YKt)9+I0%d$A;f+tv_WcQ%Or4 zL-u_GL5v#`w;G=rEObWUwl84w7HyOQ2qg1^%Oc!ro0AA+%brz8fPV%2AqRr`wovZZ zq(pVhU3nKF@QT;hz%S(14QU1tjZ2{BQgd!AiQdL%6wYJ`Xz}0-aZ$KOf3R50 z*-vczx43w{d%M@aemp&6uXp>0yS@U7mYqo4a)Dbkx4+unIDOyYRNo7{UJL&N#BFyv zvo!V5C43c&l*GA=PJc;M#BbTdJRiXjYcmI>oKYL5rIh9er35jR{y>+7k(1NY1dmxY zU@Nsdn@49tLUabpQ3R*fYk(==mLXBL+J!0KW*@I6A=Rz2A{38!aPG>V(rU!;@WN?< zk&rFnV6zM4z~|*TZhO?A^-=oB{UEPsRRNRIa{RUsF&SS9d& zUh3qPM&);fp?7aTu;?f|`VO##62?hqvp#lJc?JOU|Cq$ju$yGnNz4Bk@yJv=(m_EXoVO!rn35xJ`N4vD@ zbcQ}dPx(74?0@|0*YL42`g#c47p_V%Y+Z^5o(EnFwwbAUsWmlG1$OB9JAJ8ITa?$N z(5ogVZCJ>qr|>aKnf5W7cZsZ#o%KCljW~w9DZ0-dKYIG$^u-U~J|1L();ugU&R~7= zp{FYR?eQ;9UOagA_$5^eiV}Wl7)8K?${hGy578gkV1K=|!Fu}h)9*M~I`QSJU%q`z zi7Oc>iFOND;FqhGV@w-h57YrYzc-=Sl97sLgWB;rv`MjYyqX~eIK_BbYA@49R_kww z>4bW=vC z6S7`+Ugs-}qSEQW*VXFe7Dh_BT0xx=22B~hPEM}B@TvMm{60=Lu6=dySMz^;3?nFFIf@1 zfT17@blF)Z`2;wzsi)7mZ|&$Sn!zT))l+%~BUu&vjHXk3;+G-gEFOP2O(%42bkEVR zfO+{&%ot(6ndd4A6t$hsi^7O{^<80I3fZXo-o@yhkWOlPLVd!k1n%Ry?4ITRo`1pW z=~Hj-WMqC|D47&k1Ad^30~{l!5w%ekVwx&vaL=sL)(qp%lst8#S2y)rogt8jr-X5+ z7{>+h@4guctp|i(M-aU?C%u0RAL>&)QJ~Q6C?HojNDkq;3ICUj)Hqx=hOW@>*6FVH zbD1p4O^fMBOV_oe=~KBSMS4V2K7aC>5@=v1I3vJaGkdL;x0CL8uM{Y5H`Y)o4aIyG!}CsjZc`yB+l&o8-MmNx)>BU z3QBy2w4)tiG$fut$2OTH!mRS9^$9n^!4DGEseRmyaK#4_9(C5yYDx1Yl+CLx19P^e zy;sgr&Jip^E$6tmfVy)Ma`+_mfLWP~Suse^ zs8hTuKH_4EQ}YEJiEy0W+Pw&VfS>=wb6UKd`PcC4oWY>+1pi_;_z?=guPx3(MM<$6 z{H<;JS|8j$YPL>&R%|c#eI&HmRQNGNWD+eYAm+)_eYl5b% z0AzcH^uA$8)${a0!HtwL*zha$TW+%lhBYA2l2`U8GWv!$%LtXi>V@mPKU3|tWM|4Y zkoYz`QyKn-mf|Cni+{Dh#h-AQsd0pn!7B*Ec?9kuHQZg{CcJ?>N(&%TrK?3;{dpMMz7Bz$C|wG9^W3tZ{X z_B#NaGx}|@)PB->AfM_1_%K2CH*IWO>Ps}gGn>_+Gb{=p0CFT1WL zd?oI$u#3*(RSwdeU)KUO`(NcR-FRjS-v>jrfzXcukAH$1p!Aupnizq6N5@(Axa5J} zEiqlVOGOS|I{wJeGlBe!d|==Ou5e6!m7<1V?gLXVwG!x}_$sxrC=MoYQH9I)PQJ6) znFrP}p6)C}*Gfaj)HHB4SkHRN9q|Rp@rK4}u9y~F1mQk2)|d$CIi?3!E8kI?LdLpi z3bEOmoqs!al{rzjBk8yzFrvyUuk&%Yq#s3Y26I0Pk5iy6^t|N-EbvY{r(Ter1Q^;J zW4xsp8Ybhs1K@iQscHC8h%;rT4~zYy;Hq-FUQ08{9ytf+oQPyADxAi!Wa-kl=yIr?H;m;6>Ej?SF#p_bf+nCYCmCBqW81<~*wLkodal zLS3P=>E1Bc>>i3@0OA4;Z;(>k!NRI4QEr8s(gyijr2FfxdpRC1VMc(fp^PUD)9RDrZWa#|-rdhQ}8` zkbmfy47Mb%(6ot=oi=Hwk3pTK1`%FLJ&*sN+*5T*$30RxcfV$MZ91oq;}ah)-6Tb8 zVX`liNm|$GB(mdJ%zCH4!VB-tJ}sm9{Izoc$7v8*i9Ng;14V6{iRlhTmi9@+rv@A- zCY%O5A0-%?Okxa-HwP}2lFZiUzQQRZeSZ!e$n=~HNJ_rgwzpGF-6#}V9E#(BJk{bJ z06Ms(rkxEh|vNE&{ zcosO`flbm2m?Ys@2M&U%+|TFo$1L3H6S~qZ`z^p8;uYaj5 z{B6%jw6f&n5+)95^Uib!$hEg~uFce{9=!EFZBO7}MNdJ-NW(e#nFb2aa4~iwM1h@X zXK7Gh%uv_<;V*_{rfb~3!@7*X%CPS|VMAU`J>w1%t}Rj12A8BZe(MwcGJ z*98DTJN6|UfDbvf{*h&973T$iwQ|3M&8D*cZe{(*(GjSID!`Hu#&Hqn$WD<8p()ra zjQhyX1=>p&W{4eN!;Zf$Faqq?=pYb?!13Sd^Y8NWukhKXKk)7EAUQRJv44pr@uH@X z9z$vFJ|y8Hs7wiJQP1h=g-{Wyrgh()vqVINqMA`s(Qe8`pT91FFM5!~7ZD~u!MDY> zxk$+~3zaN#%!RS7gWOuTwpq->5Y2wgj-?HG`-d-kBpIyV=L)e#zuQ^QE4S#FITKK${GnRaH zDdERhrIkeGfx?_VX>w}KVRbZZ--?bzb>SAW1~5gvCdtW&{vEKctUl5|Ve{*&uBjF4 zvIx+MT$RBDYeE!Kpa=xRic;quPn$aiP&|7K^NEK=%%)0u6Au@#go~sN>@KxSRww%M zE?*+flW>|0r=~@My??4-Q8=|2OYx|OdFee=4Q-9*2qfq@YB(Znpbt@al zQZBhjoVN$^C|TcTc|(QPURuNCF?XB#^kOxKq;XP|tP>jiq4PBZYy?gkxnv=*G{a$Q#`h6lj(7G;@k5holDfYw-O8==3lj|Ox_mVSD|;h<;t6? z55*-#Et@JOrXnN1FY^mBR78!jx9UR9xmo><$0l=J<-~ovQXerI73>n%be94SlXkD_sqYmAHHO`Fk<*sC`8*xZVyR-z5Lf;VYI)}dC)uYaUJ*4v5-rMy*8Y20FMoSm-%ZL@V& zh!1YAJGd-Xu;f}vvT=>WaZ)iO>pqa8GdQNXf!3dre?I*$;F?dP{4$w5OQ$IRHB{3k zlJhgtiWnx8Yk-JRo+Xw(-$R<=4Yg9tj#;_a!s@b8p_?r&0-l(_p)(%YP}_`+Il;M` z*MGSRi1P;%#PYVULO_{4^2%)kEWa`>zRgZ<-jitDFHM6fJCT(fjT#DLTcH7yVP!sL z;}j}XYui|BqZlf~3%~~4WP)7n%XMxi0+pq(;vFy`Wjh308-(kN6zOtu{(!rddqeU= zVPgI@+$-Sx0^a+*EBTu!nW7uN;JGXJm49y43mzunv3HR!a|VP5zWHy|`;)(y3-~pe z$CEeSN$?Vi_kwCiwu^g|7I$ znvh1h=5zYCdhcUX(DhL3lrUt|NTU2Ip?5V|;em2C^O$o?9!(@LW8N09P4b=b9e_51Xhy5 z7)LU~?MPlO>_l1M(MvG`1&trNC2e8^(aFI(;|5nfsLQJy6XUFf8lkh5k6EASCB&{IL zL~`~bc@N+%=wgVL=YTxi`-lC_=RlirIBtu$ukn6ZiMaLn+sDryeI#aS#jgF7Xx<%o?lhLuH)`N$M z^9oOK5(74BzmVzZoul??un4|O(C?G+eCQ%hvY26aWCy?$W=2Sq;eW~|X+0(xhYnh; z*@4jsk;G9k>JQX!rJQOW#e#V1g9mQZ-zTIm^)fkT-FN5lX~zDVj=7$9Ky+(x^?uL`F5&;<>7dgO@=2D? z=a1MVp0eox4?Ml5Uw^4f91_mAY?hF2{Bi+5l7?k6Pj0yOuPcbhdSWcrH?&xdD{S^4 zVKX|auY!H?5%{Vi=RoDSaH<+0R_C`R%}`s)p7`r)*cNy-DQ&s1OlweYwWf{mH0erK zuw7Foh*>w9!Ew^wJM8s*^SvAZsCG{SuIrCx0B)08TgZ}_41Wnf*?&z?5#tLy~t3*&7Zd=1OR$fuH<2T8P zEs#3q38`>Uh=1pqKG)ztBkV)UlqhwxLtn+mMuUI9D?-Q9*~oG<)J3|cc^s;~z1`=> zA}^&PVj+f68l2^*r#A&)<5`S1CnIMowDZKN@eWRAv!gBQ$Wv?-C0t*-B%&3d)wH>w z_Z2Mf(G3Z?Zu?mSc&QS9(TNtJLnd7*KWg}>ZJc^{Eq^)Ax;AA@(dq!bXj!BljcGm8 zk!Y?9w<3%^vNs0BSWC&07gWW^&ifgQk&Bk8=C3DNzGr%-UpnACu?`w?p7jH-Oa zAZ?>52!AjMKFOh1Ty7E)&ih^D zD6JWfQ4Ed&2NW&h;RiVVk|1W82aN2_@s2ppa<1Kym^ormx+2XDaN)5W4&# zmAeE|qNKvIMa6|hVmIS1B=CoXI<(N?@3>Mm9O3qMO$L93fN=vdUEvlPcqoWL9)BBm z&cGJu8E1H)+31r1sq)~8GU{ubU@T3UO>#ip!YZJNfLu`z@=pRB>)?uW`213Y{Jppe z5q&pBW8Wmg@h8**-d90UHY1^nq+D3yDgz-Q|H^2=x*JdxavF7tLW?$nhwd8v06I;0 zkNDzKu0nq8YilS2MqYxCyx@*d^?$ropBt_6d;l))i*!xI4A(Y-U^O>E1s#?#U!xS8 z1#lNl6#I6me*Y2}n{SW=YF`dw`P-#=NPBLDj|YCBF_JSEfkAx+oPXI2M}_?P_rX^V zo5WRlF(=h$d_E>H=nq}Z1B4|1k)*wd;9e79ulBr-7wULc7Z(Y2(6GH^861T`+%zMI9jw=qJkgEk8E((`AcnVQLZf?0bx z9h%J-&gRwaNwj`Z-mmuJy9g-C-1W*U;y9G<_Z^F`*R8Za&85>>j(^oN=sPium3=Ph zX?36X>duU{LmgIHldr556mkOZJVYvk!GH~}BguT|HmKBb>0A19+*7)G>&y1}Jpyjq z8e!-{acQJnn&!~J6p{fPR!X37PKA^1r5_M~Ea(43f>P2V=lB9Wcq%P2Gh$y z7EIx11pi(Ra_g8af`4;>Jaar!|A7A76pkyYK=q`J+>9T;Qhp)^&}yuFoJI@dF#Rt2 z4yFMA-S8lLA7Wv16WibVFj@t9CDLwiw(K-bLB8t=P31 zu8%i&V?IwcUsF@$J9m>hC)I42o4`6r)y$Zi0)?J#@~0JkU9>p>L9WDuseIr=M~U+Hmg}*v#6^&w z^RM6zkHJfLgozgz-pVIg@FF^6{7lDRzsNv`ZD1boRyZqYEJ-(u&(86_iOEH}fM1w8 zPKzSFkncr+lYecBj9z7YuCIY`qygWaurHWFAefWmW(LPykczj6`WVBk1VtSFlmtl} z{sOFg{AW}GOXELrjM6L)vmlB~fl4crS_(|MVU+vi&lBZ-!@#7Uqul>q(M9n#7aPIT z%0lN?Dbn}aP#7^Xpi0onQ?IYn_@hD*)xl5~1VcNbsej0R@p*L30C=rWJ%&bD)<^Tm z|CC3{{Lg%(OyY2tT*SR@52kVUy4{`^*>zUT{nzl{?pd&a0`241`RjL`zr60gK7M`j z`qs%Uzfu^AE@Sd{5_27gb26<_Gdqg`r65h|CdePsIht)u1I>GejQk>&_Sg8D`zX$y zFN){Of`5#bD)pdiqv|DgjJ*dp?0u*WpnF4hZ>eF@{-VB~#B*d3j|tS1m5gK@o-%&Z{~V_L zj|o$5<0A@7KZhUxG~vhdxEy}`MxozWIFC0Ee}7eJ*>PA(nU?UO28;eQQJy)gp6Sf| zdIy`zRV-d=;i$ndQS&g3^G&9L2aVERxE!@U zc0$~c+;C2$={F2p>ILyLgppnlB%^=B39_Jl)ZY=zs`egT!tXw0`@xv>%+H7)IgKrC z$#=*OV16%HYnsoSDeDjnl^wbNCT=tNx_<|B>kM7*vEo&H!O~@6wzTDTr^+=HrJ~2Z zgp@r>jh@D2?5`P`H?cuJgt{JjUBxKDdnZFQQ%U6A6&XflAmRp%A3JPis!+U-r8>wM z7#W;0m`0A5$CP14Gk6}`IzCslkZ^GD+sJfK;G-$v2x%`Rt5woI;yl7bjQ#X74uAW> z_i?xvJdVSCy-=@WJCtYXAsb`E%eWLh5x+!8@+Vxpc@Zb=q*DZ0CnX-dN9;WOo062j ztbk^frr3ms(2-XAx`7&b*;FS%70sJwkQ5B?b ziD1k_SivHItAh^|&&Bn0stiYVc24A;JD#859RwPb%BRP&KFqeyty>%^Nk? zPM@&0ccQ;}kZZU>!bAXw#r@v(b#lKq#6^JHOCkOW6{U<+!ir8GYT#2(u7AET^eJx% zK8Nir%w{>}$DE71sW0F@^B7$3&yWsU!SiMmQKbwSbTz?eD|fg~Tv z?8hMqg$g%^`j&t1VkCo$ zxQVawI%y&V5Bd{9uYvWMQ9?TJMlbzl73or=!g><(ma+bTwszDp;+u zch2F+Dz)|fW^I{O9=of!`%<$82dEm|5~mPdqzW2S1Q?c2*rRD`{va-~(Lgonj{EQU zPaR(7X{=@KUOtyz_mzMjnyCxV1q~$>m#6fJ zPK7axushe*?;@McW{k|Q$=!?6IXX=pt>@?iaXB|zM~j>3OObBQXsnC3l}9EHow5cu z3W#<7H=?w8lLXM8%%cM3que1)gHJtL_YpVm;2wZQo%Yp?w?W#k18#o@I?K|Fw(05y zV_+@XAJOhHJ6Yj{4}D*^-8WsF0$}pct0_i9zHo>>Co%F% z!1ug;Y!*0?UXS^w^7Nzbon}pENjq}!qvy{?O&F_UMhhI01+2CM^ASu3{+6;g3_l1{ z+HOXCm#}V=b{qGTlJtLB;9k*Ops1b}+xM$GuIIS}`?~{z&q(fm=LH`cza1gBbRLsy@Hk z@lyNSw;kkLNLlOlNQt{(VKoX%*QB!Pa=TXP8c+Ys-^}CMFyVj94iP+wGbXl~`KY2O z_#CUejh}WIf3?=P2&tFY3#s)~D`>4SS4>YMo{So%xe*gBxsXI^C)&$NXz0UPuhfO( z4A##cK@m#JW{Ya+r9p*gbK2p1CDdsxkx%8owTTtnnqHwe(#1TKJsMD;R&r%P7J14? z0Ne+A!{{DUEU|woo`ov$ID%>sxkNC*7NJKhn=NQrG@U6rlf2e*AeH7At8%rslqPZK3>Xhqa?Cg)_oBQJA!Z9!}FM z+pVgbs;zZQXZW>i%+z!;#EDtG13Cm(MU0ZZ3ZDGAuaeK=-z!q-S8*sGv^6N-#Nk)5 z4#lf~OMibdJT3k0nJYPWrKYaLcWnG7E=oDUuW{(SwR{r`CpqME?~B@tvw!t0wqu8) z7HFt!?VcDH9l=wsyVB9~v*4GpvA}q}Q;cbCBh2C#RYh2zcy=j|SqHzN`FO?_=)y9J zYxyVz8pXWCf~aAtG+YgNDm@^i?|`gHzlRtdqu_t$|0=c;HU&f{ER4XOc#7cDp>nto z8ih?C^v|(%^!`xqOHIRTxiT_ac@*d3Wv}MST@kM6MwO6dq|+Mj%qLdQEHC1OSfi&D zQWSoW^NMDt_b9XotNr20G%SWb6VG%=;R-vq5>$@IIjhqMlLObQZjuDKta|7J4V1O; zepi3@!?%?&36CY8@lc5->X-9HT*t9tuex3GN@XmppgsAT&}S+dfCDJf&pyUC0E~pD zoiE(WM5s2&_!W(=pSHJujmf+T-JFPplIs%dh!51caw=SM*=G2pru|b^r()extASBD zVE|ZTerq4HTXg}%RC;2ab@%`kHf%e{Hne|LIZ@Lpt1w<^%xsu3C+MZR{Y7k?6lmg+ zCX6GhXT+lPFrtu-#_QqZzKRM=U!;#9KTVY^Rn|SNe3?CSBQvOcZ`{HFho};_R03Ei!jnieWQ>daq6tjLQ37dZr zN!8XW853i(ds1jaWW3Tf7~I;( z$z))}UG77uLNUw%QwvpBQ;PP`nYM8|!q<`V_Yck8xOYu{%z5joEgx9P#_qQ>OhRDi z7&M`rp~-`tV^RuNV>Ou;y=ce+QbK=A|D%0>A`0DpC31_o2Yi0LlY19Xw_R9noMdMnlf&9$St00 zhsRZcfa(i5NBiSOTi>tCWD0*fRx4=L6S{qV?SR|^F=pUYlEdFvLy&9Vc0*o1?YR0Z zDpMQBXWKhHg_IZU4Czw#1UkxbIeZbp(2=Jw^)wSXxT1Kpf6Qdp4AG5S$ZK=wEc{J_ z@A8VPF)inYTZ7j5V6?8tQV7O|X}alcu7;nDc*`Z4iEn2R~Vo z0-~7a3vgGgZ^e+`@^*~Uq9s%Al(8A|;SvX5rG^Z^y%W@44RA?FgKTy%1W`68~&boz`H=c&s+TkrxUBN_RO{80mwDi)<=F$`4K z-$~G+(DpWN-l2b1GitEHCIB)YHKk8VF>qimUUHwtfRqzwWMkS~Ka*n?B3Q{WgQ?=z zLEX?7U#uhlc&wJTXd9!>j{~Z?A?#b&?(B$H|~_*ChFUREAOH?0;@gw<*=g4YrA}cvfpadUL^v(1h!&3gAi3WgsfZSdKZr1f*%+vO*$y?%AIXX} zk=B&D=^8kP#vZYuQEs_V=(klEk>E<9;}j^r2M~WG5i6f!oLBq(`;`&pv`hhm>^0xa z_!6S(Ff*18rE33QR823B>4CcgV4CjrMv;o__x~|}5UVc(h504DDXO93%Xv{FMlq_s zpix;OWP(CG;FrEpqHl#7j`^JhBO38@OIc^C>m2VyXeTw!A8HQB8=)Rnk)EB++1hI+ z-5P(WZa)mw6TH6Z72#H5+qpB;!W|{H9}^Z}9O0z=3f8Uw^bjTV9|eqh3$}EP2qc{a zEI7S-8A%*83nCc`+daML+CW}OxLbOzG4@JU3n^YAcUZ5}?B?-`w_hVj!zU(+!KEce zs-3o3z3uI=9WU^93i>zM@qEwp=@g+Y&m(_8nPxl|s+DL2Nya}wp2*M={R?BH5Q+jV zjoN+xzOulDgH>3yCur3!qoF{BALWTqQ<1aT(jp#fn@?MYPA?#biz+GLhr%AxhP?23 zaGFBlNGTuqEAlK6(l3CMOesC+&KuCLcTtvzpA4TXJPd}7S9ZAM`aso$no1Is-eZ5O zGiY1Mi*%(+ThjeaD40EJ{;HiXewcPy_;lr)>c$9nlMYyU&jf`8#1}yX7(LaZoJ1E! zp@}eQpk-*&{FuU}Q<|nfqG#Tb*)?C5Kca8Zli4|B&6?G^E1k==FYfn8MW;XLp@vu= z6+*Zs$Z_21n_wvFf9xIqzkD$GfBAojbX^P^>qHvM8M4G_dhtz~H!6VH5gJ`F=cE?i zlPo$D+F+<%IbcRuSuTfq#)_y>dBf1PP!&jdBQ`u=SSlGgg|c7y!Owq6WrMH(%*qCT zjl(PXaELFk@}+G+9!{d^B|XdXmlOOsCe0oB*uzW7Hx$don0U0}bZqx`e>$Ip8y~Vi4mzuC2ZZ*CfPjD6DZF%pwgEPx z``|It^;QFf%rIm*RI&vpKk(+)M?4Vx}S!sY{hX zD&;!$8PE=*R1iTKe&kG62T-f;P^W(J_3xo&LAVGx91Y=z3!(;1tFJ#+mq;}1fJT``MYNBnzfpQa@Nfj3rdDSVa#@Os|zzsb^fv z7KR>@`&vdPpD3f|K{~T(sHKW%A(m2dsH<}-i(Fqn+TMO7?tpE1gVingXu+oom#&UR zGh8$z?~j(uG=W6`+JvVPK2e8g3rQRs<^DDHC2PIzngka*3Kf6izU~?KF7)7Ku%|@J z($KcX;1ViXCe-{+sJSe(t|H+l-ZUn_%%m6colf+QA*piYdz00$NO@sPV;ZK$X0*Rg z=a;~ue3`eXuwsQ;=qWM=&Z+e;jPCKTmgLer>2{eoWP^Vm;nhfg255&O!1D)iJ2JnG zkk@dL$J;#c-u!=xl>QlS^Kt50@t2nu<8%%zcTPXb8Qr)*G)}XT>-CS9WGmO(95dPY zN_WiEH-g)|O5c*d^ zLA*btDnefdz^#*Z@j?C3Gql1h#`X7HiJ)K5HgbH-T7jgkqEL5xG z5MNXhEUw&+Zf{3Iq0guY1%im^`8@rw2sN-pxLT7RWa+02)dGk|F-MZrh&hs7Revb;$C60hvGlOy)nB%+J!_%QehJO8TZ6l`d0FgD%q5Wm-FD$gE2B>Z*Gg z*A!l+=B&vWc5l-#D%zKDXB(&CJcVP*56&pf*vGhum0FY^oThFg$AZ5aiW{ALQCLa> zTC69aMakMPA#HM6UBfbk-aNVH7!-ijxL7Dn^F)6ffcSW5+^bN$E>!ZkCktM`t6c*O z(_tE>UBe}SFT7O1i~t3ccenUA_Eca%m>_^g26<(nIOXL;wC0JYN}XP+2cDi%X*dAh zeFNFb@gmSLp?zIyYeCNBq#rV1le4bGN1UG=h-E2-$4zI6LB3WodR_^(Q8aL z60E)%ICqZ|L)uq@&aIbG*V^-p?Dz5b1!}a_^Oa({1QO@`*Cksr9_O+wTE0PaHQP(E zn(zw}b7EJj@9Gk8KN!!T>A7F7)~x}8I<v zqa!wTt^?~UL9JHmA4Cl`k#{O*E0%%qSuvdz02hsi9p_2q%Y*o|1099HWIta@K#AOomi% z3}Vhc=zu&Q+zpi|we~!fhdt_A3p+{l90*8M|V3k09eRF22n$MiRCS8THWL}{BBO}Kem)P~IDd{-3 z(AH9l{kq(d3q5Mfj+Vtz{OF<#M)o0W3P+#>qD29o?{kW_yxLoEVV%Z%$= zL4c~qz?E}xpucLTTu?@#eDJjk#W{6I45wRAhry*uLDH;NxiA`3$2{!{B;e}Ew70=H zg+pxEQ29T+K{ByHI3gArk%txrM1IYYVwi0aG7*{ovJO!iG19ml$u&-h7`GObRe;is;Ng+?qpQS-R)Ak60T_| z2s&kR4CXOcWa9JrR3%g|>??`7LNf55MU2#@oSFM%4;{fZ%`2i|C2Cf?zJ|7888RoM z0gIS5@e5&5%2!AWlvMo=G7`Z({8K*XzD&a?Zcoy7RM^kne(-;N!#|onQO+Ax|o1ft<6lETUxbl>H z7;W&dz*U{J^v8d6N!nJX-a$zWTI#YUXfB6N1vs)}z?X8(fbiPH-|(DTZjJ)RYpqC} zz{WU1I(~zWR-<7PVdJD#Wy!aIp(y4{)&1t!R;oeP)Kuk8I884)cspI8L~wA7$QO@`~*?_FfBN7Ys9Iw z^5E>{=ilS>Pi#B&>QBj$JxD`f$1Y&6{QENl_6IRwwC!o;C>$mx%;Sr=2>ZLefD78w zxy<2|Q8|B?(EM5qWHo;}eg7&&F#`OM_q@sZGI>KWr*vWNeIC*=l8{c$)2w)s=x^@+ z#Y_?O7X=-;!7HKyq=qDa#I!?Gru2|MbCREolY9W2(0f8#U}1#?s|d)AIqX;))}hgHA>13by13)14ZYx4=*gC0(ea!3yBauea0 z2z!4Kzg5Y0sRtjhYhx3LV^7d5=^>Xsy0?6Bvw3CQY&N_;JWfC63GOD2jY~vs=)4Lj zs$RJZoSt$c8Y%F#eB^8}P#~5cH`a{@T7Sngr$F7@%vmv_MTVtYnbef1nWse06E}rY z^OOYE1Gq3Wd!-+knnSCaHzlCqmJ2p@N;QAqmv|dDximH1n4A|TPN{EtWsPRzTB7^}4{h-!Xtb4NkmM8X2AZ<~&r_i#6uu6 zV2yRNr`w#!2i90wt%XQ!0wF-h^bA<#KJ1zPY- zNwwFwr8M8TEK#_fX|ygILMt(OEvfZ-N2)}0bZUbdEtHo5z)B!%0l$M!IWDy4ATzL4 z#W%6d0n~bBlU%U)svVt*icHI*74LrpYyN`oMkUh1FH_=Va~Ji{C?5QGhNpbEH@GZ( z2Kd&Uuz23?v;AFW%jYVLNR5onWNegsTygQK6wqQCb(g6vW8ZCHe$dAkZfw{s?@afA zr>8}B$)|h%JfM$v1P7tx6L}P1yJfd#?le~Wav4$UCF$KWV9cclf4sGO1amX1vkX` z62o3AkhX5UlqOQds*5kFYS{L=x4gjXdOrDME81Smvo?vr_SWuvfpuFYFKa5x-`=(@ zR1MYv?!(00wa8l?IfMBZRr-Hd03XX_>KT+mv9titbk6X4!j+1<7)lH{3j)yBzPzh@ zT*W+Zo_TW)cxQrVq9|l*^tw4!R_Bl;i(CiQC}*yfU((dIb6xtnJ#qr89PFWT)JBw4 z1~&mNS?HJEw3410yGp(1;Icck`~B^0Ez(p@&-y1L^JCB(T0m$~Qq_O|Yq>~Jm@Z%o zasg}k3k`mYYpQPWwy_Bc1&`u(m4?+fR=FUweSO#v*YIRHpTA%;V6@LQ8l%Kb%xWlE z+?)vlZCv5oHCLEVDY%y~*@u;Vkd;T$=)+IE9%%}I?yLfSnGsY*D;qlEDf~S`)SFRby*-0=D6Z|s?i{tspFol1@EXYUg8sibc!%zI6 zp@6t=p}JF3DdP?i%&923AT}SA{DJkNq%P2tAcHC^IaiCY27!M&{o&$%m<<=5jxDly zkW63DTd8VtVbd=2zP^F+ggL9|V_J~p@-wRWu%a@_tz`9KHC8G@<}JmRBsBSMb-)GP zSP#jG`xUuniq<%PcSwVV+L(q&k%}i>UM=PCwQs^f51&m#)yjl$^_N~FwFH1w1OSEm z{-1CaH7x>Y$JKw=`pp2bh6`77e;AWpM#E-eeh{zUOht1kb2E`XrfV}P@T{2?0~p#= zN1;uz(?0=vla5l2vAvUl;NT6Po;BJEF-Nkjy6k9D9~+@sZfLax96+t?t*R#kx76>}@<;wEsiomQknsUT>5PO#OFMx1O60F&NS%veED9C zRXoqC6YuoZy~Dw1wlk$kT60nyrze4f>_=q8mGhqGQg*Y`&PD+KPB!p7f7oQFH&=Fg zPNHpyZj>v1fb2<{sW{|~goMoFbm?;Z3%R|G=t?m6pR{#JFLY2TyHbNtp)S<4P;x1T zoF;#;+*-j@&J2~)(PT*Wxmt3?+4Hb4HlF1vyKTvXN#fkBI`Qum9rOHKXiYr* zGiyz}_)}_4eEV5f;t$i6s8@hU01e_P*RVEHrIEZyL6OnZ8O9?mX)b)$OZa%b1XLV) zaWlPyc=r40B+SHHwlKA}p3F;97PuKQV(xBGg}Z;Jd11OMSSP%(#JC?WhlyCwB<&@q zLmP-l0Z@X${LN6#PrKmn(oym;`niaaHq9qMXmYT+xnVZowo zn!ZaE4}Y_l_ox5qXZLtkCy(4f!nUdKOiEMZ89zrXVVa&f!7Ku zG7NvWoCPKQmI>8fIm^{jVeOCi7G<8Ru!S7NRT)b31DHGbpt9$Bk_1t%5iD}4751cU?m)BYPXB? zn4)zCj)KR}fFDFP37-r=^(#fJE-q5AaG8HhBrx(m=oTy}VFKNX(b(_(dfhb(v2anzgcJKtbWKx-j53 zL}w0Nh3Z5!Zl}_O5BYPD?Fzdr(Adzu4|?@+Aq4R@l_smVdGn#UMD7|5Of+tkhUtG; ze}?AQLRhZ`9V8(;?wyzlS6q(I%=lgm<>p+X-!;r%+J!M{lXtG0ikmpkDGkZ(iUi~N z@m)KtIRwm=bcv;!uj}8^b^Tj$UH|RR?KSYb-`Dr-qyGg?37>p+N_f+&9-{uUvQtwo zD?B$PgHEXk?z8WdXHy}(cyvSmrZs=k0b>= zhT7L|kYB~*@oQ*4_`jqlGkgSCmHP?fpxi~sR18L;f61TR5O_Ww-_>}*<)>UAE)osj zWl@-jXAr5>sb1W3{mc>JGsiHp-bgS?R1}7$eji5@p-=R5`o5i8yoU+b`UhF9foW`# zzz7|u9E~9VFeH`Q$I;}xq#l3EfUhL5F|gPDP<-s9g439a;qus~7=;9~qUjWF#;8`& zDVM`YS-fDU@0*YP8Jx@6J+rQUw~th}*^mOO!m4on+USJbQBsR437yWYgaWY&Ac<(=zfk&6T5wAPr1ciOqr zqfhGG=?OlnJWGFx+1&IsiIkl?xe#o6>%;(Gkr?1BAqMy+C1QS_4Br8Yr0=>f&!g$( z!gI%jLMpSeY08hWv*CGnT)^Lb!a-3So&v)dZjx z4pu9P!ZNn-n$p;Xa>+YRr0j zEqj>fgR??>;Jl^p2A2g~K1);CH5vkP%CcEBVc|DCp2M$yN?n34(r}YW3V!&kbMQy$ z9MDGN%=i~{)i4$Wt*$<+4txUD0n`6m@T>8r4$DL{-6S)o74j`UnUaQvxViM~Mfu_Z zP3wwb7z}@-e#m4HH^delHWTQ>WWJm-&(wiyGjVHml_NhG+TXhC0*(R_sCdzqW<$HL z^POE(lk_}sFHNj_=}!2fose~_d}IRxvSW25Sc4QD63U|jP)|@8c_M6YmlC??ESgrl zRY~T9rbZvHqHc{_A)egf(+yP14{8JX1VVg8bN+v08kU0LX|x>{Y5OY92OdD!$|MgxmtHB^JzwJH2Fl@p|?=!AD_^I&EA&6j5RkoB=E# zJxky>7u8WVHT`!zMp=w^X$@bu=O|CjI*R{VEovl@95oQ(o-2X}Lz>|L2b!;T>WOV> zRCN>zob3TWS34hNJ3M)-!NxV|t#$?EMHYX>ON$d2I5hbiA4ev68FK6rsbj*)Ffy2? zXNg$6@1jW($|HlVM09O51q>GEhhaGbQh~cqkhQa0EEgozV_+EDqCb>EZ1sj?Sj0Cg zu7P2x!Z^mETqV$)Sd*dbI-J$|D_kQt3R+7fC!Lnl{9RriYjvDh#t1KdZSK!lKlFd$ zUpE3*XWmZ9xRlV4aYjK>@rq0ivWd{L_Euj`nV>IRzz~=e#Kk92|JEC{L1vU*4iOtA zFg58r@R=9_g@T5J-Y)Ju-&Qyv`vz|Fi`n?DVSJ|O#VbQB=DHWsPX%dQ2wSsQSQ%{P z*c)u7+$TI6a+`yso1e!s^oW3E=AwVh+&7i8mD-;*p}b1UWdn0R@CGmzj9wFE4~llr z_p{?%NVEF>NjO)bU-FGRSlNq`cK@Bm2@Rc~pP;powe8yz@iUa6rWV$^(6O{*wHhp8 z4s^S6;-@@hv9N^g!3r&Lg?5$#Q*Z+r1WYsyi@C5;0TCc=NswU*-SzQkTm*k~S}se+ zW8E&pppRWVlR{zTOQOZ6$q(6_tPuTD;_>t(%;2A)+$?%pN7bbE1Z_wLN=(F`s@fA< zyk1=%NlA>u(P?eX*QDx|Lo5MWr{V159Y*61DV5-q13gQ2LP^z(jlUq%poGKWKF4c! ztym=!GG_P+K|xsi3S&a)XF`9OT$*aXN|88Vi~}aBIYfY0#99%lvBQ0FX&*+sM43aV zK2ZQsjthnbFap@nFnbd;#~>Bmi)i797)pB|kRP>Xm7r_kTY=s8qtZu7G2{hS)ab74;NGs) zUjqNS%wkGn=#bP&y*jK7QyT3Pze0K=T9 z`ch4~YhdkU4DW&LV_}x|R|>8v&i z4d%bL!iEK%Lwc7*3u_n(RGx$X*1_g1QI}KOyK^!fP^_D&#**twIH99Tc%gBEHfZ(X zKg_Oy$XTE!qrQKCJS1xRrxU8K?^32Cv9`~K;r6;c@xT7!ef_wr1Fl=Oag@jTptjxh zW$I^cuVx&3wQ%oM;NIJypZ%JC_G|muuk^FOK|cpI{T$Txb5QB$V1s@RYx+5??dP!4 z&*29B+^*^8c5OemEB)Nwpr1Q6{oJYT=T4=cI~(+KRMUUYQEfj*m41#k=;v-tKX+^U zxm)Sy?gstzdv%1MSHJUn)ve##q_2KmU;X;N9Au`yNndq@pa3vN}j!j_9p%N4AH^J#F=Y)TCBOpcln?pEe#XH85^&plDHesQI z_LZ)6oeE~T3+PeTZDZKvGh;8iw=a~bIUzX7zydWp(xyEP1=kdC&KChzb5fY?tvM-b z3N>WbL*qIuDnn~JF=~r7X4eA*yN=<@S`$#B%o>=grJ8cEnKnnye1H`Czlh-duKlnc8D!(;*@1-E2TjDBo0a zU5O?-y6I@d=H7TfYsg7`x#oN~&&SV=jmIKSu#E>(caGJJsjm1&#hRFiO$TW35jPxT zg_~#`Vx{yZrEK!j{6F2Y{NHoZ7X6l{Mdp95X~adH#`6>>%JsHES?iug-o|;1nxbY4 zlorq90vh2@N!2H#ng%mACyjEey+xYGLQ*fX*Ib$7qNaW{&eOTgRTk-D&@x2;S$uY0 z*h%BGDAEf%ZO&#^DfbZuSLwO^Tp;l%eao`hJbfq1pt>Nyvb2s&S!S?_$6 zCA$6zy0!8efcQyR|NN2$|44(M)3AU2OBx<~d~EmRsN}E*=t`{VDy3gDhc~!yH4rep z9d934&j^cXIwhjeYxQs2IcZEB3quE2dG*-@!0Y7kZ$Lv~;O$NaRj7+JosXleqcVfm zUT^W<*9%^rgux)61ER2L`<8Dbn%%oind)0vL<^`D14eYrNDn~oaalH z@9ytgN47D(-X=cYayFQ^e@^{C z+9Zh`<_QhHuQ$@*`+8#yzOQW!KJ?OfkxrMWG&c>sID=h-SjRQyw8zF0o#S)Y#E@BS#k;&eoyteDlo2f`D1m;sxW_{GSVNSeO2u` zNjqzLPtx`MSIX4qIbh(Yec(T9 z?#jK=UHErVv@4&t_}e&U?(OO$>3;3;By|=)@R*X-YmX~g;6HI}Rl(fgy!c~Om+Q}w zO+o$R6@A_3Oe4I1l%7THr`ZbX$#A31uxp6?Z?zt{wX?dq$ZmP|=nd~bq@wk|_0VL= z^bc3vszM>3q5m^_Th^0Q9SW)!@3k1HIgtOX8rT1RlktXGf4@+j%1zTZ9M6A|E>-Q3 zy5Ug%TNJ4r9GI;}^}kz-s`jkjaCHCODpa55ZZ?b1c0b=tOo255TMX0xUoE=Y`=mC9 z<<|E5{i7KG*2k3Om0V7c|XpVV5g+&a*& zPi!Mt>7oCre=P$mJ?wpId%%yTr1JGRPR=$Xq@-WEiRP&ueAP3_THhr0l_uOH`JsqEYc5d0Z{kj2rw^@!!b^Wqyxnza_u9KB_=W+|$dq-W6PB7@;i zin5{68Rd2|SPIyvgVtYW2a`J!%{5si_NfHBeP?o~roqr=%jO%V>w{{HPd)7vg+&N95r zad5_WSbs7d)|BD!9Nrm^kD|IV9H8Fp?)31et_+8$H$Lhe?7JYkWOF2pVzDOdXuLP9 zE5u=%-IyU55YF z6yea^?&E*Mn{0;+s94H%hVliQwB+V4Z3?bm$nhCRG-G3C!lLuVkY|(WbkA8}j}Lfu zH@X`+3y2vxyt8lZDP7<|v~ak8*c-ZGKgPFU8Ufo_)(~Vl* zgWgfioXPctao2$o$>XEnzrE*L;AOU$GqJ?`%qB!u5e_ly!_K}_SB8T;VR!eZM|EZR zLXV@{N0Ztzd|c7^;Ldn5tOc3K-em92xK~$(FZU7KJBXsXGIzwe*q=pvb!GUHf8UP! z~6{f2PqB!|KWiTsWHCWwYAO1R5Of-=5CuTjEo+KRt{Z3dyk@ z%&1Vgn7B0H((eN&RNcMC-2`|8<{)QOLM(f45;cbCX@gc-M+ zz5d}D3y>qv=$Q@DS_MY>An4{FfT;@JpRjTM>6qCdXIEhJ9IS&3& ze|j*Bn#%EoKbTGSXLp*)$+3=aI}pSg22K8cba!^pRPMGYcX#YSe+8qQxP9&&9Zma9 z<&H$TJ9oy@rg8!~`iFP!j+@F!6zNS}r-E5fAWCm?u%;lN!d`FOTT@Vsxd(i<>qwYf zMu|X|-t3NJd8vRvlsz_{?YT?r$q_PE(}qBf>9oiC?h*nmZlh#mSOcgS^<;YBE+J5% z7fmKLy{HMf6Wwu_e-O*xJK8^*xl4$J@7?a*u7N`?IjrNXrV+8&{iB8=a+zU=))kTC z86VM{lnWIsnyUrgn^h-;3djYX&K&$7m5>WO8BY$}CFBB+Z$}e%3Aw=0Z3kyA02PaK z`{>ABLN4&p-8(gq$_cr1_jXMQxxlyY9@aoA7x-X$&~uj%e+wMlLHS8dkv(w`&Suk^ z@rniRPZg_Qg!mtinLKR>k98w=%gs=0#e$+dtgGDerzyRz|YKjP6j@_B=@6{9$tlapJ z?bX2|x%#`af7_F~A<4zQJL^TPu8i8wx9{ApDudsW*FY-e zgh20|f4kyBi;Lh!cu-g5K!~GZoqIJ!#CU+$ateag+XsmxXH&-#+Yc>(rjAoxl#!xM zK+tJjnSEKN?;vcVjFfLPc6c!p7i!=VdhIdyBi(t z)wXk2$ZYS-`n7YY#KW-cwVf#ev2#^rAvHx&e?uWLw%PQybMd2#G5jmn{>Z^>^AZwj z29&g>h=iH-j`nJb$c3LCI;7{kh#b@;ay+j{Xho5J?@mn-vFfw&zGG^55jinYueQjM zl;qE9i-;wk-L5a9R-6H1)RmEwH@$OE+m4!=gZjSIsK(CaPBRRgq}F?%RT~mT6wtl# ze_mY~3G`%gRNIbR^6{O6X> zHlKL+9d?@YlkCF}urZ#ONh7m`ohc zHD*CQio5;Bg8S<6)4}7J1?7?De!gPJ1Z-q1ffau7~lgpcfKdfW9bETQGEe+q|( z2X(M;#JD{@m^k<>UPL?-!3}@^PE8TxVsnzW)8-9%gCX!7QaOi~QB)J_M>cBb*$c#4M{Zv@RTfBGgOh(dWZ zp0lZ03ZS6Qv(|Z>6r#_pg|5=7z2po%nMK*9*}~yLxt~QAUz7?R-KifeADtd84Zdcu z{7$}Zw6c_AxSNfZH{cxZok~BI;r6>d)1&DJ`!xM)NxAgzDaH?05v{Lyw9vs-ak*fF zuhMkRq9ou>##c%lUWmqCLXG51 zwB^my2;BvGcIA1YYo4A?pnE9u2cH~?_`-gs&b8v>uWY>JHg;Vz;%3McLM?QWgJ{x*N)ge zs%wGU8F+zLWJ~6WNY5F&NZ+!WqB?|nC2+cou-$jg9WFD=!gkWW;|J?iq5UDtHr0iO zk_~R^IHAoKRHS4Re}aa~@uKtYJT4fS_Jy8j*@?8`WHMh)S*aPmM|1Cf#T6h>AnH{V zRQT+*CWz6UB)Wjcj*n|GzRjmGXj${;pPYC=1UpdzBn2lOXhG;6$)Gj=Uv&o!wCi55wQAUdMID9Cve^~|6^DozsUzuYbyX3=t9i168O*d@<}9|8RE=-Bcw8oP|WO(|i) z|N5(8kx>t!e?cHuL6K4WdB}gmab2X;^%WcqEvnkK;>}}bAWjeHdl=8!c>ee@>bhv} zn4LhX{x~j9Rza?sR6*r+n~81{hLGSWLe)TVV*b9q252!5JsxONHfKOGF|z!ChnI)L z0D+&!c>%BkfT|NU64jQ>Igw%G*+@7%1we9uvnCXMe=Et1$}m6?eSUC!0w>D&@^9>N z;Hah6js<#+Rx84YBvWt=B_@&a;041N?xM?!(^c6UT53eMkM+{Y$21mjC>XV z%k@VWi@^|#>9Sd#(%wXjX}}h1n0lw+aM{Y2$iwMLoQ0dY_pLbm-q77QcM-cjP}*i5 zzYPOZ>3&bR@45g~nA=5WF~$ku9=vHskY{X6f9;U{OVFAuvkdyBFW=}J7^(CPtJdY| zvNm#TzSZNqcv_rSt5I^$+B-1ag=#dGN!xuTGyneE!|b$FBsiUSQU=s5a+l+Q_VVeiv3IhP&gygL$VD0;_$8 z_pGA3NEdB+mlsoD=3HO%tP%vGf-!KsfA;EOTEIBVF5xEkl=o-elg(2N!MVQP;#c!* zf|XPomAkdsVA~%Fc|m+}CQn89*=Iqt#;W_k23@f8h@zsIe`SJf z0!!NO;$)h>3-tbj#ySyf^Qn#Co-c-U^LqZEeWR%h)H+;W>ouu05{Ep`sM95i(6P7JHL(=0kWLjh>G)wi0=CZWW}z{Vf*9;Wffmn=~Lp+H{0nuS;14?DeH z?+CUbN@z)#0&_%(cOkKe#^SU86@0RMB7Z*jdhlr$zw^XH_IeKNZwBoiSqUAF)pi6JC51mnM z=!V~FgM%IbLya8V=3oW=9{jq6Vo?AuKaXbxG=+ZvqrG5KWb=WC|I#OlPCfXCK7WW> zd-yMYB0&##kE70Sz0TcRC%eHMK7V+3()KvY{LyZ(#1t4Y z++1zvgczK9u|G;e zF(ZSem57r&=p*|+XUSP{J_6j{%70Z6K;I;c{Xr5=bhQ}p9S*+`0fb%GSmQK-YW|jx-1TS|Z7&H9{uz%pdizuGM zRYd&KMf5k8Y-cb%K|2kp?o&AI$r)$n1Hnqs17MnsvM|k#)04qmj41`8n}3EtVRQBr z_G7BY_rnehuJ;~xXaBYzWFbGByJ#T}$3^xK$T8Hm=ieVd`=z8HyS}a-al7|@V&z`_-~#rb`j4IADkK`K^&w(rV(nE8CN~n30Zv6R%}DdtCc)B zlKM1Au@A1`{ya{_wU`AIr)S{72N8_bfXO~~JUoJ@OF$R<^?~oz!hc|40M(P@-bnz+ zdE8gBk{Gcv%0_K=9A(Gx$w|1?3+y?D6u@j+fG~zUf+kF1X(T{?z*d2T+31ol1+Xpt z3PuY5B2*Wd{iFnqJjNDZMH$@E1slrmIYQpyW^;hs%!_mZi!)B6Y)Wn59XUE9DRteG zP;ffNCqAh5O_adxB!82#mHN8m=MIh zam{~qgg{-P@_%E%L~9(fLGrT8d|n$+PuFZ00Xr_>5*^q)vSa<7)mhMts{YV|p)x4H zk^<0l^E4}*gqs1Swutah@hot!Drb&*gJjg{5Be*-AzFZ!5f2Y6=M+}q6O{fWtk1f> zK0XQRvpISkL(gjB0Y3Ncxe;CAed^1;yb?7KqPo0FzkfCX-rhFf5~|DUoJ-?f#GaQE z`9yM>8ia|u>yF_=Tt20^p-lS4d^*4kSdg6ffg`62=wOW)5Fs&Eqjr{^8x|$_L0ku( zAYVR8P{O()pmfAXMg+0Ee}WwN@g882xX0SCLT3nMWwuIaEgy)Q7y^80!+awN5NV6V z>-gaEeSbzs%cj1j&b?uBPcmi0WM@ZRdXAG5&P&lRV5c~_jsX}Yn*eU`?2Ki4@NMKC z@o}))r6BOgWK^ovJfH}?6oNVC596+N`h*F;LDNgiLs9^u^tRZY!4PVOj*_V#q!p;~KD6K;k9bxaWq*K|B?fPnPL??^4mCH!PR>}dKt znTy{JRU+U*go4%j#*CLQSxLTr)ir*a&Zn=U@l!nT%HmMM<0m+hujb24t_&~qM66FE zyV^aSm1^r9?~|g^IVIB?y?~X$&5H!wHPT8KLfCg60YCmCP4OOmQB+vY37-H|49U{@ z%YOn9N32fJlCy;TC9cF}RSl<1Nj$17B|y$83gGe()YKkBv9*<9X37(12}xn&T@>PU zg>&TzAC3f#I2d|19pUD}2ewq6g?zZZK zB=KdecQM`$y)9YG3)qP3ZVkLy1ml-7LM{Om5o8I>JcOe7dO-?vOiEUb&E!&4E21%R zmP+<$tbmdp7P5hkQ2j!bK_Q2FAFlKT@zRI^5IB{U7mz%eT-H>k8n+HsCORexn= zCPuDU56QAPvWSYlEm2V*w0V_^nj~{`HB8Z#)&?ljv$MIyjWVNjt11ct%AAYmab3| zf`<+K5p>E6mWu%j^VN3|VFLUsQ-4YXnkbLN0zsMSrOQ$@Rf>EL*ecQiF3cWCQ4NkL zzf2|%=keqXv`lhYGnW!zW*?d3(8ZPuv(OL5Ku#}G09R1O!R|llb2l(XTiF)^?MCV$ zDx=Zhv9x65`GZEKxV+?s~l|c@A+CItwCa0t$*NX7OK6d zLqY+ufz)t677uo6Sk*T9pn#Amy%I4@ap9!1!Q({6BZ6Zfm>b0JH3)5W`dULa6B`CZ zGqbE+y-HtwS6|eK1F0O(uFR08Yd#k43HW5R(UF?qn?X@wN(0XMKfSnM(-@Y)z5=-B z#{~L^#qSR?p$_j}9t?V$wtwC8N_Tx#sLHKjR=b=!;SH_=S{M5uaG;Yo-M*p-_MBm) zZfl8RnazOFY=!de_B_h<$%;26=Yd>M59>7RE!trn*?ja>2&){8TPwY;zFdWxIdL51 zl{Jyv)yTD;gXZQd$<+-x)|n+PqnblZ#yAU)FEZdYPJ*+ImCwH1On>R9CfdQ8kO1Q} zLo=H!n#MqaTXAyEvbb=%)aTkX!;kY&Z#!?-sk<1XjQ49I{R{LFCoWqBj5;-G2 z7a}sDLe)xVtte>`Re!S@9J_Nc*%WP~rtAWm@U4hQ;*9H17kO24sigHJ31 zh74#TL$0hv^NMpIrn4R8I0pwkA7Rf}3HX))Jn)?@&N$C6TYp@WeA*gcw&EghaXl6} z8yC?f%*fkPLwFH|8k00bzRvF=9ssfx#bU6#`|liX1Kmk_f$HY$eYAUEA`SfSyA(EN z>nDaTyf0f^ISjX8iyM8Qbr-F4G@oAr&cHCTcX1B994@v%8mqx~@q8{81hIy_YoTr} z;S0Hh+xjdnu=ZaeT!EEKd~bE&%74OgWmoOP6z)9_TxocI~)V!tSHUq9lhN zV2jXCR6J|zH|gL4(ypHeZaq=6lO(e`#~ll$9!0|>xiKl#D8MbNi31xL-(lortWe}4c|G) zauFKDNB2}3$EMR@t5KG0sWkAmm5C}qpzFLZ8?|viAB>+5#?J@i=Y#R{!T9-L{L>wb zWS$V5X5ke^RK>T5(z|64bD>EZvQ83YVbO`DQp2;TIPd1aW<@)_mF{G>GPv+205w;V z?gGWa9e;#vZf{r9x=?iFPUcT+)jWUj2=*bCSZOuacbSrV2r?msa9kOhKS1D|0D*ad z2S2wV;i3($5?w7L3`e+_BL0nqG}w#ieOoteHsNdS!Z)=5k+DlC#&yPuhr)30C9Wnu zKXGdq-UF;ut@1alo_v78a>`_U(+c7_NTbU`f`3c{X%rM%)LT(7 z^nWJnK6~)<>5B)Cp8oJM-0$@;r8HCc9)mNQ*G!Yj=jNCEqoyp+9v45k!MX4P}(;|zv9w)#&LQk@DBekSt&CgUJ=ofMs;jHD8^hL4ZngUz>R02Jj)Cxwcqe&JBj9w%0nDwoD&H~63pC^(yqC*rFPEy9 z%Z+-uRJ~l9y<8f-#Q8HxN$V)AID)n+%Y<4E4o;==)T2-%>;;adtyIypOn-ZCeO=ml zFglfE{Lbg`lu3R@CYG0%6b*riHVHQx4xqrSteB1$f?=796dT3b@PQ!d0V;?$d}5cGWymJM*}0j=4fMzwj}+}6(M zu!$viqO)YL1mY31DD=z(Iu{l?CoZ%#*}r3)T96V8q~2afFw0( zo-h-1qxs8Cnnx*3^K`2#kYLB9q6uyG!r1JecGiLtp>hLRe`Tuc&3|v$N$DbNH%&&T zo_zSbd$`LQ_9-r8UGub(AJw`cV{o>xrn)JAsIR{YmJ7$G77Tzowj_pF$A{d5%DBoT z>dq^<;WohGD8RnGuU0|XwZ)lmZ6QMEk^tB8#C4IK*v>92)=H@PapP8@=GWajTm>$k z)miw6>m1UisWm6$`G2+99PG_)4Aq-JgG!`Zzf<>lp3bKYUNKGWMp;y=f+lI4ys0;y ztbtEz$a9vI-AFN>H_0q@c)@v+=2W}lddo0xS*_D{Oq0i$^f!^>(0GKSM`(JLOK@dJ zoe$q`>&bp!s2gjH@8UbwE0~3m1L{!h7awIw&)>lYK&Ab*-+x8P?!Z-{)cVl4?b;=W zrk4p8kknsCy(W84<@&;9hE&&Gb0sGTE@P$;Rl7NE?$nNoTkMBTjTglM2a?8v+W+z?8b;@ORna3APq)*cqRJE$%rA9z% z=+gGVsf#CRv42#@Gsj=0&$Kax0;|yr>X=R&s>vNLZ<^L@-0w-{!)Pi-1W0JLE|lKX zzE?g)R0>**n;RL92pY@}i%o{2CIJUhe>%xw$nNDhD&}{nA80jN8G!>{I24k~@>lii zj3&f&_X|VxT_X!eG%$5}iTRF&r&W)eNLP`GBQf5n-hc2Lm6GzvqxK6rL33N~%}U4W z#!xa-TrVe=%ng~LeX6$_>JT%@36#ON?+LOsX-LfcVR5flUP$yBfGj5Lgn$WdK{EU{ z(i%$K20Ww>D^}E;NM*L87EfJ4$z->gQnc+cprJ2%xlvaU$IPl*Y}b@_1%+Gqfk>LqSpFo7E(Aw!9o<5p;n)wPF|N8ERerf}l>Wh>sAb-!`~;&ci0~<3R3@up8Z?PkE{Wck40Buz zlfhw8w&8b^ua4TGmiGvp->Rl=Wt_q=L|_O@@_%I}F{H^r;BD45^9<`wxy5Y_bgN;c z&SpZ{25(C$cuPPe&E(@1##sC@Q5Ffz68umI_4zO~t*A@0CP)CfkV4Dbf_o)%d6VK5 z@li)Sx=HfsZW7<$xB(xwEjTLl^1~LQWZsUY;<|*~!cr!=*D6i79yY91vt|MqcsY%Z z+J6GY?BSt)xG}YkYIX0q*5wM@G4a)L4C@6}cFxxN;qZg!utlnNP0G%oU2DljPW$Y_ zW#_B4v)2Hcqy%B(Oz|W4eO5+Oic?$kLL({i-g3dByv}?#wG3_#4W>U{8=NedW0AP&^bR}gp z_yqIbM|ipft$5Y~dQ_^7UHz-0!d+nS4DRUjU#%!7#kC9Al17ul3uu9AeEGY$n17t3 zG8nqAQZY@6R0jMYhkmFT_iva8NQC1KRkq4SHRDm=Lb;6Djt(`_423RNX+niNX>LIkb2PxCsx(wJ z3YaxnmZhb7?xVOMH6lW<03i4~ixztzd+tsX?H}$nj!|!zXI9)XsK-Va8SrxiJs+M5eQT8;5P-lELh)v<@_+p)IdUnsuVc(~yTJt_rI zs$U>NkGl0)H zS!?yd5vyKicEqahH{z$h-NV~g*ezj{1?dsT5RH%tV_e8Sii-QvJDnZPolt;OOTfJVEF zUzahrv=AI2u#{t9R7tYOW%U25F&T&!opXSM6JD_`va@j{4FXEm1C8~J?#e^@O7Hju zH`LkPJ3KrJOp6P+FMqY>=q0w5FW4lW#S|T{0Dc#Uhza~Sec#FB-w2(Af;uF%w&IIL zniWy0cjXYjvNdW|*;{`Bp1?$X7e}Mp=^zIo7=4?h7}Us|MI)5n?FMrkNsw)8oHejm zEU<*f!53Qqt+C3Gn;}{j>4tNwy8M{v1NM^EGz0&_t=@Nrmw%{&MTK3BDZl4tLzVap z71NSxNQSDJiPNw__eYm_^sL@Ox8&aOG5o<8Xqbkd_!qyUdGQ5)!(aHke{WYc@zDXN zzOM~9Wu7FJ2s>FiX9G{>O2p4TUU`YS8mnBEUek3ud(Wg3TBlN)y>IojGvYBwxZEjXIHOKHx%tq>;+S=sGvPl2XWM{H1VIMJ2+=_$?e z>FM>gSbwuK^tmCX{rRj7v%zCO@G4PuMte5*{Z-w3x_aH-#%Df!O>j@{OB`g2y(bAf zF4zT%oLG!zj>tP;Z43*mXFDK!O>al`;18K$fMGj-q$qM4nXd3oQe?|X0jG#CRc3+4 zc+>%r=!}{pChDWpEPOHroELrM)`X3msWdkOrhlg!=3&)N@L}OGI`KS4FW&^ezK;u(xp@1IQ-7KuPhOc)N85j`USIWW}iuv?m|HzF&%9s&w$H7w_%7{u9G~tOiX8S`f=96AT#BqRQp+Tsd(9?|H1YZ0p56^Eu?C{hP#_8rdo3r;onC$0XIDc6v z*bu&u+pYuFIdSOnP?4@GK=CGRtOpeFwiPe2$?bp$0d0U|#1;p#)+qpw#!+U5j<)fn z#qko)F8&KoCPYRmL|1)*nfyX;*Di;o#+T(z5f^ik*&ZL$&y$mKFlrZM=6J+3ou^s+ z8)}fuTUKyQD|EIMbh;%RfqMEJ6@NL6p|EejU3^B6KPQ54_UpIL?AK@Z>wgdX1-w`A z0$DH8r{0*c`Sy=wYyu(yPXFTGMqCeYaPu_6m%C053&Mc)`Ax7s-<8x(Px;Hw3zo;f z(QI2`$V_MNb~!^8m3wH1&a^w?T9(c9bk2_pp->Ee(Y&lfjR~cvoSV%&g@0l%cq!_h zeP@+f1;U-0BQ6(GKB&f~3hq2qp@v9ZncBMK?MkgtonjgjHN-p1YN2Zmc~+X!ku#Op zbw|@rQlZg5P^#J0z&9SBRLpgw0h~)a8*f9{?va|73HLkw=4mkv z6>Qrk7Ra5!mk#%Uo(H}gD2LlnRwi*!mG<+nG|pBWQ{>ptBgd_Aa4AhF%%woD`s%Z) zb53_mYj{M69q~!Fco?#E``@ud70v5H*fhY3P&B#?*3byRVnaK+{e7ZhD5 z!dju1D_fvIwcyG+kOy`rbuKGCe+;2egx;X?4&&bnO>iI+j}2-Pm$p6RQt3Vq_qHAb zw3&_(z#aJ`aT;PU9`&3`!HLK~!gBi4(2;Q(3{^ALctq52jtz@=3xUNH8vr<$p`A; z3>R#|vhWnmQuv3vM36Fkfcq_WXUl-}su62Rlub~Dco^pe&*C*4#!7miL$~#rQI^%O zw2Ojmz}ozgoDIrapZs9~6n1ajviuVRzcXQIbkIRf6PAgoL$x&Y;!AcC>AR!_)M@et zwLVGt_Nbzat%;NW`9F{Iz z-SwNglkUSv9dDz)8^-8R5sPxXc&76?UO_RebXrmvTPO8vZsoV|B$=%#*lZ?zsu$L1BHOeUyzYJ~n)g2xKC89J&|tv;_fu>F8_~t%r~%ok0#B{)YSEu31?(m&8!ra9 z^Qk? zouI?Ie%j1*OzM$W68ffCUXb7q){5PXr?Hx-7D1vV?VsX(xZ?7WPBc>EpGBC?|YRZhy1TV;PX3Bxkt}FI$%gc*#I^W**a{5uu=*H;gxJa{+!=Oi$ zWGlz}UyGTlDV6SM4y1lY7=|i+Oa9in93u(aKy?^=m4#QU;F~NwwsZ?jG#8`+&3~W8 zvNwD4JQc>@FO4=`I5}8@s;8)-VQULq)y}fM<8+5 zcnl9p<&la2MDA%5e)%eE6)+x9n@T&viF1#hF3hPQS2~e}(@8nbLKA5fwZ!zLi*m!x zSr}EPJk;x_VopV8?3d?6u?Lk3UDcxu1S4Sh76{`f2IA*6Kwy^$MQ+c8Jbww-bs=lC zt6c`tZD2DtxhICaa^|`I8D# z)uXBTKx5T?Lh7U@v&3dIpaXfyo?fIrBz;(0H?xL)x3~0NbLaAF9L<+`IXP0n#);3MWz9f^q2pILKHa4dHw+nqIDekJ zBo)}|OyP)QY#1*HU!e@cT}FcTVwpTi2BcCWllT|W6}a|YESTKOCTCENjit}bM&;0g zMHz)r<6WVqgm6Se34hLQ{Z$4W9Nts6l6v)b-aG*PgFIuNFd{&PfmMB2cB>7NZmtS@tdz z@?4-}VSgaCY~Dp#Qa=SH9a9>nXo+}FE*5z@dlYBIWgV?Hj(;5)(7?H7bY@?z#D#Sc zWjT8?Pots@rzpnC091!F9ev4Kc`TVyP9LK<#uNnAVuGWP49~Z>QPnXX!Bu%_U_Tm! zT~V6hxz|9^cF{@v-PA{;GqK)RGz|mBSA8V@Y7&oJL>6E#)b1!Us6S-LrH5SkbEJP- zWzjE)G3Og7=6{IgR~HR)uWD6qi6k!k+Ug@_NsKPFOYH~;<~TNqABYPjl&1Tc z^nA3ntNF&UKmuw-F00*h+^V$T99abxbfG{ktQxOc%2l&GX>5J8GBF&QYH9|xR$k%N z$#TCZ;e-WwRXK0kOvJxa708=73i+Nt13G7se{0Kox_^)tc>kghRsTY-t(w#Jc}pfu zaL7_T4!<~GS^i0W#2w8OT3GRqB*_D5(P3|ys-6IXeEna5DS3(O9{AS402jI5v4YF>)MUI9@a`HO#(04f-?d6= z5dAgr-EaPS*%YzeX!uD6>+@}NX*|{$xi0{rDSvbG{+-X&Ygf~7VM+?AfHpM_&z!J3 z!7~=gXnuy35cIXpI|uJXyER<`)0#E(_<>Ko>$c$*33n2JJ8%#>(AB4TxiYZKHXCI_ zC4VO-nIv#yuYu-VYMlzhG@Q-sCfH@|idJ%$t1XO+ND`pLvtdyvZlyP2AdVzgD#0 zEVZ|9vY@Q_rZk3XJ$R6IQGGODAhppvZ+~zQLg(a-9&bv|DcpmKd`&SG>J;!ni=d=; z6hWDK!RhoH^^>pTW3F|eKT*uaUqK3<0aJ5^US#n1J41PjguYw-;1m_$UTOsfp71KZ zV0jT;P{KUQs|jWmdSkhW-hV?2RMotop@=7esrdpchPHDk-+#p@%$SbG$b9Q5*nh|v zs+h2Wio4tWqMO$%83yP;j&Wyk=sXU()8Tx>Fr@IlkH3BV?D2Q6PQQEp=rKXWQ2)$| zD1jh&DiEFlQpkp5IKbYlDmm)4)+((W2vzbhoSBI*69H6Krv$Xd!s(=_ITG`)Yi2KU!s~B3~Y1Ht(6~>(xYBdMTmu$bDMfmsGr*(W%m>`yuLwmFBXl zi9`jEjoqKZ`O{%s=YL#LUrGJN!0giHy`eUcai|C~6DLxINzS$3sg$L@;dCjVO%y8? zM_kbivGil0k3{Ps6hhaRM`-=(O!54VXZG=#5q-B^Nvnu=hJPPORu|oA`CXLUWv~lS zT2`IvpvLIJ_iNwid305Jt&ei%26$lY_9{xWOG6))n$lB$gO;#TxuKiXSBbn4^z!-& z-8!l^#KcxK>yNcV*b~p^wdFRQZrFq>uiBBUKX>d0YvJU#loFx3(%G~>z#E^UbIO?I zi;aTieX(({ynin~P4HnONG)BcJEjn#MmC|v)U953?|Le8-LZI)cwO3yYCI48nv*&mM*jqEldO-V)1Hw)YK4?HkA2gu-x&a+* zJfMTd0UgxO^_l_odp91@o|wH(|D#59yKzLf8(>>Eqz_x9!;c@*QR9$~`R_)%lqYo-`9to@_9xo;TTUEKb+1ueYE(E7AF2_NsQAKJ$S@cqIF zhM2T(bH?O{jTn<3HfBtIFc}lCi7|O?aVD?pSbr0I%{h-UHf_Dca&`!4?u>tyQUvsi z3k-e)%%HWzlsSto;yFP1<%@Kj7U`Ek>&x%>-y9g54sh)8%;Cj@>gE@~*PoLIk0>E4 zb?9PRgK|}XkUd!oQ0rNm5L6FIAvenL_cNBvF%eoxDWvi51R;A5IFiS2S?3MQ5^Ba| z{eLjBY6eKeGRjI9s5|l-`<9)FkXRdcl%(hZz-pc1HFs!qh(nmai8_D)OXsusJYM8+ zUdJ%1FzQbL9ut$C@CvLx7&HW5EhF7CKaoA*p5nA(LB1K&CrzyMElaZ!+w?8xGq!l!L>M z7)t-Bekcb=HyBF)Qw(MQ;A4i;Fp`ZH13vHCqTUD=Hf*{xkGKg1oTIZMRX%rYAH=%nV~iw7cJ6j!q%hd zC8{$n0EAgQpLc!P)Jq1dj6(8!u)BK}7w5|{hS%ObhjDcxIj+)YXTgWEyMI{D=eu`% zecqb9bj#a$Gd3Aoyl>C#ix~M!w65@3d=X`r9oo2)be?8|)?fDe_}|bFwiMk%SqVK+9O;(s={_|nuOQCn0rcfv1Q>Fq~%X9s3yQTC=< zYVYW1Y7THt8cyY6<9&8Gdw*yYizXPX&=}d>BV()L$lk`Nz%2^c@+6c**~6nSDtRkP zrmb-_Ju699D3`~SmK`1(+}Xd&hR!lPN}?+I1eU{P!H)64D6zeC!%8$Q_7OeLl>l+`jz(K`k?}xjy9^pCK&cn#R&he*X_d?U2v-= z%mLV7xG+)p;{(2yK|O$&$A!d-^{4aKG{FJYO&V;^=PVYBhGG{x}% zHj2ilMVZ+wy0drN27g4_R3bpgJ#nTnMT{llWbyze zjKpb44oKU&0oyaI6cWVBD7Ak?xQBRw&a`=-uoHktR(sL3(`ezamhCeN9o?xPEFYa7 zEe*bAu$)Y<8?7wm8181H_c-38IEl#&vb=0-QFbSd_CvWU-9eh=FLfvh-c(IRZ zuFUy-KwIw9%iUm!84O%}f`5Y!o58R2_Lm<0&wt`q<z`9G6#-QL>!XF-9XG$oS_&Gt^5K-SKR6qDT@{sVOS)tt6*5> z#(y&mawHODS>QcUdPllBmr6*M^B5bkkc1WFCKP&o{<3vf*2I}6xT1OMB7P4L<>U?) znLQdV9EQ<6J!?%Qsu_kZ3LeqN;0C93dXoQ}xUE50YCv-daiV&W29 z(^HtsguD`Y0|Q@lw6i!%t?PqNLuZFU%P{)BNk65=8y~N1np_cM2K*9S3#o(-<^%;w zf}FQ@TBfpm;Hn{b5#%$RmCOP2NDUqCR>gj9(%_u;*DW$N?5fHE=mLhmanEzb_kV_% zwm5;Crsc|GoMvbcR4y;#PuMOn5GYq0vN#5LkBF`3bX`yq%bnpb8Qwnlti8{!(qU-^(oxx8iARqzxM_6s+zh%QoL8^#}2 z5$*Bg39G4W&c+99F!L2_qv;|)n16^JA3FLEY`~s{x<+be!``x__Ouk*D$vz z)Is*N-&+s3$I(561lBzRh)|RG>d=3>)`wWu^)EK0~zGdl{dXiqKkN9W~n}Pt0I7nD~N#( zQJ_28usH6OCvovS;l6Zgz4x5b#Leu9TM73wkmm}4BIY^_Lq4@5Gk>)b|#9HgV zIlyu);2~r z5+1(qvdr6Z19g4vUBuHVT(@Nby9L;QMKxB2ikW20m-aq_U!j*37)eir=)n+g>BR#5 zG?Af%SlelwF=|s-aN7hdbfifKC{E(Xyl_1&?@Z11CfIR^cmq|#fC8X86 znI=Q(KxdWa7YdJ*7mB>d;8Ly<2vf+L6ifv z`{7lb;0>5c1AlFomhi$OOu7IB_5xz3jdc8`48>F$nKBIvtO68j!Z3|KfDfSP0d>T+-;cjx?a;31+@fEJvGkq7^H zW+LbFM;`y{aqn?@``azxjEy+?GLwl`jReUWa5n}xV}AsTVAuHWLh_-98gMqx&Z0>R zF5-kwFNIfuv!Y#eWm?eh`4~_QzQv^4g+$}L)G82n0m2GZkm=Z;vboG|N|tzGG!}@P zTBXoelrBpVqE*V^u`7YXKv3kj?TNhwO^<2K|A1d+7Q zQb}=5I;Q}zs6^<|b<_*iZr9LL7wq?5P@+bm*IU@B=sk)OhsKoF#qpI+?9iXfcjy3Z zj+>A&9fzbZ9r4wc7hD=fIkHw=Aanq9m+xT4*?-!dm)@OnPg>)DW{L6O{ zppDVL;$MVAEEo3`R9TN84Yqsc09Ra={Ow3Y3 z0wTc;@*O!4e;9?z9a3WTs_I9sz&l)Qs0R1_T&faP9WXM zynhn~Yk=Zzs@9%Ty3I)^57xnGHmZ?5>M$dCbP4J64*lgZq*sArL)?7EMjLnNpsqu` zhY4nVa!P+yjT_zGqZmKjYRx=HH*Zf<0{@2eWVk-q_mHXekzP6F6hiVN;3Jcq$0Dnp znShvxK(Y*h$5)w$PZw>!deX05Xf{_EZitac+>o2`C-8GC4hO|kJwSQ!_`mN+Ex-6@D<0WFt)W95Od zyEiP2A?9nr+p{MITLjLE#sEzaiG(%@li-`5Rd$Os+*A-t+$z<9I780^E>3I0Xzxai4zdgsD8G^5Z?3w@*Jh zX5PUGr#JcWZT<^u(ug4QP=96K;lDaEbA_M*Q6{+oN(D!Fc^ni$o9RTx6VbP=A(Lc4 z+y&&DVWp_rjFvm4SsuwT4tl(0qpMWr0SP@?cn@(gISA7Hl!P%Qs;Mo8u(0@ zZ$rdeKi{IzTB-xxbFip?_49)^remS_5!CbRXS^2BGR3+%q#NwwPJa`~=)1fJdslB` zxrL{+QG@evYF~44y96^xEsX|u%uok>HD2JPLv01Y_V)Sq_RPPE!l?*NfE`|hQ1|-! z93KI;V4KafuXMAu>+1_*5~t*>ULCsz*JK^X?I|2ynIE9=zf@&=`@)1F3Zv`mDY0mm z<)WR){vNh3@AbIv>wilC_Z*=`xS=(;9*C1S0`BLhjU%#pH;sBm{Hdvp1z6PTRRe#0 zSiGTn#lAR86MA8vM_h|=3Ztl~6LO_#e_gyUcNnp~8-x*4x^+&t>I3m~Vd~+6;5%bO zHH}mhLW9oRegm8(rHN)ZI~4mg`Ci^ z+b4*JcNKVngGcvgYksZz80Cn+0Eu}BkcG3 z(!sr;5JHe6ATc&UNzxN|MFix;=nS}ORXCbXA0sLJR#1dCFD>9n9!3k`yI^$j5 ziZj&E#(xa5@=7aDF!ctlykVEHI7y|Qzp+aUuTpAhHT)$5v`&i@>0x-q-xQW;;4}Co zBW;?})Rm)|l(Kb5i_(nOIT3Oba^H6^99Qs}GPZa?=3yErE`HS$V`h^C0LcJ`axHMH zq_dXD+X{hyZZn(k;FADGkRU?IL@)`vNuM;W+<$peln7*HjEaE#x^elSc$!Sv`&TK2 zeXwYZA&*rEeayJnLqv}%<%)Y!r>|ZjRlS7j#q#9f((A9-SL6&uz|zLxOWWH?rxR?o z+5Ir_rI6JQ)ihaVNO?uAf2fENa*z2mw>%A&<{tp=y)czs6Jwz27C{OVdoLOKm4Q}< zzMP#?lP)~4g~zkUGka{?wr$(Ct?wP%wr$(CZQJ&oeX7ncI2TE(a-U8o-D^F7MSiHY znVCAKraA#by1nnmD{x$}0?*7N7^Z<{u=+X-)6+m4k+!JWdyPEs z4*ZuZ4xi^p_(kM6__QboX3xjuK8O1tg~pi})tf$)hZ@hDc-aJJ)QDrOFLw)7u3n!+)Z;MYY4|^zlzwh5%wJyYNT}@W2xpwEtSCOPl}pa zbm@3|D|vzCo)*VFp+heBsKv;z>LVE~tjRTD zrr6;zppMA?9OP)HA(#LvHE$f34VkhCy9qB{e2O_u@)}tgdhyPo);4&lG<)Rcq^y z&tH79J)zNNxvCTs{A^3Jf2`BODLC{*Vi*6H+NVKQ!{|iB7<(f?cG#ZtP+lB(!g>Bk z3X4(kw;fxB2ohuCSQsi^L04uvzJI=PxRjOBd02?FkK6jqB zhumET+ACzi0IQd-TLRiW@Uc@g{vx^pF6WgchG|~s&o@9y6Izn@+-Lkg^eApN8v6+4 zgl>I-I=}X48>TOM$QFxt$`dNxHk|4c*)P%)80-x;^{}oH~#tG9iGZ54r z7^!@x&e8;Y_3jCngSoq<2W=bpa%OISOOb~`b*M?MH>o$)y^~_4 z_P42y@SQtnACA`o7ZmO9CaC4;0LJA#3)w0&hBur*s<5jd-O*nw7h9k7C11ceVWMx4 zUg>T2n?4o53+a@9#B=Hrc!6AsSa?QX^X=eFo(_dl1VhiS- zv>M`Jd4)+k2561xt(28SFsb!JSW+TA;$0h;y5T}IZRZwFnS4+vW=|a73lG-09t$SR!#xn1c4%-&4HA~G2bnc^S|pu$KKG_ z5eJACuyWQo<&1&YG6@G;5{H1OV=N@%zEgdxMz~O_jXk#3?LZOOg3G>JcOBe`udK9$ zezoldn6eD8(RMelYfnTZ=KUBl+U(}=P0k7s-SvMM)Vkks6Y4O;d|Vj@19X+ zjz0oL49P_Pa&s7Fe^HnC`!wuY!15SlJyr$kY4HC*_(w-ehov*J1gwyKRWsuaza|Pg z@rx-6m|(|A)dQ+2dc~gX)8w2it;&(o%K#a`6I{MIQ}ovQ$P9RO{c@Sn>6mhDa~jXU z8^%b?D(0Q(MF>z8r%-kHea1Elckc}X>XljIRn##F-yHpU1)dpeA^8@Cz~YqVO*!NU z=Wuy7+0d=(YyqrmDNbnU0{jG5lV0=iM9yBn#LI%%U`Ac#N@JO}S>it?qS1Hpp(YGj06!Rs`F;vYCrnBT%mv9j zQ-ir<3c9=uLD2`8*l!E-(_#O)B>-*u;m)d<4=$-HiMHE%42&t7ags75i{9}}j_vrg z!JR|HGGgka?dX_Ph8(Jx?;~DbY5?rOl3G8$VD(Qe+S71md3~k|y4O;;ax^Wnx^uxS zH0&|zJ)Quhz`ON;9}$?}O?n)tlwjhs)K$W^TI*|UTeFf%uA#aI zi5-)?qjS`L0#4I*fIsvueEXle7L0Q!!JEmZ8_*mzsGoZn*qLJ#iE;vxIL#9_G7ze9 zw%bbH4P%@WYL%H$+cNXD6kx&BKgEae6nz?}pDiNm1l@>@2@f^uQX*+sQT(pQ+NH&0p=bE{#yWm2hs`L2ckxAzS|{fHgGxzqO2Np4D$xS>$B-4Onm*9VNxg-- zB8>iQuK!AftC=*{=M;$fylXRhBc@zs9axX!`vkO%Tx~F$-n^?J2Y?mCdYajc59Y|O zzEonDOdh37XvJ2ZV*IEQ!`rz&L2XG;Sg3rc)Q^Xzpv2#xNgFRD&KStNz2nx~Muh+w z;i_m+rPOiw&Sd@R8tUOb0>wNdzQTb-_qUeHk!VLp@~@Xuh>~5UQnEe@N9vkews1th zqk?w+rNT`GgcLd@6CgYZQNmmA?mli_lK4ENxe+dkr7j;rqx$qOR=EyNsjCZ)v7%#v z)rF!OX!greQVrw+XJPaQJv;UmBy5$L!gSquXjsCSPUJM$tHw^t1Ea0lj*U*e%cRH@ox;q>SD(U`g;hY#r^>&d(kl5?=UzM;HH(Rts`EO);@@OWj7|M-? zu}_wKhS-=Ww5)L;vVCBDIO&1UCbG#}536Tq7wt4sum=>E=;5FuZ6rsTF_Iz)d&MNq zQVV*K0J`EyD4+$j9zmbCdM~wl_>5($%|xnavRdgWX9-pB3C|I2Big;*`u>f`QgH~Y zdu9Q5%nasS;x+0pn?BD`uuJn&2ut7ehSk|1N6;i)qw|6Fq-7aZDdFX!Aq6K$10>q; zn>H|#`?3b>Dy{rfaf8`)s+ZL?fZo;7Udvu8FFrrf1fXY*%f2vWCAO`*svm8=sr0Ia zgRvj3EMvVj7J6WoyR>`CIEiq#>rib(k$ixX(TnA{o>2Y}p2taQXV<8<#7>EFGx{DI zmO~H6slyF?a6Y{_j_t!C`BY35yAwgz)X6}&fsh~(zq{5e9}z$j6a(h;FLnohh@<@w zclOX(1K{1ClQ$@4Yyx75NbHK`X6Bx}soa%Z+Wk5Jvq5ePyZ$8mfz|72YIq!czz5?f zTl|GRK5N(`uLC9+(z*d}MF$WwK5GdTej13mr9+p|qwnxwRF_h#DVv)Um+|RqGgiA+ zO1lVb_Rur(mP9jE#_m(#P`!c%=-iWZH;ssQ@ZGaiS6g+AtX!GiYPrl$0PR*2RWbMtG z8}&emOs=drn+sdDPUs8C_YvkkgxySekgwkFAc1R@(a2H*S0bx5vS)ZhuiJ%K0I~yv z&PNO0ZXDeAG;V;Cecp!@nKqjJpkLyE;n_2*0zAeorUMQADWxy=jKucyan=QO_5@@e zzIfteOZC1kt1qIt)O28sH?J3UE)26}P4?wpLYL$kPUC*aN-!lpl!K;1)zNk_Iwe+m zAgR;Y3k3vJv&`GFppOGxNKY6pphb{&7o-)3$hzYsQh2jxx!|WOcd*!zC`q>(a)}xi zV+I&|t@WE}bL6@-R3!(LU&9@fsWOZZUg}lXDNe=kuWXURk$~qrn);w(=L3YMc8isR zX_s zs*-+~q5ZOyp(=d%t;H-(&ReX~VXM9@K_W{XtNS@00naqD zMvhL3ZY;o-aivYdjIs43>{bA8~ z^e)UYOMl2S21|^U6l^M|_G%*Iq@ue8m6txsP6Tzl&7mv+A`m$*))Oq~9!#TLRyW^A z(@971vO}nA6;{jmNLi-_$wQ|}ZsY`IzOmm^I4jbE(2uT6l9%AzG_=WWAA$vgSwq=u z6rYH9U-0rdwYC=r(1BysC(Dsd597w1i^WtCGnpTP8aM(AMFtwz>ndth6{9w)xzG4@ zG{-GUb#VRWgQg%+Nluu7O7nTfsUR5gXlV7#6~6RSqWC@H~_p= z$E=ifW@0vERQb3ETv%+O+Cg5+Du@i=rc9>B^C}5?B@I~vJSTalCGaEe5IzC*_S!tL zJ$f$wx6_o%eht_!apiu}6xqs`pRTh_<>S%TNznn0972^A8)8f@?qyJ`eo^Yrr84y$ zH|Vp;n}ZOQ!}wcFjJ9E|bVbX4{2xkTK{8Y`{s7f_au1C?6$E8Nv$#~w@2zyTY-P*N zM$N?5CsV37V7Jm*n}frhMXwk+8u5k&)PY|I)L#h=)v$YF(aca;L-wDPM3c)!jnNUe zZlS~24X-rv8zU~SrT2H3vBspPRxxzD15}X z)OQFgnWa$3(l;JL(T|}TK*h_Z(pruDF5U<(0h{0ab))wIhJAV{o}Kt#$H?NAZ~w`9 zrFsls18n76PJ#&wq`9n@(a~F+FhJCX_c$_}c}=iU+w}H)`9mwIt!Yz4FDI3R^$R8m z4agaS$g;*YVQ_u&V;hLPLG$epoxwuLNL^5;4s1Vz2I`8mz z0~(|&We?Lk*{3Aw1Cuy|%1TCB)pkUQ_M8djvH+tCBCfQ#efRzrX>O=Cbr2)!XAHk& zs*(*_E5{q0A8vbmq0A}tr^5s=9ybK~?>?k+tr`&(wN~82?=kFmAn@iuS*r6HgycQo zkaB^J52${=IN2_q@-B48Ji+dqU?4ul0QQfRt+RBGWx{I|R&!CG{yB)E$j**z;89k= zT3{BVnj#b68(xv<-y#b`$F)yexZd68Ieod3skYj`&J&R383_WmbAl}m-LY|k{euyQ zBGO5%%fd)I4D(WOP`kBw>V6@O4%8w})lk6EF>T@;CJNi}kt0z#tv zVWqpI42gS%=wKLY)GC)H8KSLxkteJxP7z8K$9KYN=IefwQNpucy%@&h|7_e}ther` z9!uQ3u)gvPaNIAc{1^&uTL)_}ZLv!cX+d@;a1>BI*8x>_@Sp`VrOjV801|F9cLHcr zC)65eTIROH=cTGeOj5{1A$Ns7>B^yGj#+$Hfx!Ti^ECkP4h?d>a#Y9Wn^p)=6eEzc$W9iC75{*DcRJ zy|1~xFrR3zq&}*_pumVrfPP7@lG0`~SDAecAn4!fdXF=<1nb1#-_L(Y!dglyr;1LqP}L^Vy-vg?ZI8fNmCPAafo_TPlp2 zKuP&1 zj(W;e>e?;b?$}9^oJP*cp=OlMvN;ODk4JyUOntD(EyIG4uMGs&{L+E%iw06Xg>~?b zduYdS$WMiQVTSau0CuAx?3A?a9w0BCV&Ix)h9XK$hro0Hz2~yRvp29V+QA292F(`j z2%+nWo~Jo34(tiMj}}oRCYq#-dVH{pMa^g$}OgXGvU%9dO zOX!Ft5@z~lT<)!~97^jL`X=veb-Xf%-fSZzJ2e0p!UiR60BL6|4(=u`#(&agJx97m zJJAp*TyH{P=N=?WPiB3WIt`3di{@ds5!t)1)AwbKMgooU*?7ZUQ*{6HnsVC=V$v<2 zbRn|9ZXG_WLqX&g|CTQLZEM%O3=U5ip~M#v$#sC4{y~m|NSG0w(e28ol{*`7d3cY! zff+1<#w*+_0qj{PqZ#<(9+6Df>qD1`SQ2{S=M)sbdQKgmQeRd_;Pki&7fO1T*AcL0 zxuyy#wMEP(!{oFNZ|pI z9Uc;{&KVi`6#6&DGsFmdZWF@|1l!BDHZ6*AuTv4kAJA92{V)y^LW`dBnFL+1#2Tl1 zL3f#oGlNKm3Kwah6&qt`H^gMf!^62~QH!k56@mn~MFk-x4+w1)eSSX*bo~clr^9V& zBX`G#Jg=X0oPmyly~qZ&e9-{GQH2*KlZ}JS(qY}q53Ss{AH$oA^*YwogAIYvq;=ZT z+>hP&0_eqwqNz#5&~=bN6bd%QT$h>WDD}}v_QMztxMly7sQaqPvQL512)*&yXB!U< zCSv@Dqciy5Ss`@~ik873uZBs|e?EqHXHQ05iwiAnYwR4F@ecI3yy)x8Z=Bg<1y=pL zdPPq9e5S($@*`(c;V2b#IbZb<5Gu(TU1Tcj^MEHe1-{*5)z7MAWD^YgMk3U7pM(TQ z)V90(Y{Sk5(jA~Z*)HlXJ~F{vayig!3L3xh4cMR>&6C@KO7Q?8&%x6}RWyWkh6}7( z?ALoPHzp!}7AjEvLNQl_aT)g@f-k@Rafg4At;x>|xahQQ{~veplHj^d4ShMQY8eJT z5CDG#0v#S5fk@=6-Ay1+FzQUzQQoA6G5vy!op8P_$wa03)B635OO{Z`VxsDl)JN}} z)?JPlJ211I0iia!K{344=O5&S99tc!krOu?KF)errP$(Fa&e1Fb-0bH_s z-a!0H&cXg~3gl#EdanG(p)25A;?>rc{e_>Wi-8nSIKs#>UCqEX2IfGa5^i)ZHoic>l%fq!Qod!(A0cBf4>e(VZswaRR`EUlU5FmM z$^j^XD~}#&GSG2}vfl{5Ky=_mfM3`!Pd)T{*+&{#@0Ct-7Zd1W*XDhY_-$y2N*2U}twl|k7UAp3??n|rNUoP`HC%pQO^SMCK3njV@ zU7aQZmdB#*O*eFA+3f;sI7GjS98?zji<;X8+a;P$AAq>Lea!u-XK%|pAQGi^n|Yyq zzR(|O;$T)PSq-4pz=YYfXuXzD)VFD+<~&k|9k(u|AS9#A%v7qJ$}|k_FN^@v8#O#c z4N-s2>(h`&L?zl|R$K~qgj1Gk$Leh#6wrOv34PK&H_Ks)I1Fc{vf6{2y9qK)B?k+C3Ok4 zT?wFDqn|c(hb1Gn>m9_lfztQRCqF#uOP6Wk&ljf%h2q3!kibkRZ94UI`$0$QrMwf) zohr?JD02`=)iMl7LB_}U$#aD{2-d)C~MT_GxeW_{>H5R)?IP%0fw&?*$voHw- z_MJV%RLT^;sovuO5ATo)q-#ifL4xz7P-bWGnbxigEM=*Gf!@5w!XSISpe?) zC-_?>@7KYZx2*pB&3efhzW#3}#T@$ooG#F8J_Q8P-!ZbPR+3c>{BxdxcR?bmJr!(d zVTJ)K{{+g+2oc0L*4MpkG7!fgL)>AppuX;b1cklgt`4Dl#FGpBo124A(r>_NS_m z{@E?A>2L|i&fUv>y?xSY_R_5d4@}X!eg70DR zux%NR_x`uP;CV|ozha?yfG|4BDPs4P%x{h}!_mrALyQs zFH1D?DC?wuzV>d>Kpz8A)Y$1BARhmtSo zOWJMxT-2mxjcv1V#_;Nx2{uX)%65G)(c4X@1WbVQ3vQpciZr!BZ8aW4wmAhiJK649 zKEPDK+UY+<`ReW*$Vb{?DsFU?uoL~vY`As@8SdhLad&!#V{KpMQ2|D8cokK|_-bqD zpWohHJ&6+rdKciPO&mgCp`ksc;LI*b01$^TuKThos;C2FHY=*K#bGt_s2J@n9J z)MMfyL9iTxV5242ui=qxzomSnz#g&peEy>M~9=Pv54l;>7f$F(WbFT^Kp)GOW3)dNnr=OPYm?}9p8=%TXVDs zD6iIwtq0AP!Jj40;u_eGxWN2z40Yr*!PJrBK`UhK?Qwtd0s+c9XB&DJCfFMeFky2I zMf`MY?OJI#SBqb)FV)rd#6TH;Do|5*Zc7O1WQ`$x@;_F2_;O99kY>t6lp9oNg-%H? z?~rBP@5L!gtoaQw3u-GlHl8AQEcIk3Jw(n6P0K)HVDq{3#<0Ln1G6Z`9b9Myv>Hg` z$AZxazD|bs{{mEa{=>RC1;wjXiw6$vM>ulLbA1MqRtf1Kl7Nn5IzBEnSmK7TRGTj~ zEx^mqW`Q>G1|J520xtF;{L|$^Yr=*SKi|-MYhfPr$3;84m_DAM%&*lMa;Xxb4BG;Y zn$=2!-Bl~Gg{iHAX@KO05c5OHpqJr%4|{AqkSG!UlN!*CJipMz=jQ7=^C|M9GitWz z!LhU9S`pZ&H~V@F0-C;ktax_pJX5#N;tH#x^)ViDB;IRqq#{0kPm_AWwPhX#?|`pq|V9 zHbkkTE^gQjuC5t2AY&2clf}9B##L5HLrgaA`V3HaeHi$!T%usxra(^%%8kidF;s!J z3m;MZ;9HpPZUakRIUgpokRgDu%}EM#p?M7x+B?m>CGIm6(zGaOD6XXidMt?LHb-ji zuPDvCc5HJx9W6y5td9u8{xvNN81(oDP)~XqNW8pz?TNWf7wZf!R%OvQtDAd^3h3?V z-vqSMJ5inbY(JsejUzRXwVKX$>7ifW-D52WZXe}iPPN4KbYV~w*-9#HPln`tbzQ^J zZhNwpb7e`3FsqmudqEVJRMce6NuBWISsE*b?%18Ev~bQfjwpu%Cd)diR^?r*)vL!E z(5tcDy0$d~&*IW~c?k)JDxMKC8J(q5s{RM|Y9_Tn| z;086di$?jJX16mNGVBAx;b|w((G?SsyP{@#{gu~g>we)Y=#bXFs-N#lYKQ}LrjPQ;!A`U#hx+MnZ}Vp0ZmcLcC43M#)H^s9 z?gm(JHBG7X9-KcIqR|)k{r*;cbKeoSwbw=V!ztBk4XD~JMw4nb>k+it^`_JfZc69Iqu*Y065 zPN{S>I(p>PsSm1s=T%sj@aHZqb{QCIxz?w(`8l;`yp*!L>^W8Q?(E699*UQ0j-z#= z|3hFGHVFZPMrc+5Gp;0{Y6k^KQ=kJMQ4*axpZ(Fyg;o_nYi*- zoOz4uza=ZY{?xXM%i_Jl;{y(UX>^qN8%y9qGGUFK5RInf5|m;rm-d8wPLIw-M4O7j zpl5g>7jgK6#^}13>>VY1z%%%ZBfSf=H>MNDc5DX}<8MQKh`|@+gIr(Dla2|Ox`@Fg zUEe>QyLx_{w>Wz~U=HaqxGE5rxFRDFtc)`4V%`TTtb%Ia#&tYuw*dH!&#uQY8ZX>P z^Y>s|^BK^)VhSXt;0HnB@v{_@0S>bCgM+9OHjpmX3zS2lRs}_qI;?!0g0Q%@GJ~(Z z&xtW+tNMY8Ok#>|3M~Rgf0};-ve$cR;~4i)5Z8n>n^A+?UEhi3~a~gQtf)Tm2{t1Sxe`y9`l<9iMB}Ra*Cc)6KDwoCb zRY@6aW(aRwIi+3TPU1Y-<(^_f)XM6yIwWP59_j)twf-@V#ZA=B)cI66P=NSyA&Y|wRKB^2IE)zW9*n7?M{2512wy$*1HGsv0Ez#LjO%bsn2BZ* zDMOZQJqSN>$;d71}DNs#-C>aSSneRL07?4-b(lkdl<~sHSE!E-a<}@%S zyq5DPWd$0(gXp19PY_XxS5i#wOxo33YLO z4G}o9?N@~AlB$mw79AaG#I|}+be^So|FLB@26;=NN!PH1l8f^kS8-i;obC#Ax z)`1vCh4#`;AtAizJU*eQ^abnZd>iXZI{+G$4*)8%M`(GOo)$h-zm2(fzU+BnmMP59 z^s2P}>gu%p=`v^YeXV)kq^aS<-(45V5&!aXX)Qf{_TuGjY;{%lLbUZylDpf}GCcY4 znoyKdaxu`yIlLvYfa7gb+HEWXlM>sz%E}O%va%r_#QJ>>J6I2*IHxX z1^~|}j+Bfq7zJT5FC06J>$EyE2P`kdC;*W)(@m(f4rD*1~3T#NVr4#i+9<@J4FBJAXb9s?nUv>DjAHeC(^9kq0`0qW`CLTTL5C) zn(j3h33w#k5JqO!v;Nkk0}TDN8ydXR79F{<4Q)1Rv9WXql>rl73ufzz4oD$Ak_h3+ zs(Egy7zx=~Z(SIio%LLEPjMAtZr%Q2%F66AgU*P9VPP1n&=_Qw3)wkq)L^95C~@>7 zY6-%oyr-%-(7GPb279}jwI6BV1b}HH9yzJBWBu*NFf*v0tXmvZQRkA*F#bj?Jv0X| z6t~krVC>B>UwCk24OM3p36lqsll|S8^}Eu_63slPAos%bVT*8mc#%h)GEa+Qu1SntO{R=QVBT~OZ>#$(a|$+^ouq41VFO%(T$Gf znfG|;fB3rc%b6$@c^pg1LHI9dZ#~C=Q+o@L#Ysa0G?V~nTcjdCJ3pE8 zs{4KX8Mpf%8ajQT6os*B&|JBMxSyo)_Mi0;b5LRlj@g9=Sk)(<-++4gyHgTO#$SgN z0v=3bWqH^nKhH8d6`A5TOStMoT+28<#H3IYi7DD>V=vk9I^Rb? zlL?h8_=uljfarPZkRMjr$=;aYm6;&Duz0H*Y@4MVNwO{U3?L|+1nkF>Wn34& zruIRu+HbJ8*`ct8WK78BEVn(^(Ua2rHo3%QM=x>`lgm-#>P2kATzzpWDCWZzQ-zkRC?2!|gZK z_?VMlQn^H+z-{(Y6o5AU5zlsIT{lshEOjm_b5ze1_(CVHFv)o$2okLvEA|yO`lGEo zfrj{KH>Ao84wMw7a&d0HvoGg?he}@%7*NTvO)nqEKb!XGyCuNN8%FGnK zE_WKn`v3+w{K~!|eS}Q{0*3CsUmFrgDFP1O_3hy}WAKm(?mgkQJ7?GP8qy+G5FH}lHuRfVBiu#13&@zHsZEQ<~yvs@suC|H6 zN1UUg!8`T1WPpzN#p2M?sHRQ)M#D&hz@`5#%!8U<49Ma+IX)Ve{Ol_OXN+=J@Ny9shsix(iW6VS&(vl4vd~uu z%zjUzw=u@;@~GX`+_%;CoaQ!XaTZ+!XAG|Nekh#m3V=0H9Q)VX`S6qbYYde#o9QsR z6(rwmQORxUM1i-M5mn0VB|La1?CW1HUt!q5s|DvNmp&LAs96!7^IxO(K}L9RQ__D7 zJuE!ho%I+Dd=P)k@)>qj;3&3S2)p8lcSA}cU2iqAx!ujKwXJC)-%h?4eBXy_)hr$x z^7s6(bO7bFLb*?3}hekdb1u-e;okO{$+s^aOvjB2zx zjnY?Ej@*)p?O*1DC!$WUgBwQEoMO8El+7;;dw_no`a?Hgb^2uvT-9c_NEibBM{{)fXcW=t+EXR^LN_DwR&dbqL_Nv z!-J_hc^#b0o@oN}9Lp?eOZ}s=kqL9!15AY;{rczmtv^(gxu~djbA2)@SoM=F$056P zhX9ZEa_}eC9R{{R1zy2IW41r1DVIx4$o&aDvX?hfr#%Zc&{Ge~^|nwTC{7xw`C_uF z8S++H1X(TVp-qKzC$T$^M+rMv==YLYtKv>&jaM6yyJNzm4J^`s1in(q7 zG*jbA*7YF=&pEQ`^si;}t^F_Mo{UQ6W_#~;pXqeDp~3inAd{E640;g8YTLUzLEE7# z3MkoB@5#Yw_y`k{JOP~GnkoA~TV1`h(3T)jh9*1@6ai=i)4}M@+)@_W;&|=Tw}7qp zMJ64BTushum~v3N-U|JNr7Y7Fylm^Dxq|oUAb+hiY0Qgav_AK2XFaUr?c`ILQ4kX! z$#ru^9;+mhsea3;r-H}*s)ysoIxym%IibYgaP6vkRr{GfK623kxN_^6C-i+83SZ!v zq6TlRJcgWK$C(4s&EaUz3}cppVE{GO;s9`FerMfk2S=b?2vK?`GYiG5civ1_@Bt0y zYX~OwLM(q05uBy_1oT!&5GGzM;2P@qP_-;nh?c47PGoH#XiPJ+H9iTCL8r=C;U>5) z>DTRQd6V(|=@X4(@m3lH8kSk^9K!<*&z4fB0}7hDoV|WX3;I5gJxG>?0)SGDOMX-@ z`WjIAwZ*$%#)2@M`Jw3%%YpUQ&^-VEAo1q%O5RXClCNso-#oFrw!ERt^84FyP8O)1 z^29p3ff$J|@5lBtttv=IfOOQ^P$py%@6T}p)02_^YW1D^&Fov>(LeL}`XV3Y79=Ftgoy5LyHEE8s zVzT!tTmu2)`2v~>z{YHQJH-4yVltYzXzaINhwO&Q=x%U}9&pBOe&KJ0KJq_Y9CNa9 z_r>>KUOG|kG_Mp|{2?K7k0ODswGFVleLu!OE`O`-o10|Mt%LPf0a!iy7mQ_Na;CAf zyzbWppgN7w@WbJx(WAk-7m;m{z~iC0I9_((MWJa`sr$D) z*GwleTFArW!JLXz(-{<@t5~l|-$bg_K0Q^KgrywMlCeI@)iw|f^$OMXTS9ldnDDzL zBMCELikVnFsMVA|0Jhs7_15{y&9i0OrwcYOSM2VNXuWN*TD!vk=Qd!^wh1<)p(9rB zfNvwC2{4Fl2{T~tMn2u$#2<^z>pqEo@n78|Ps`Wf+>g*JK=uRfEGG8aH4IyXA8j5X zmLqki=BCB;Odt)5S3YL1iU(iy$k0)-fIrmZpdO^4&+`i^2)35uu%BGT0kOV=2F@R7 z22rPKLl=G+_h{efipCXumo;gX^PJ|yIxur-%ZoxdAN-I}z-kqRHLNFGrLa=bSU0w! z+@_Aq;Mnp4pkxmiL4OPMAd$X+0>qD?p)b*KSW&7pD8JFR@lIg{AC-qI8Z48REM%=T;4u} z@eE760^}cfdNNl2LH_8ri$jS|aU6DP6I6u8J%e2Vnn1d!xQ8d6nS84_!hGm>3?hke zJHs(ddXmmDeAOGmyM~i&p{`rij_NDYY~sl}*O)b3sWvLL)=k}2nL~5uA}OCsv*34s zeZQ$jVlJ|D*fsCYu}ucmbNY+DUGt$5NGm1)*319Y@mF@ekrSQW=Z?~k+N6s**Bafc zyi5213Gp4WzR(4L^0p|W`@5&Ady{Jt3IQ!@*R1~7V5Ac``HRuBKQGv1bNX zMCaNiEfHJ(n!+VOnVr3fGnX#x9@So==c=-R$|EY)QOu*PV^w%>53ssyH~Ee@v|uX8 z)QQyMDNK3jCnxf+ebff;^9>vLEgT0q8|yY`oFnJ|%9>V0WUz?}nPFazHfY$VYyJRR z9hk9@o<_0HA)*L=SgIgzwV^LxalKm7s~Do15I{+Spn)k;uN;Xt#I$m6{ql-EF8Zti zoM$~RFRiEChjo$lwc<94W-=7_BWJ>R&#%_1=g;D{=HeHO!G!2ku-^0>KGKxD9sce~H^T;&{wc}J@X7OXBD zBR_2Q=5DbOz3AKDhyTWt%Mw}uUrlj*Po=@n`TXf0bB1m^e6u0QD*o_r{L?z19};d4 zZ;^W7%j()Vs3%sPs@eL#*RXI3wO`Nl?ZYG^`XKJTPP310ltu`9d7_i?Mqv>8nd!&=hwvxq88 z<&jQ-)$?L?lhcVX#WmiNA+0;j?>FInRd3izDAnrK0YoLA4{B{7+muR`TSs5j-XWkc zibF}CoTwU|4C9F&#Fciq^{LqHJ-_G2Wwg(Q2bdzy*IS4s5gW5WnQw8Ir)wL(+GqEUPV zq3j>|3*CjXwlb|QsHirnd?zP=J814npy8mBx0Tt9ik@6Cffou zhE7h-U{C(15w8;<*J@X%5FDZEe@@I#2YqD8$GqOj;$N5P)1+xF&MZ9daVMI$%(E~H zq~?BRFK8}Qh@J(Wq$+KPLMOI1%&)hDS=GF`<84BSY|u6_l{&+lixjW zq@TK7t6|eW{^g%ke)r=8hn?IMrN}@!HPJ7IskWh@JYE%BWyddMB&V2Kj~+}`aa8OH z40SI~+Ph_dOokHKaabbZ$3W2p5y3-k`-utHa@lNiQZAz^n1?DAEFLy|1~R4)1sN?V zc_~U~11*Tc-*4stO(R0oCZxt?1Q7HgM|fHvg8+-rg%MR4rUcUBN&JMbiMH5?j|nhM zzay<=>0XX+R72d}Qxc7@0UFfx_=Y9=iG+PJkCZO}snz&HK@p8`P_v2gM>Kw#Us2rO zyFdv2d3iqIWqUp-o`S+Oupdz7yOr#}_kkTCl%ek6_*NMz2BTI5DoU)WB>(J9BzqaL zRU2J)5#Onf{#NDv0U1$e5Gxg{HTqkD_Sg@&0XkgxFukfx@^5WNpooEzN$xRBuTG{9=1>&m+4ABAFtk`EZZ%_Y5T*829*x*TQ~ExxE3ktCQHfPlEEg zR@%Sjp2?il&S!zB5mC=wqyV*6nZ>G^F_Q@xzVzm;_z z0HgSTyGW2}tmxTTmdihy&G&VV7~}`rKt|u94tI`Pz){*#c?3 z(6?l=^5PA%G?1FV174;(TT0||iO!#<-pZLPgFD(*Y;zU=a!M)z8*kt0Ao`*+LK#}I zL^bu3-MQv1E7_ihj5c}!{V*5>BE<$;z+v3JKW8LImWH_O@$e~>=1eC|;XU-4yMDBs zu%+j&PWRMEbTe?=6O?`_Y&5T2g7Q3sc$*~$hADWaZcrH?g0}5(QF?{u6hk2-iU&7k zq{-L|q$isdQxO8I_Ny1E<%=CAODXJiIw^`Rft{q|$ZQOIT=Aaw40A~ZvIeU@An4H- zhF|=CdDe)%`KaZ<7@pS{PH0wZk?Qw)T+;uz5`>5J4&nSOiN#j~H+LZ>vOKJRmwE+4 zn2N8Oj_5v!Zmy2@0z|$~1a>t0L9s*m-?eIy<*I<^#$a&cowh>}aV7(Jxmdq6x8K3< z_WXR(Bq&T3?kAf(3NZVGDjr|__x}_*)NWQgTNC>+`?my-zR7g#g7}IgpJA2RCc^&~ zJm_SRR!)FdGHVbTi#Af&Se}M`1gyq%49n|iJ^+s+zaJ-{cJMev54blJ?9{Cfx%xwDPFb7m4W~iu zE*osP-UR(D5%KaDI61UgA?Bcq|69-KKm@BBAJ`dF#d9YGcnzSZ3IO?RWnPWl39--F? z>~r(+a*VZMk{$h93<@)etTH#E2EUb8>iFDY6MqFCwp%D7*AJ#RV3q5&5bfR9DFzLT z>vis_;M|L2yj%{@xe3>v*wn+HhC?3s!uZK*==ty6jqSCK*u5I8M}Ie%2$lx@%R#;G zH;OJVX=tO`#CS;5A?O|jbPYndJ`Fde1{@`MN;Kmy*CiOsGMa-Wx!<1-vIm;K=g#yn zaSURx*K;j`;G!7-Ad|1(9^k;%B^<-mnM?Q|0Czx$zozDSo}JqpSH^kfB?4vgjaMfs z)!a;cp5b(lWC8fzF`iN?8zrHsU{m`x`(hsKqZkPl4NTTc@2greRFm7*skQ_$oj{JWCBTRvL6`DgU zn*EN{37y14)=o73&|upC3B3A%=6sSf=PMB;SjOxfv6B;6{0MK~{=%+Kau6?`QBtc6 z53Z#fY>e9-R=;}w^pI0}d$FN2$sO>PVJC$K^yr@BHwV9GfZx3x_*_>7dt=fjM={(C z>x%{hCkq7{{|O(B0VIEWqXf3zJA^;z@b;G(uP_WtH@7zY@g{5D$dy^H_63Y*w0+8vo#zW zqnWu@!U1>=tT`~rRxpLiF^9`TxN8{gs*3Gy!)`2Cc+SP>XW)YAaw8%&A38^$HG$l7 zNfpeYYYbiFlJ9@(cF)YCL?dlJM7*21Kq+VKPH1FqyVnftRs&q$l|bH3EsII9S%iXl zVV$yQitbIzc#QLXdRn=+F)iiPaAhsGK3O+JPonLaqM zbdF@eV=c$QfuX0QyZtMG7vv^YLL{gHT2~pVD$TyQ`qF>stSV+|J?Vx#YiA^WkGYX2 zm&NJw97m_AY57Trr5wUOmM08i~&g}DAl;$Bmz zFZM)+<-~uA8?4lBGo$)^qp&tLkErTMUnr8y!VL4ySg7fbL-A6u6DBB@j|8<05EI?ZYS7Sh<47~ z6fdGa&vIEf&(@^r!sp-`vE8YxFU7UdkRf;2>vltRIkW|MI1NSBxk}d=4fVFwEz>V? z$Gv|~ntQ72{AR&?e|v$h4yOxP4Y#Iz0})Ak9sc2PN!fIS8s!`P7L1XAJihkbD|&c^V&&)@br zEM8-=ttxX@xzVI2#)7tImCv`UaGoemhJSw#gCfqCHCWE`KCv#!;5TNROyC27oJ zqgrLBQLQaklAk0wlV;$GJ&=|->0~roi=+jWv#2n8LF^Xu>oRV*$~$(x`{F;eEeU_D z!Mj-}=k*7gY9*sk*q43Z5&ZiOqH)j}$K{zax=w?~?cVx2>xlPnPuWR483Fd=-GR_R zd}3Ec>z6p_z=n7h56)V8pC94_b{PGF|7tfn+yWi1|5@2CKA&1HgOPL@tbxXnU}nXS zkUtB@$-Q+KC{Q_io#3<8${wOlrY3&{`|~I}jz{mxQN?RCl%Be58#r2>!<^DRPnoxP zZC{Mf4`G4`VMIgtIi2PAlRG^VnwrQ*tqP|>FQLUZF#e*^J1zAoOzAnSSm$*-2I8YH zmsUFHoI|$0W_pV_-5Wp=H`p{3mVShu*sQh1s64m4!dz%+hkG^?;EZ4#lp%jMn7%&J zcP1B1UKa1(zryP(^n;gj#7&UOvQD05Kscaj0b~NGiVvE9qBkY2G)y`Jd{aRb_n>67PrCDD$O>5v7)I5JK4U^mtc8wB!^-F$8OQkwIkq=AcljqG-!;=%WJ4J7U z9(s{f=hm9z+(LsbpgDMi%iBkz5A+`^y14+VlU-n6d)ytta36O9%o=P4d~Agt!3=cQ zTY@>)XoGu)au1@kMxmApTOv}}9@dHzCFUkQ#Z@|J*-dluZ_u=OI3$0+;aKw;r>D;c z2m78pMCx0!Zd@jIDlbLoqVV1AcKOL@)bbCK;i2!K!g%@}lpV;8N}$0E`8u-NV*(5(C6Pl=j5f4?tj*uGvA615B~;S%=_7)IzVgVbK`e!#MJt?})MGU$ zdlHY3?ZGm1j17tcpK(Por05R|6G=_AcF==om>EP`m?->ZA(wN1S=i;=Urd*CHa{Z0 zj+h)Bic$OtY2O6nnT2toF=nZv z<&7T4mc6>RIv$vVFfaM6*Z&K@{r{_VsQl0E>;!>)4@Q$ATj-pyuO_AM67so(w?8M7 z5gPOZold>D*SnGwnO+8<2hc%wew+c_2)$uOuLOTMn_+q^A?IDFMvQ!McVdM`tD_(u zbol!xUVf3A#|7^&=Uz}c?j5Daw$}jB2je2c3~6V*m<)73B(@upxtE9X=8o%0BTG%H zvO)4T3p^DG?wekI%c&`7BmZ09K`Nd@qE|5)quU4J&C5e?Cw=t8m3!wDPMy4R;REbC zUi5!Dm%=@5<;u43J}0sFNbH`+2JV@$?`oIm_VuQ^T(9{|y33M0;L$FcwOMR8ZAJr5Cw|Hy3$A1nwh1Reb5#vR;SDAbXlD)tJ7t5x-5LUxSh}Zk6~D4s{M4+ zs$(>*3ispindO3p(;+r|361J;OvNo`WnrZS>cD5gRV~x(duS%obeJ$4~Wtwl`SNZsKtYRy(NH4|6Wv#i;c zFrP6@UCMY&<}2@G?DrG9`YEC3jc5fk8GE#G``n>O$cjN) zA)IT8qZM7$7RND9+%lw-@M*I6s|8w+m*0ec=B0W9|B4Wsnjs5;=|Bxv{K5$16B2d1 zxnb4~o(OG+8OS*Z;~unZId27hUqrPN*SVn+c<%7N)B^a`x!;EC(wmzW+iic}?LWZE z0GN!8*l)6`s4TA5gw+Ih+$wHZ<nWT_SA2_$KU&`?%0)=(K|dOx6_; z?PYce!V2ABGv#sQ?{OqfzH2wF$i~8+P&hs%cLvkL@NWyF?v>mr$YCsajb~_dI{=Dhi`6$tz(az68QpWrp6}2jk1YsnH%^dcAvYg?%PH$(O0OjjF}l?r3r)8=5_sd3rxa zJf+&Y$r_?W2va#4&Q#eO)fT#hGN(eN&kI|E{iyo{BWQ{1mSH~3^RIun`Xm~g@bWab z4^77=Q8?F~3y+A?HW!>ecQovPO5`~A3y+@GK1s}5R2}yRlN@hZ_i+AsUL zuGxsFxWjm#$BBPR``a$d&r8*>0y8B?DzjuaXbChsck! zIPW*ZB**QIo2xD{G)ClopQ1gnNrE1w#sm=7bp|lq>z6ZjVxvbfoz@yk0Vky z7%f{YtuRkrL%U4r4YX5rheo+rrVOl3#*^X9sYh82}YQM&)u%K4n zF`v^Zq4s~<9{qoS6@H%OYMmU~1#ZS%I7?_6p=Je>9xzs`AXVkhK39)%EVV{F_6;Y( zdJWAypL#~-LDrYB@Hp76rVW0~ub{WB^BpsBBG6)AB2{xyq%pGpCwU%Ux#yzs@fW^^ zI%1bZxQDMYkPx|H{z85i73J%N6ekPiC13tXPSj`4#vp$#!B29v=y0d}#Ke)7g);$& zPoktMQs{YuGdB42TyCb?^r23s@x=oI{X7}LL4tS{Nx!KwfgJ5~TV*A0OFE73B>pQF z7Q%F-s4lf?vz|yC$;pU}pV)C>bP5vGE1?||VFGkao#nS!b+Nv#jIJlCNaPwIvs~qe z8810z_bPvgVI%b>^xUmJHR{=K_nHZwTwOTxM46v+2B&DF3sc@YS73!@)Z(g1F*3s6 z_ZdYlX&LPYLA$rXfq=B^i22^-SS=%i z6ld9FH2g)|)dm+MUZ&}jf*LJ-qu0TZI7!t50-;|gnv!aV7UttYAi?G+9h#6|{mTM2tPJ%W_F*tty``nOnRD7sv&>)={DMrrZ%#4sqV{^-1mM66~T*Dc09NXUWj(M)K`d z)fVx2?s=>qig@x@=bVFtuL&oMHSXYmbw+>k2gnZkOt?-0{!WbT;@^HXoC61?WP#pZ zjm*JnaG-1kLG&a@FtFyz^)a~?FSSGBAU!1i;&Npz1PcIC*<1>+=yY@`SlEt+EWBq{ zIac0v_TA?zE2ltY)Vi$zgc;pw1VqPHO={tF+dae|u_jY4>9B*pwVW*}xH)`lQM!Md z_N}`MXGQ6Kyy9dXG|%9r1;TStgi>1dLSY%QAT-hyAVvcgc(uY>L)A9oQ$V- z(JFU+^}1eK@c2P^O*%O?t*D7=$3>3J+a~8Ort2q-8+2_feAF3q3|6jww`H8Yq5GVy zjg;_JM1#ZIlkoa@aty~rf!EjE(G7n|Lu)J>cKuW4@3%b4GNBxd` zDwk@?1Vr!zByFCTxmcqlFc4IffX3w;`&NbmHtYp0b{Wz?y^ISrwJA|<7eZwp(Pt!o z!Tt%a^-1YY15_d63-h1(dvkRqCe8u8jtW^}O3EbV&yRFN#cbJ>@nB%4D7b%^_@^JI zUnojCg}a)_#vv7ok^+UZ1@sn4OhOtV-sjl-51!sMb@#Qg3=1l`? z>*Praa}w;hdBU<{V_fl3Y8OT!1_Yd|Z#K zX?*ftIEWb4vFYf5|+ovy|zkK%Y=r7OyXCKb8 zCnF4>3jh8&kH=^5xfg$ri&q$72R^g3%(D@EJx}Q$k^bTeV-1G>YgWea2ZR%m@pd2n z;dX=~W&bQeXLJ7kgjdi1$Pmc#!k{@GCH;keOGi{D z8(D>C#pH^EF|7M0-0ts}F*Jo&xuW5x@IfhL><0VB$G!&Htp_aj2t?V?Z7I3Shd6VrD zh2t#Rid97Dd9{CmP;%@bQfT(b*1H)~;FWVA99B(vtv!C41kpuOe zv_=M5si--6ZV8MygHPFU2CV=W;U5t#gZ)$%x!joX?)nL?1JTcG1_8E?jX!;rAl_VlX0cW zS~IG0oDz2(HvI;;HIqj_jDg2G$PYnoGW85OdN=U{VG~K(k5(+;dXxY+5{tX)ZkRX+ z5k;vciJO00X6G2rn@`iJJ*iR3ckfUvi(^$n=^n~R7O4${n{;qi4VS(^f#LfS>sq&W5XQvRe^-BK0A+Drr9VEED7wYin|FB?OhZU1UGad2JsA`<9xFx zafW}tuf`)6YPmq^O}We03n^>thVt6uyC9Xzs7 zKKJne3)HS};Ji>1fbkx)G1_j%r&XlpS^8-rYi2&b@8mbSO-;^nhpH3`wou0B$fRi% z2@ob;l>q1FN2>|~x0>2hO6P`+?gWu^HRd+vug;3-;NZVwkSY!_bbSebl44Q&S$}^? zS6PitaUP5>Ez@euhXMgLKiz+=v#Y-Kjs*8h16v zUuTZpw!LVJRoV86whi;%6n2DL<04DTH%M6#>HMk;|I0XQG(+ht`B1#XPC6_FhAT%R z6zM;1Zq|C}KUTz!qEQV2HWGgWLtne! zDAB{-IVSDZY)O3GgPmk_M0uh5l@I6&SdsO}#Yl#H(EPxYN)v*EEwB8Du zjts=CI9wbU)BAX_*?&7Jf1~N=J>6>lGphP~T>#71guO=vX>j;L5x!W+^Gh=L6!}L* z{F&{uvP9jx|9BsM$*z@`30K^pigeueiO`CauSoeHl$3w`xFY8NVq$;(Z?y#fcI2GL zfQt*`iJ}rx%E|;v)97+n_iHUA@kNPOSolyN2+FfOyYTR#40;fGhLoY@@5L#4(Lx=I z7xTe-G5o)3&=02K^-Jwl-x|}}e8)~$&Y&~VF!{ebi;MIJbSuR`(n*st0YX}^p+}ym zSl$YZ5(osUlXs-e^UZ&apV1NKuc-$Q`ZI_sb(i%^4rd6W&(RSHKSxJ5H{u99W#!LO z9wJM|py?jAKA(KBu3p#Ig#kQi!PqkZQ&RvP z2^-^JiP9JdX^KH8%$E4@7H*0c=WXqj_U!9tYd=MW#vm?R87#6siB(Qcw#fQ5$LtpE zcF2|)gU%85nAEgx_FCO5@I@lFhm1LdEr(npLc?McHW+{1PvEakF`Ari_?z6u5oo%Qjl!4H>tMMwr|2IB5$)8eSKZ z0nBEB+a2RV0FBfa1*5o#sS>e%gtJ1N`a`*Ml|!A-{lZIl=3wz zEr9vJwK9JOGe`!$Z`AOE8%3Kq!_!PMVLcHRbU~!j(500cj2M+;tzc&WL^?Z{ud{?o ztR*n0O;EM@4u^x8D-ny^snfnuoC+!FbZs~LiTSaPKtlzI2n=4lUfjo3m8@#14n?ki54Sm zOmI1(;7+uik`!1A4LT)Q z*E2SM1n!@q_hG_wDB&pvUymx{_QGVuBeEPEaVYCOQszl~o{X+s*@Wn_-Fmhzh}Uy( zvC4lkuiuv_%)^;zo-Lh7;O;@MHnTU{Q{T9c-=vfFdGSqV%yltTdDUhfClVAish|V` zVpHwDA_IZc!>$TI-tr9H|DsP@-AAo#Z&EOC{kz`1?hXk{EFOC6>2WdM@sRt@xL0TH z%bW27K?LN%dv)A0e?ymXrmJq08p-!I!Kr_Oh-KZByFGe@xApkXqaX45^6+rjNNs1?2kqme<0QAX89by5cS{xPB#{+7o>8@1MI7In_ z`_v^to{Q{agrvLpUUy6E>Fz!$M^BIi$fQ8!(l5-S(WBGi@0Gd-e_5`Wzjydzmi~X8 zzvnKt`467K{UVAC{zLaU{=Mx68u5ykh7U|QhclY41u0eiqOAB*&yv4T!|_P1qLTgj z$}geAUGWbq{$a&GtoVl&|FGg8{sZ_2aTQSKAVh|fhY)#H;Z<(NClG-Hv?qL& zqBOk?{^QW>@k6buN}X37r^ywg-FQpLUnT9)TQh$e!YsXOsMeiPO-C%JbGhu~L=@xC z@tT4FC?s1rkb=alS~ABf+rPiU5o3rnaA&$Bs)OP8UuZeeKA-M>`CEL67?yvN%kMif zgBMdzhxZ||Y%JU{%UN}wrNaekLMd`VY4^#LC;NupxJNUqzge{)AM3atFs86aPUAAm zG17YeTLbo$)2UY@--8 zmS-@{j$Uiyv+xnmKcpKD<&J-{aslrvr8A-DE{oQB%6j<&?=Q>AeG!YEiG~3L%@n(; z9R%WKgN&@R#_B#y=$Mzy_&j2`z1!=i=-jzJlW(IN9r^RIC|(V(u}WT9y5p2h-Q0BP z5hLtd`5;4qA)QcsFT@DVCA{e&=rv`Vu3E5_HWjE`wFu&9_A-@kUTA-J)rZ2LXP~xz zM-MQtTOM=|JK|PPxNcEC{Q1ovoVJb_2WY{{{U!MRq4e1=Xd!x}kni#z>lye^Nj%)s zlku`oqzh*NxoAaN#y(Q1J3%R)!>bEjuk8FIOVXDA=s4ee><1e@XPtb_$r7L223%Jw zOrhL$x=?1HSXx9Bze9iEH2(`&PXxBLxxRUN9{TI?`FO_d1MxT%u`P(6`%Q+E&pTc2Yo*2{57Inq?QJ8^?G*C{U*8*85^1tR?VY7q*e3a z3$I~171O$?2tHfUQVafDk3CEwwnh7BgwZRU8U=Ba*Vv2@)9rr{3bwJoWnp&;)0Ema zb~;2&;iLJr;a7&nVehvHEIJS~BN}`+c!2+NN4&^^@5KpjR@=<=eqMKiUZGBWTx6q( zF&h*fyIYTq?TCTx2$tQQV~42QE=jERRU9<_vy#e;g~UQ4$fOYrPsFf!Dw0| z1tRF8FoNQZyhne{-q0|bGM{;vmRYuW)C@yN*{x}5rVm|~aN5lkVd4{WK%>!C5dHHOwPDGOkl-PhV9y(grj&j<|>{4lXO=spRJtSS z2xG_{1t@=4>ORqL->^@VI;@UP)Y1QcwR{G-cOVXT%qJ)^#rLc^5RgrA`~H2-^f)j= zC?N!vwtT@J`F0Dmtrw_I?2K01I_m19(IP~G5MC~2r8!vMO7q(A@+ar8QNumQ&);+r z8_TxrMV!b!9BO4#Dr!4#@ zeoY;(C-llyJypei&yeD)gbI{i$bjLKzdObejaM*IM?vnnfX6Gwup%r48OdRhgf5_wg{2TdUS>`pq_F{dRH~dWx<`>sr{R6NhIZ4d0yT6Ht0Jp7+!&`vM zJW*O8o@Z%RjN<`wfL~mJfO^T*mCKG{ald~8dxXyawvGiOcKK4hG)5Amca?nHS$?d-2 z%zg?#a4z5B548FdP7({^J1r;{cu|f|AYJ_J8lSPBC1(V4N)B<$^~QAaEkK`(OKS-*gHR!;%w_EIMK_ zW;LB(U01gwP`0`nkvAW{b}mTkM}7N71kf12@s?yj=Bt%GY^_x)NrLx&j)7;`c-Wcm!_dU z6|yhgH$tdR6sKxHPODhyqr=3Zr~ExW5HWwRKZ)lV z5dwDvc=bV8fj0&MuiW&n8Ft~qL$#PE3P@uBSp!JsH^z361r`eGq6!BxxO8*R!gfN3 zw`OzB&9MET(Rv&Rj=cD+EUl}9P9@2xK7vUkMqwHr7tz699vaQzoS>+R_ejKP^6f75j>Lvm(g>cy<2G52kx+$ZIh9lDFMEG$Z3~`fS)Tlg z1`MOQwp}}o4z)=Z#J9JA>Bn*5G*Kf+Th#?vVA>ZZWIaYf1&U@nH{M8}-ZmKx$j8Tx z#(HwX;|9A%hjCiNt6;Y{%wIXTa}Y--1$j!}S#Wp&JS;Lj2k&<7HW>cdW`p#;7{=1+ zJ}4HjE_5JW8#Wl<5IBD+(xLiyUHZS7?$c*9Gjr-|CX(|_1M%6>OzS|oMq8$L0I^0} zE}sEvjkc`?ylfX|@em*Ncgd~5HhR1F^3&tE)eSxI|DAhHwwdzXHKmdTRZCzuZSsm5u}uG-t(;C9GE3G?x%Gt7VE(^Gr_eO>q3&}b^V zm=&!cQ39kxASMRE3Yw^hwtu&8IlqprXvQ{JAgn=Si;I!thQZZGfi%KRy?R>5HOzDEa+|`P8Alb?$DbCF(y<8 zRy2>1UocvW2LsqzW#IvF;!Z4#ra7a5JV(cHPs49)0AYWD_2`+mHTI0rgZZ!YM#u9$ zqlyD0D(REvJQ)s0tnO2(&G%|E1`$|o6kAXkfqZcA6}K2~eUYtIn>Sb#@g^MPE7L8I z*ghhAnWL~7QqfrbKqp<+EI^x~`Jy990pvK6ZV%J41V%zpBQT91I3qLZK3*&WVqF1} zV;3s&Q(S+!uc_7-@78KpXIdrk2FR)>#CG!zN%wW*fRJ#vX7yQBs)a%Lm_oKv9z6ab zR9XtW^~8%5mJavMlF_hrN-AW$-wZ-@sZzzGG9lLeryMs%rILlYDs0R{z4?9rBpwya z4`rOVes^kkUorf308t!#B7Yt9)evd>k{jgdu9<)T#@~>K0Ds!P^2u|vY{l^gL&hiE z@eA~#LB1q9w84d`B%)`+zPc;_jJ{ip+i*Fx%6Y*cSvE#R}kSC+|zU^VpLv6ujBHpb1on2 zb6|f%o)}+BFAD}>yIRSOvR_Is8;a?^GZc+oZusL%KkSBG7yL5TIk_bfkridd$66no zTWUZs;q?h_oE3SwR85QqC<+QK-**CrYF^U)akZx-96Y7(Niq{T8rk7@MyRjU+iIy- zGOUA?1!$ii+N#r>aV1+p%2UX;R(g=+10H{nToGRKTq0a792L>Qy>93i4Cuhn5AhpT zc!JkKTX#eMESuzhct7-q@s)qLBWVQbrcu|;@cPQ82Hd3=T{P(X{PHX}uU@Jf4t!(t z7M%packM<^S|YLw?{BYPy(r7^JKpmY-3W2h)-P(9u6#n=vlGj+(yWHMvI+&+zIJ~) zd2&?q>8^^qVlp467=^1QX3fXXd3K%@tYw8l=Jyl8etrhT6J1HiFge4%s^oG?Ze6%W z9Pb1yW8B+J={4S!#>ZJ+)-JtfwS$(vbe=C=t4z+xFZy!Tgrg=jm1aYRUYcao1_6b* z5)dO1zhqzHP1;&-M|181INsq{adUsumD`uR_1xUB$I(_7oz*e)Xoez4 zbm;LJU0*!z1{%Kdhl1AAGxgLYte-606o9f@*WB=Uj~;4~J%RL}QzeC?EQUG39QpwE zpo~Z8wFm!BgW64%pa#`j6sHFvnG2`0j&`AIIQ%-^cuA+m@{BJ~3r(EG(LjF=X!dFD zTb#J15fkW+fqezh*uCbr!euBRCcvisa>unjTIm9Smi(b+1E}u>zWjT@O1SKYwPOlT z6^`b!;VdJhJHlW_fa!@1((y6O{ckf4!b&``w2`Qw_a@v`!1H(Fv}lPJ9C^W1l4MO3 zIS8C&l*6>cfTO*x%?HZ$VuXL*2{4yz$emMiiU3m1ko7%b-BD4BuQqActYN81K7zL4 zUx8$6J#;3}n3f&H z?>(TzusIVD^P)BA+e+iUyoARumf|k>DH~q#83pV^%On`5FC>4_HXh;rq2_N5Ps-Lv z*<}fg$5%nx25#`S2HPwwX?s;;grnFTG;F{%wJD7ZjB|9PPlxeSoSJylqvcuw0|%S{ z;*SgK(=O=)YNaScTdNq|+v7pB)YG z+Jt<4VZV!$k}NcSAjiktxDYD*Hj{zfPA$8^8nLZt{$4g24ap3YcPg9dP=CVUju>k? zCHo7VyoiTXyoCa$y=VG$Ygax;ek5&Om199Bxr-eOJ8OURysxiCWzY%dK&|{``{LpP zgE5}B;i%x?4OIg|9>2JF4h4S6N6#o94=4!}jLFV6IALzA%uD;e;5!ZuB}LF_F>}yj zB9r8{(GAMa2?)(lYQvAjVcbxJ9i)eWqQ27c<2q?goHbnLYQhwYt*Y8h&o153VV;#-r8pfm2*W`C)pS>$#>#Gh;?MHw7kN9$7)d%bn+hKB?$LEF16xA(F z&v^BUOxrXR%+ca4isKfKIajkp978;tT}|>_`HFL2{TcgX=rf@jco}|$LaQ( zyRB}l`kCd&nNkqd^G9(ZnXUyi9=!a|i>pYcBuHaakp)x}5}Ji|TD$_CL<^PX){A1e z5`2Fia&9RF&%q%+rDn$&WU!}`oQ?&zQ*zDWdBr$6aRTt+cyfH)XwBS1b)O|9HI_U= z*oH3%2dxQ}evTS7Ytm3zud9hxQ7p)rveOa_}Riz*QI4@$^fdeo_4sE`qt7?D1 z1(2?NrO)3jH$bkU+pxF5z3uwJ8}JNdx-?pVp92ON#Xnmxi_##J@4Vm;y%1c4z-zvA6;8-xjL915Dezlk za+I(~mv$CL_MPg?R~jL1$?H7f%^iQ=MZ7b1rQ;C9Ls>lm;0uY16gu36$ir1HE*6C! zk!o^7Qmyp4I7$0iorA(aUTkiS7*d9|*X>i0^6mXEk3^-DMp{s(kDBDl9UAru_B+QC20p_QC z-0lfdgdrgYtWL$tuosAjb~P@z#*9j#0i(|I1E|`4dL$a+*d*^H06<1pd|IbhODJhN zwoIZF5ucQgqRJ8ISzKuTOn1~f{mVj45Bfq1voMc1hg#L82qOF~nR<>6^FSPN8G+an z<&tSFAEi6xM$|*bIEjDqgYuAgqzrkaB=}SaZ>3>Ip=u7Y!zh7&D&vnSLh{z|ELEva z*Vfz~o`6C0V?dm#_5@m9Sd-JHy&`I@y)D+)YtwRc#M}BaD@&Fi9ffa;U1ul8_QuNz zSkn^yP^F|Nx0>0lC!wz?eCrR#-t^S-uB$wn3RTe zo?%igX$F%v#aU12B1n6rkIH{k=Vnk(!hpW5*4OvoxPsLuK|%=u)9~jadR9~|KP%+u zIsM9@h059jdFr?OhXM9YYQS^;sfSFpD^kfC@a z+vY}MQ7V4%Z5V$gR>xV@{y$Xvwbn&jqUDq%`sXwh**=#pqNHl>WuZ}dttkOWIek`W zNQQJO8L_D8eJ=-izl;Z;K+qIdKa)I%efBeDX;12T**6B1DpPdynk(YTak2{#kssC6 z(143ViO-wt zEaEH{KzW3i&524@BPv3z50oWC%ECe7Dt^%wo_T_M_xrh~7&nJby50mtW(puHl>UOW z&8q%Hl+o(SYaV-Md^s~RjN~w5e16X2&&-QGZf8w$rn)W2XD%2*-H1d6!mO`vw*Jq} z!To!@}ya=9Xxu_x~x^$2TapxK!rjRJs$sY;kcI&lMp z)dw948%IfU)WwsInmS2Q7e{H72wHPc@>p_*;dOt4Hb^j6ytBT0(lemH0-PzwT)h8q zG>^#(H2xHdq1{en^QFo(n#bg?(Y%;Dy90gONjaNw9DBl7C89r6lY85Zo1*hNYAU+OTLBcyl%JV6x}I_hX`LH7snYjY;5tprDMuIf zgsy+P{Hh~tV(H=o$~QD!zZT zi{Rb*-SDo|yhB}5yFby}M=$?0wNZnxASPaoQQEBB^A_f5jNQJ*xvYsm~2C9zo)&E3@#Pt;OYNig2e z$&d}XOEHck=2F@NP0<&y_VLW%33CdAuBn4JHN)@)J^t4EBrWe91N1UWF5&y8Y`5#y(LwUS;w6{K{Aj5T7wF>HNNvh}p^()J#>3$&RaTXBh(&8maC|iZ$mb1^ zFGmCAk@pk9vj3s{)zR?c`LD7aa)kTVW!I1~2Mv7C9cMR0W z`g(a_rdT~qXW|p!=VHiI2jze1RdpYTZGFOQoTZO4pPNU!Sc)wu*3U z?U0G`u-JiGdZ+K>mU5Hu=2rWFV14H8OZl8cIiDczQ1n&e|f_C)Dtf75hH zh8&%UdMv0kd!)u)y@wu#vJO4rc0kOE zXcY?rcF^QJEh0(Me1?&YYTK;uK#NET9C9-7u}BiFr3XDU?&s2cD?R8Q22sRNz*}F( zUm{d@yN8UOm9|x}`n$a-%GcL>y|pOb_2DS=`&&F^i&Dyq%E1qz=|9liSJjUXiLH#dJ5c7C;^Hr$%dEH;9-S!U{$jc2;CU zJY42J3t!o*(Mp8y0mzng9Lv?gRjH)2xUxPu%2ILhR9)E;NYni0rZua%*;W-~QyK&z z&;@rB5`U1I?Pj*=M68)^g*K#?sYDR;TRDFogx%%!8@1renh)oWAj@I&kC#1+A!im-|JeUMT9S{~>F zw6^SS))xlyKpi)L35aHcgpZy0b09oDo);kb@{lg`YDGo$m}-Or8$`XG!6P*qd8`dK zqOD+bP>phMc&Lqeu+dXy{8Bt`jm)QOh!nLA)_{K&07$02sUZuv-EtS!R8bvyQ-}_G zPgA@YRS)|p|K{czSMtDDDIE~t53OoigK)lMoiKwv)ZCBR2^8*IU_lFJqfzF7A~XBQ zLg}Wq3ab;;laRI%FDI8Q=a-@s5$2I(rQ!8eO)kcR)Av<_Yuhh*yc6IyZ{7~yGO3HH<#g`j#&1Tvl| zXNR{{Tq`}UD*gg=%4u=q8V+j-5c6Mv`qPWWAn>;%pfqk;J9MELSJH!lhv zT=siXpyRFnt;jJh5Wie<2PTpERg4aq0u409LeYv;_2|N4D2+v=numz<_gcIjn6ZBp zGT3krPz+r=I-=72vuK$np7StPBj%y22g2l9ECr6fFVP_xfDpmD$nTbxFVQ=^$L>~< zWzbUjn~%iZNo_EL5sPyd=rT;ZlpCt-9DlvN7{d8!Df%$!RsY@?lz8#65T^iV2?3>r{oR>AIop_4yQZiW<+(Ti`Vt> zDjHZL=g{R_JSo_={7KRo3KMjc<2%>}?xRUs0=fxXAZbTuR2#@wh^Rf_OLBjN>rTxO zl$}#>U`^Pq<4lZ+ZCev36FZsM=0p=aJGL{iF|lpiwr!h#zEgkIsdIU%dcS*D-}c4s zetWHFWfN;;JrD6P(;G_k*xKIZlWWRjPZ6_?r4qiYt6DiQd81H11PhQ=-X*Q}^Ltwb zOv^wO0JFtqtDvLTcEXPG5YjP`TodlKc+`ro z6{Jvw8>;-0%!0=1lf+P{%hg=?89e}5p~GwUZffuOQHjK^on2yrgS(WJvm83kVUZHW zzWKn|9KOt{%>c6$(sQfn(ZmZ$^k7S?M_GJ#Q~-MWk%twV)PQKN_;C?S^C%3o>ycYp z!`6NI9|JK$hxDM*Et-s086-R*g1!XG`-#NF;_Qaw(Vc6@a{bErfgXTqgcA7ZH_s>Y z@MKha5F?SGE-#SriWXo(EegpFvxug}9G?g&o&$k$rgz&vSSqnM!9bwlK_hVx0%sB$ z)l9kV8Jai|VZy54s;?)n?rmMkyD?UBu0?B@H@9?N(@M%ZBNyVW3^@xMst7sjj2ZI& z65Z8yYO#zOX?!}NkGi9ez5tJ3#lL(rjd1&ku`%k8jEDpcC_7G0Tz-SXn;7ijowsOY zX7zLvz4n8=uqg5Uh={~L>ZM$RuxUs^t)}a119^wgcix#hvKkx(JAy)(s6kNM z4So?ax0oC0S43FA8dAjwSUuVg8lz-v_~P!cE|d`+^yBdszY0TYU=Iy%JR-&k8HJ>> zGol-vC?|_8TohG?jd_#XHnIxc9P;440inV}F1xry+8T+w>77f7b3~4nkxPKxQkTa2 zM0b&x{AwZMD))9F3p&KtFst$u)Ua_}&NO(dMxlgxFMfUm46IKL1=WWta*!1wYL-se z)q%rm(~bi&4Po*CaORc6%Omk@Mh>sF4oGqggNY203gN{3=~R^6F5i1b;*=9kJ6D=91g} zibGy5_&tFc2Mt|I2>$3Wof%<}7aep%cHa~*96TbbIzhH5W_mT;qQ0G6k&Kv~JJG-T z^m}rFlVOsqD~&DPP$|L^VB_NBUHi*)BTDAH@q6yf5enn_cxR*4r)60&xQ76gc3kN{ znI;yFzPu`MOISK7p5_ku9kGzkILs^!y@n>VH%!k|zfP&jQbMZzR>%Wt5%}IZWioJ1pB+jsd zMflBf4tqNuAiKi-ML;XP0luv?R?|p}?R}2nEg>CX(R>O%HUE|`GMUzZ`7d^c_+ay| z6JbTNe~(lT6ZQo;cVvVp)zAgO39*19Z`iE-!vffeGb|ddw~Xz1lhQ;ktI;s- zYYXLkO(eu_3EibEwAA-RQx|g`?p#+tD4NFD#k7eg9mt_~?)vpHU&B3=wa*|-5VRAzG-pHKLo$&*Oz3bU*DrJKJMcrU2n z!}t#nPqaY&po@|A$Z&yhHytf|LtAhG+1(GJc-L?g2_e@+owo%1&l|;L6X7ElLceFx=;J-Q8zVMJfeqqrnbHsCECKHa%TUk7eEroaY;Iq;g<6 zePU5V=4aa5AR~EfYIC;3CCf?A0N9zByZhXq?|X65iOBi18NO7^t!g-JW%ib#ze8Vd z62ct*?PwQss?kjR|9k=h=#-5rpQ|IPUM8g@GL zypE`k{XG*t&_*Rw_ncV48gGRiK;5y-LpL)Z1o+5Rl@#N(O($TdR7pgi-9~{p)=QeS zu45v8hMhW*ACupyUt($%96#44W^@E%DmV}1bAERt%^rQ};04b$4+)BI#<7oCZ81($`p-DVxhVN1(|wQZF?Xv889wF?FB`p2glCQ4y10~V9ms|o zfHv&KwQ}keh6}Fz&U(nq>p%O}ahb;aOgwKWlUbiJ(XJn-xO_V>woYE>9Z&Y_8tpyd zLI3XFyU_UfIkP?M&E2yqCj8t;mU z){Kyrc>smskmt>p1`_3{DA`4Rx@!sJ+U$X!f+unC_3FJcfnF8OL6lkT zzw$XtO`!&vpO-+R{}1+QeLc7)_8($$4y+HhDlDj@q3qyy(L<^IsvLa4k!s`1iWT*m zZ7C{dFeh>Sg5`lAR!>Sg(QTerr)1n*AjwpL8>-MCEysAxA+&+7itE-P<}26uO)W8) zs2{5Y2Lg-cT!WXBRm|t7d#Mr;N#P#jY)wCLT=)E}`896qL3k!x8%Aw-qk6dBly7T8OjCs@*W`9Qi(KE`HDMvK8#7*1+l?Nj zG)@kQqxAqLp&TTNeN8U+5%W9YOnRQiSP)<_Oxgh3=|QzI+ka)=k$bw0c<7mDSJmSc zo$wg5f~!Hr zDKQUGC)#u0X|BxvD8W7&=a8RDr%vUPoUr&kQZK&prY?_LruES)5y|x}Vk{2`{mO9b zrd7&z&&r}sdj|u)743yrRu<#U@S_pN@O_Rc-<&q#r5muZp^+*Rx)&M_{;@+3UJODX z5+fD#L@ty&#?GMdRaI$=-$SL}@~Xr#F+U^H6|>;|fx%E~<%oCaG%HHv7Kbl?oPZyd z0&Hi8*Pi*o8nAr0B5Wq08>y_C49Z>JitI)mdLGGYH~t0&o7fb;Da@$Oi|Ay>HN8^5h~(EmZntVCqAUG#B9Nw#?8ksY>1WhOMnB`aB=3t@yV$~L?eMDOqTcnb@{ z#FNXA;RXdX+dQm{u!YZYEJ`>0T4aYyehjh*w@5EWmYQr3$g_adhlXX%Tw%(omvUxrg!LX-oBboqFjNb3y7Li>XT1 zaKSPr@|@%cSM8L7&1SD!J$WQ~K?rG)@B{PsyV(P*rfFC=6A*Bv^|`23ic0>jcW0vD zvE-=Up9GEn1#N5Nj7<1;;)QG|QJ9Pee$czNmDiQ@G=gh7vU%qpsoN!MPm5TNe%BmZ z!ONVFU6F!g4%MtWEE?hKbl~Qdk%_m{4Z-95t5-+Ypm#Grm?H{Wt|ttu5Zdjr%0^!X z(`^ONwzT@~#R{ffrBh*Epm`9^)odS`lgXtKgNeU50J@|$Dh_RIp5dd?z)4O%fNsW& z=8BQ26fXI|jwSH-%y>`Cw5-avCC(iqx~@IW4p<3SX(n(0 zYs>~rcx+7#Y&U%yGxJ;R_VkE_5A}qpq^{_A{V)KMA}v=DbMa@k_CN+9y+9GJ7L5~& zFiJ^|N35|n*P;WY=6syqcI+N(flo>aG;pNMs0fnQq8S{veqCF=ui@H+3}>_>BpRyJufhzlX-T(zC!TgN)qPIvy6ELfm@1X^iFM?-)|^HEPb5>Kag9XE&RhV0-<%(H zLR1wWJT2+h#74w^K*svX)V$?SFf3ds-^V7qi++)=Feies9*%N%kGPS7!@T)5Zx0>> zxzS6P42iyO&<|r?+KyH~Yy~zp)XJrA52id&#&CYk>Mu*DkJk-w11n+v8h0bILg__1 zt;l6UNu}od=yyrEz;Fe^i>j+8;~vc0iQkUqxBEVr%ZuUi+{D>f@RZnF_@ZH3RbM_fsxt3u)b&p3v zjp@bToH4qS(%Tnv5{N=updg9`ZyTdgL#Jw!)AW6)I=!Nv$%qxzE4!}WG^3jx(Mn4g z%D;iEoC0Lj$jO+OdYxh3MLjBl_s-YPbHbhJzeK^{Hha}oV>_KNElx?PZvJCBW%m!} zDKTP;@x#BcHV74H9c?x9-V!}K*|s_~9}uQiX$)9Vy86m?H=$lB&PL4mCrlz(9@-+iOJ?#ESx*~&b$9>$?gHF@ctJRBz5KAr zUw(XRZ1r%t(wa!1SwD^L022b3V;Suf0>%_}^G zB%BnO{lu}|8rXu`8&FlN&sW~cC1cF&ZvvsX29}CHwpUA2(HiMU&zO!n;}_sw1YHuT|FIyHrm6jajT_Xm+FBR;>(6kz7nHY^(-w=_L% zD67&=Yw5emtB&{SX!AU%=j%q&kMQr|8Lo9eYHyp7HFJlp9lMhA)5(#&GiJL3T;(xP zP&mQ6+}Cl0V5Fwivx$Y1x}W6ixvMP{r9k3!8w4mt4Y!rax4F@ndoD$5vx`@q7yX4a zgB5!<{?(Br=1L3{pSin?yTJbLf7SrS-6`bMbIp>Vy1O26!Encs1QV0GC`ry!DRnPo z?g#)k{|j&Zv(=nd-B&Z@2XnXtuz?_zZioyXuDiI&cEGJ^(Tnj9hQhnPz)zzty_l=y zekR*s=GH7;#%Sjt_h)eD;Wk|Eu1HGcy5&aQ@R;fHK9*j$cB|Mdf!s|pQt9fkHRc3y zhj+96JQO^VInb95)K?1AKsJJ~1eaeO(?x}vsV^~O=yZh9uS zFw=)1aN5Kqtp-y>U-= z`vRdy*5@EaB6IWrIlC?nIn_)Epgo4Xjmah%fdv``ffz37ki0H8w6}pe3)kK^v}3vM zQ)8ns;>8bwWD|5Fl(9)}Ffi#%!)wH~w^<`-qt3&W6UcECM%}10KPsOfvSvO4z2${% zRClUKdheeq&yopvf_qZKf4$02QH0Cc)CqcDb%>MWwDTxcLvI;qia$~c|g#Z1OdCmR$#Som~Fv;c>V>P&iV2V%BF|i(+ zb#Tt~GBw2j9`qP1!Mo}FbN}KJz3{6#v0Ka^i2g>Z4@qL)y5fEjhQX8`0Th?X$IFJ6a9J+2g33T8f6iX_?~k26f8#HpgT> z6vZmx_v{cCfzxyCJ6sql?n52)9m*m+q7@@CcX1yIutCqTTbj49rpn{WH?wb5%V#U1 z6pf*a6`muP1+b|h588ia?}Se0RK+>4ywC?fsL^o_>K#o> ztLQpRhM(aoD@TiTie78z_8gs;2%1vi9~33R`z=3N(EH5JyjJ!qiNOUClM>+}8KVGO%!JlY~M~d?G)20Z@3Oqc(nTzSFTVA_KP49^y8U(f!&s;EQcF4v1BR?~ z%L65eAnu=~5!G_6N}(y|7Xwl69*URoCtybsftuI{iNXwjztfdNB@9dW9ygf86H9db zR`W`fD5oj@TcP0}%_!|-8Ico<0Nnh}-w|&a^2)q8=jN3{J_Crk?AclV>jl$5vZep- z60-DM)G=k5mi6Z-)}{ zs<4`G90*s4za#;39E%FH&4^Qgc#^?s72Ge-6Z5q(vGbSB69D_Zjgys{+jG92XesaTw#acl^NP--aa#TxhL3SR6s$!-N{g>!cH$!@ zb3{&Tno_)oS^kkZ?|{Uqg^^b0Vsu6z>b1tP1F6VyzvC>enNgYWlU`Jx%CjOmUmy(f$faI+xl^;=+yI0bOOZQ`ge{m2U|C&Y55zj|!AR8NfCX7SV@p{LyV2SZV|JH}k&^#;|99E3HJ7WeX zqOMC)6T&0c%PVk>>U0m#?r4@R&+?{4SgH-pOoP0DvS+jzMJ(AZbgR{xChN9uC_Eht z_ZT;a00_Yhc7no}Pf`ue4Bstt0K)znS-K++GcKNO-`_baWQ5z1cEs#TXjKO#W8M2Js81^cuc=K<_j zk?iAxdvU72$G*Jo(`8}*EuVEti3~l;=#{i<#Er}kP{wVua9Ajo#&XTYkr-%=)@-bp zUomk5CVu760WMc>faUl>tsE=jq#}~f+d)3u!21#jlq8+9x;vh~10sYuy_`^EOfr-?J z)xqU&9L{k_Lo7mjQIwq@u$?*}$kZC}Ve4W<8z40ygt~8Ba!op-n?R3|P4~ku^ho8t z7@9#y0+cF7$Y`Dlzf32pl8d|eTxwYVzY$s=1ptAJpP^*BnJ~xBFJh{SKKpBw3LAVv z&`AT*5VvU{?(lj(E*82fh2$p;o*1Jx6yYba=oY~{JeDSiUE-d3c+r0yDg zb)f7KkHMV+>0Qo{wJbjE+{QTT5rUt^Gna!i9tGT?T+}m7l7E!Ci?qGvff$QnbXYzv zeZxM;KmYkI2ObD-HPO&#!OWx9_SEGuTh9+haWU{wR^rlWPFOt3mAT9WGi=;eaGxLiq7dv2hbZ} zgsqotwsGB^PRism=8J2&om2}aPUfC>l!9pwqf|$l6YMV@(Sh@&Z-H=WfEeB{6ru>* zf^VB>5mJItEvmzW#$30O!F}N2aogQRQYj_oMsFjDKyrqm64+@<#|dZ;Jr|V2a}1YmF3VJ#G%X?-T!wraTA{OBgz!R z@Gfu*S+W~cm3*&Or~_N?a9%SORNzLS!mpv4r~gKaH|#VW@uF)pSR{QG7{7VFahD&9T76u!fb2V z;@}kBwf;GN;PjO$bw7Fu`azlII`uS2sPOuk;%4VgUh$Kym-sR)0sj&b4{xs+^HPMM zzsK;NN00R_AW-rV#-A`x-o!3Th%@q`L>+|>NwC&!ILJ~@l=K7POf#wO_dACR!zT0drskM&ARKOhx;{aUL5yjIq0d?uw7Gn%F{On?wO?w0QA zj5G0N3)MZsjnCoA%<5bzD|iYU-7CD@o@9^8$aeq2F9?6^B^MV@lMd$dZMQf6Q}b(0x3c~*?hcCk*&ZU-KN_wxB2^AfIPezn=T*6!q2uBo5#hLcc4EiKu)8K6lRkl=v zOw;A#5YS03D_fUVL~xmwOM7fLhL1Issb;+pWxiOpx0n92V4#y90jl!Xx z){3LY)W=WYz4LSO^PFkkGDfUpK7JAtYw#EbOc655?68X`e}w{JI(+f&9A zhny$^8FGhkKnF)>xK|usOS85_bad<*9>ii06*)e5fMh3GZ{|+W+J$Vr^Nip zY-i{tuTsjW;jcb#9MRmwbwGc1^9N&|%w~jZcjyPOn5x)Tc%XQ!p%E4SaX|6I0s_{p z!-669oz;x=2q&s}#lzBfHh0ja4ezG7EM_NSs8-L2@&0e)aM07}<+)m)qo~aPmN{#( zTjPJan#D=pdSWb-s$wjk*kUZ<*!^99mz z++$CZOc4`y9Br`9_Z+U8hj=SdU+R}2y%~86XHcTq?ZwKZa_mAa-gz0Pbk0{v?7~`1 zX^WDLO-&_oH{|CusD?5WF8U@;^=-6mkAts3yU58=TMOO|>^c8CRc3+nstCCC`Gs-k z`u?(OmA^?KEkhzA_`6UtrRN;q7=8nhs-~Uu4s3?u^G^RvZnZok)2`=vHw`nnvYu@E zDJ!1(Hj%QP_zxFjJ_U7SJ)apoD>~Zln}6F>2hBQfe?jjt%?7c*x$s-@d$)Dqi1u0u zx{|00D%+^+!aD0lmMvMN&jfa0zpo$(QKjT}b+o&FzNp;wk}4ymn_<-k6Py8X*EbOe z{P<=`>B%ZD5bB4(yTUL05y(cIjT1 zlXqL~8*|T3OHrOIP@OpMR7fCa3=xJ5Uy2s>4kn$)dP{tg8s0Hy@U|eu8S-8=r)byi z6~0DXJ)fQ}9xX^8FOOpseIYrq!Ko{63?C{ocA>p~&oh0$h`_?8K;AbeLaatI^v~qC zMelIr%gtdom2SespA$6Z?i2d-@slrPaGOM)C}yNaTT?WQT9>?%tBt^!qCJP4=Wa?4 zFT=fiRxFOt4{KP;C525oG_dsE?V+O&P6AIMFFS6lv?%-WAfJ^TO8CJF@AiHTH{;BQX{kx*uZ2qydzOPHjP*q_8oMd2vU4oLK3O}3XHAjC#+RfKQ8_P zIJ10k!3Q9HVf!qen@_rlw*oHo!lbJmD?OSfg|;y|INOzL0T@3BAGpjUkj&SFh$~A zf?SyscWM3QH9qYb_-hX3)ZK!?=s?V7tyizSf5rSvc6(2|EdG9?U4Tns!wb59*PZd_ z<4JR0jQU@3( zk3Tah-22r>RvYxd9iyU{Ktn)F%mjUYanXoAcnpI)GnwXb|VTH9}ggi^~Jm8OwpB;KYXf163rx30+>#Tv{?T)=YcI(l`$c_5A;!(rj4t&pp*{6e8@R!LGyyco zy)LO(b`J%9z(+5jo?zyceeM1UHP)HDdIF-UzarEhcL|05sRL|TMI9l-9?qjyUQs(aiJ1pC3vYM#6G&yq1Nxn1k z8qI^47ERGlcc5v(EO19eQwWe&^Qzfeo4{JZ&%ElY2u~lzJ)8HDZVk)ZEy>qQyVu3u z$jcx8_;#-ean$neQ+#_r$R*jLZvFTOP3)Epe0k7Wqoh^3gZJMIU+u^0W9`<+GTPoz(P z?QPU_t|Ub@Gpd ziZu-F!By&s-g1HuZlnL{0ZrDC5eXt35>s%OB-E4Uh48*hT`2wpcta;JI%*&n_0V}` z`U=}2i%WS~IMPM*ChL?C?V`vBj{|v-zvmzO5z4a}XBh^DNqc_J zs#T30*xjL{1%K`C&XdK=HwDJPg&;Hd%5lWuu;*QaWpt5{+ErEb3BQ@C_&7=h2Y2V~ zu2~`8liEF_MfI>ucZtdysOJzffPF9#rr(vLe)aCtL0!n?C)4%1u%=TyA!W}Y!@&kz z;d8)E9%^EEFy@cw8tFLy9xi`FOvwepsnScLzi$M+iEkNyu>gg^j9B|TVCfvP zqQdFJka*Q=h9d#C=`VlT@gxrN>6j}Mm(ngSvF^)XoYCF$`HKE7l*7<(TiQ?KWwLmWsD>@aDWw3|Y74m#1L|9(F zXN%4%^gtZW0UfQ5>Iw{wR*LU7U$zghw$4&97Tz)x3PnN>#YCzPJK9Q#^I9MQ-7qG> z*s+%nnTpi%a`S87DOC-E$o~N}Q7?KovALVCJ=ax~&md}$uRivu#Rn+is&hjn5L|4- z{&c*YyYtD{D>7N?F%i>chxh^#dk_K`o$X+zXxGc`aU9`(YC!T=-0$R1l1)tH#VGYd zy!oHJz8qFhAE^;3jRaZIF1&V79KxK89944g9d{l4Zv;^tLr zR{oz!Te8w?=wf*_B*m`*=tW6;&*LTG9q(C+ElFI=`r)Ny*UD}G0p$}9*km8zFk%ET0BIbK; zZsWH2d+TcXqKJ#qMh|5_!&Gnm&aCwB#UFp9r?v`9w7pvJ7A*2ZA*!54x858%M()W)+lbF3H#L!E(4&AUtD&ks=U&Pi8s{0{H4>{62MtSCN^|!%FWe?=s%@<@im>6^9=R!%-JQcLaQMfiEBT|NPzv zoHq~>*jQy!59m+bCSWSifCvxa?*$QEUwU!xZl=! z_6|_S#=YG7!$tF_A47iQx-Pwsx}W*=xBJtWbmPbH<}r(dhE1?0V(^e2QXF;WWoxJm zueEKgU_mZmAvn5vOu&N$mXc%V-5gS-ditZ6;Z(dY;TI{(Ehrrcz6Yr|eS~L}LTs8$ z^wb=HGwz>-FjW+06!z6Egs-LM7_-$}4qV*^wyp5$EtQVnLbk1J zdHtsNi_)24mL^6?*XZO{+w_SU+}+L(jrhn~e-=}r-#I5a5yx*2PqpT4pDt>p$EDZ5 zKISr)Fl!s338M~}7mhRQ7dChKv_*yp=nZzuSobGh`puv-pf(h8KL+i zJto3GfF~Yu%JR!1&r0}*!?7xRlwy=H^ui^7b=h5^2{6m)NR{qt%I^&}6(>Mw&81e0 zs9qpwCao5;R83L3Bf;JtwJ?UNuL-T(a#MMOS226&vL95Cj?iz%%6y7M6p!FJ2EaqJa!; zd;Z%KI4u8ljFqC(ufplsuCc+lg12qgVaDt1hd5ny3H)aS+tX5*Ckmv~tRMVkKk{$; z2^N(SHg`<;`bCSVqf-gw)8HPo+D2WZi0T`kftAxIMvF}=9=dzVdlzqr?!rE`dw9M1 zBnRF3*6oWV+$ZBKfeK99Q9Z`Dk(E!J-?(WKuJ8OdV9Buy(F}*I3^StD)hp%R<9o%tCmIYov-xD)D%N)Peb zu%aEKiuPX5$Yn^4w*yI6P|FisW%Ddl_CZ4$!xVxn2l^HM9frC4n^xnu8lqiuGFbAu z%6KXJVvH9AcJL~?2}gF|`r*%Y%az~h0!;6h>W(?M4ER;TcEO%;drZ09hKKD*4@%HAZf4Rzb#70SB;#hNi7=G0Rvi61NH4_6-_jAwW1#-~^)mux(_QnKRh0NS=$N~>TpKJgTm9aAYxK*t!Ggzm40ll=Y_L7O|GH+Qwle;5I~JF z#SIjPNG~HFfk#(_2@#^|0_E>J2Byl$tyQNIF|0q^&LAug2sSvK1;71$Xu`kM@wqSQ zc^}Eez;~Qp%66dt7$(TJS&tqbPkev-oWjb!Jd@kxJTafs989ek#E!<(f^Lop(Zb-| zaltW#y2r}6e@Hx1(p2GUsV~R2nXc6cI2d7I?#=g#gs&ufU6`Td_#?`l03c-@1k0B5 zO>Ga@V1ZN;2b`P}?v8oIupX+6j|rA#Qf4u%8%`OYP!8~Z^38PKvay+-v1YFnrD!}^ zC-kvoo4=eAKGUy1gGpw9Uy#@)*U4$SnjtsXUb|at)NN2~{5j`~za^d>%f#Qd!-QwB z>adL6L4q6|ApP!&>UKpu0a#w@HWi1}2zigmFAcabR0xmTg{71whcE zz(H53ProFz#Z1TbHv*4+dIAsH`hbW3>8|qgP^Y@4RwTq|v9!B?Q~74dH74IG)={(I zDSd!>6cn~$q6>C8-yQZ|3xd(sJH%R)YLQ^z+ALjF!(iKtH?^;i29R=_?~#7e0a#7@ zXcq~4$D>t0$WJe4Oo3Rn=mdzmI3HEiDJd{bNkLi|b8^sfvh4pm`H~?ixTZEBpw_{n z+QH%tbgu$4ZzeIz^Jn7i^yjH+YZ*Hbp??TX{zGXR9k}#sDAV7phAVH3^P?MsV}NOr z=0ULm@>eZW`U5-@c@%ds7nBen&kU6-X65NbX(VDrr#mt$0>=1Kq*Xgqz0NLdv)?M= znoutXc(=q*@7#9SrWk`TyL7Fggt%(!#Ooyp-V*Vb*3HZreDD~h4F;!KJHE_4D~65O zm9g_$U%_A1*#E@yU8=~HRc7^OCgTI?f%wI9 zy4JIBRtfkCYqz0N=I*8E?giE?O1Ev0$U|*hn@Echm}NM@o({X7H;hd<2E>N7Zqu4B zgWJDAykr zlrKym7nSM|++F8zL8pCt7f7bF+`blcer^y}fONnRo``9(3|} zNIhNq&)88ZGGw8N56-h&s|U1g3qJsjr{!{@SkFGLwRPRj_1BRo6o}~cv!ddgNWr&T zFho?ELAeC~c>7+Yd3$%7^~=R|4C2X--7NZ{T6aj}!4+>id<(?njKe;M>QieO^k%Pm$jl|d(xm@0MM7hL+ z^Vs~;d|lPB%T_1B~cIT2lpA~6Q( zwS=7kfv9MF<&011Pc>XHVI-W?W4T@(MG*#uu5@g9(~7F^Om5{hZ}2oqIP>(_n}qWj zcljKT(t5W?-sE*DThdAXmN7I1t;4z!cnv%2m0)%BR&g4A*cd@^{sadQHRbUSA$DJF zMe&UI@zFsNe`zB1yZCnzEN1-y`X`~?rUP-Cq64UP*Apk5cFljI283j#4?Y{~*4Rpd zm*oB6Chi|6=Ke)8)sDOn4g_ZXms>87^|2O~jXH$stP_522~|E7&(q5byO>WC#Z5Fm zI<9pvolY6tIwT<+L%u-C{xJS}1)sO_LA_-*F}t+Yiz%0*F(F<|&6dpHo>qcVJhDAi zmkRF($h}(k?sfUY5fs8h!*=$~7==7x4gwQ3*MT|4`jc#X*US=bL?48h`vo2UQr}Z& z3Px4)+Pbx?v_)OFbcHg6Tbf9zUNXNLt^%3BmV^g_4oE*W#4Q937 z!ytGu*#p07No9*pJ@D!-3g1kl_+mk`NybTh`;R-3v^-dQvd$`Tn^!n%)F|t}@-Bq0 zgSK;E=EOClZst-X1MuZfnEY7I7pV;D91ek<#@<2vd=blg2^7iIim>>=3V1ypYzyDt zc5!pYM0-_Ta0h4;P5Nuf)DzK1YYa71=|;m$G^)R%Yesv(c*f;h@07$*rA>iE=8$sBC zAVaL{W4HwYoKezP{YDFBP}Wsm-*Fya;$8ND zw}qaQ5MlnR)}oA2y_ryM7pGp3jOtesONwEzmffG&s@k62n`V`}Z{NY@cA(@;+bHY~ zWklxvGhL*1pS<;_Vs&X_a}aEfn5 z*4}x6i}FgfS3OgLJ4BazLa$BncpMWSA`XEr1^p)fcsk%K-nN7o45c(me2wXhhzH&| zK9XwvYV}WuF|Ie^hyG2_C-eO)Ju6b2P>a$z8RR=U{Z=QKeVaut_a3tf+rqPWVm`f< zUET;xQFt~|zw}^>VSCJo&_59Rhq!+g(*kS23l9FZq_@LJ)mOW>#?4xYb*t|w<#zEi z|8(s0Sy@$OUdDevXy@;kTdp|*E}yg^3OMwGv6&hfZ_&oxxRhuAy4=o zRd5<$*hgfF-F+FuC=exFpf)R;^=u#gGze~{amv&-|3G#fsR?bW2mY<78b5y$4tv$ z+TUN+l>D5O325oKS1|AaKvL#sZOfguj{C;V%xz_7w6wgP`ndOVIF|OjLg6%TBY54< z{|?=Yl$RTAp0|e|;w8b;*H_l;$j9l|AYEPN;M$Hv)trPnZr8|ib}4KjN`O2>z&(Wp zF+{l45HCS`-jQqNt~|U1OI@%x#;_5pOSL)`QrMo{b#jJrZVWuk&&m!yyXuvnYKoW4 zpb&;_di#aBeptVIsaEc56ELr~*l;KuA)uAZD9EozM(}2l=5`NE#VBO*EbSN`y#fXY zA72&^%XmkFysl9(nsYjuhym%saYob8mv9deuh1*kjCiVmsAOk1%m3_a+LzY28>f_Y z#7WIeZ?B7;Oz`MRR0R5ALU{j5j}Mj(w$#_kN_10W1C_+t zoC~!XPY_awo*OD2ax;%-OqdjewGLObPlCM7SUgDqT&$bQ@}Js(?1MFB8XWg$JF26q z-^8W(6eu<2*N;zVLaOHZB@Uqkdipl>AVh}3D+jzL%pYQ9c`FFs-lq@=!5d*Vz+?l4 z7TU}_Rh(YNl0gfiyR26OcLmjI16WTT2d7GUu>4hRVf^!H(@)ySUw|Y@6|o}+RAtZ( zw6GuMkG4;&<}3;jp2pD7aDl^!F^)WS-!-8*{oTi3s9%Wm%(Dik-+-W5+f^UOAO675r5BTsLWI3bx@=aV>oq2qZ ziMjcyUBv~6Gb+$<-UsG9ln<*0VSEl2&HN$CY&lT_Mce_Y^SyS38gd@&k9qL$DGi=7H(qsCPKf=* z2@9$32H!lQjJ0+;zFAf1+o1e@As!o=&KI2P``+$5jokkLXh4_0%2F+0Y%~8ckErC) zuO%Dc#9Mg;aevj-QVUIWTkV-Dah6FMx8cFQrR|QIL8tkSWDQlR8e3{Hv`+SyDyeMz zQDb0L2ioB3HaW`;O)c%rp;hr`?4c;n&*>_D-nJ@3+EjHL==Ef1%Q2 z#kj2)w-w{IV%%1Y+lp~pF>WiyZN<3#c8nX>{O2pp|4Q@!`_cTLjQF#NWUzV`@o)Jo z!sQvu`F}bBW-_hZbmf!xC*^Q(zE)Bt0^A~EOZ4KO0M4y`bFWOWJ^}` zC)t}h@uILj;qHK73txTWh>G?F98)A?`M`g0N*n(n??8)c)PJ~>DI6_*0gQq{4)Or= z=zm{ip6Nq8#V%Q%M*e0WkxZK4TwhZOq)VJPR&6{sMGAVGl?+kYfv=pKg&*R&jm?O> zxe+)Hi^!eGGYg(3cB{dqV}A?D8*6CO%7!(WqK)aO?Gw&SmR82qns5mW^Wk%VH)}Nf ze5I&;Ewx4+hnDVVNr*RV@q1zt%9mOtfEO`uKVMIbj!HHgmPD zXKO65i&^6R($@#8ZNJ*~t8M=uwe7j`X|Pg0t&~r{Kjl-robss{dj^fi&9=$$s0&4PSe))G*ms1fTEgOQ!+{%sn)W?9o=(z?C@M(@=Cx2wA+AU)nEXW z$Ojn{|HcR9;gm!e))7It@g}|4HGj79pns91Ao6zh&tT^F_V?Gg5 z0F_cVn2C-z9GmjXcA}#Pw`P=1ND(2sRi!NG0;Y2PzvJ=-BT&7!v!-bdf`99>^F4(+ zkczk#f>r9fB)CpDqFx9~`93*k01#kqkKOt4bzGix&Xcs2hTG^#e~Ria%iqh(;uUdu zE^R0hA5C$9eqO5cLw!~5Ui8^+r*`8%q&{&n zh^$Eh9BgreJG4%M&EGCQpZY;KT(RCO*8BIvdQS#HIM&$iBXsQa5`WP8CC6%@?#;dc z;^HbDwCq&w8p_xjF>i$y@H)+gOt6Ax{2t`un$9oL_7SpsTrEy6+d?fB8i~XK2JBF+ zc*RX+7r+%g75pUNs8H6ZyFMeoLvq4?39Gp4$gMM5Pv5>4cRKQDuMNUA$G{wPj$u;x z1{QaPO(o}3Zi6ZTQGepZ`)pA0(Ht{H)mC*H2Rmm2i!bGt!=bM{1EpEYc7WJH$pm<} z{Kfm%uc99wncaHCmGeWy!&lDH*4@XCAmi~PfU|h~=oIyXbWpb^XJ{Ymb zkMPj-hLQiew-s(}?cM9#eE@&Gt+02$vrT`u_O?Py_IRF$1%LM_7k+Gsye(c(RukF0 z@D{dx|J8jc@uJuL(7X4dclQH+-+zS}fA=>ZKiWJMP>v_R{%XLr)$MGDz21x7!w>iO zdJn_x&Vz?u??I;*ZbLWW_KV(~4|h7-d%Zj1R;LF&_Bsz9ggviE_4Xb@8vJ^|GarOd z^uzXxyL($5XnzWZx7~RN|K9%q#UH%DcAye`!eDVk{0}D6$F>K#@a5g<@Q)W;AGW$M zKU=*{&%-8R$amqN7xz04J|N_K@DcVNdJl189tfb|Yp=H@Qtn{G5BXoL@nH*RW{*aQ z6Znufj(=(HsMRe#$a~(_ov?QozUc$u#J@CDQ3Sx^6Mtw<^C^(q$*~&?1QK|1X*mkO zaPPw4IuGt6n7#YngU*Ay2-`Ny@g4s4zPx}EzX0czf*uO3wDK~MMZ z;OE00%yjQAPRYaj+UMSO=N^u;^PuN#ce;1*bG!Q5yGyIPjT5j9^VP%ElpoMI|G) zz=4mu0z&w_Bf#!GpmD&Q-FYBJCcbgJ;uB^8u=ZZ3dzU8X9)j|qM|0NO16cU{-QVJH zVe5Cq=Y!7Hy*>U3v(FO&VeUN;pS?Zt7tsqo@7*J$10c4sRYFCm3Alr3c8_QhA*~`# zgn!SHbRnvnn_`*WKx9r*OHMl#(Nkn_(T+K3#)lZHbD(=Ltsi=KUOaf!yThkv8|Y=H z`+zpg)+?CGd(gZ{y9@vDg4<9Imjo!q-#xt-yyUHiD+F(H>rMzwziQYC+3Z8hkb5|Cn zPpJQjFaDj*y&en&Q3+rHR6yd6tvv+f$I?AO$9w#PNGX26<|3?zIRUV7j^PjP7a&rY z08_@x;0M;iztl_@Vd72qLhS7Wb^Pj~g5{wc-$OOL2WoWp<>2nAv2ClNZHtlZ(SHZc z7B9BV>%mHOwt8}odm&9cF2Y@0`7PL(d$2Z0+PxlNa`ktM_G9NRQTuHeFYbIK{BWjq zwrEG*-@+E}?7`<9JR6aG_26Il#4Wc)f01TTE+z3?EO;lp^9uIV{SWu>;C=WCP~<*u z^#R~>2Pgq{hUY#KDTLu6e$zZriGOmc*Wtc&ln!EDj;U0b5!4&)> zW)?p7?(^UGsL{?{{;@?A{vK}wc?(`1n2me9mmVb|CF5n}*TX&jb%)Y;)4UG$)w?HB zwqLyL{PR5e1gny@yo(PSpUW zJQPJJod^!^!z3<3X{Qs<`*_{~x^Lsbvjr52HZPz%omhAA`~|uN{1Se6xHfxt1;wVU ztuA3{7v~+=1pG-n2OUnp5PuQxaQ6lEgIzqJgPk8I_j-7q<7gfLUfp|$zwU`68rN>` z9&Y}J9_8JmnH5Cl9vvrlkyt#$72d)F`u+nVNJvvZ+++^t&!J5RuzcwJ;c%;{_Z{C*|_I`2Y-HX??cbR0km#I z(W*iNJUDUV_8z?0MkpQv6d$1b4-a2(oVbUp_|RO!aXk2h2B#puByd2q3AKjCIl;Lu z{ui0fE}am-KoFaG_dcEH4_*;X!UOri7NY)L97pFNE;}xNbzt_e`WEr*+YexUzQ#860HGx9}vm|InkFu!KkhsXZW8d!idUvv}7+ znBib~0#wT9BY;}3_`tBOJw9IQV5`Twq`z=v03=8U;3(S0-PJ=rYYTcOJfrRO@E(?Y zB?`SJ4oM{7sj-b4>>(a<_Yp_nNJj*FC5ye@CSJBjrv#o>AAb#L1mJp?@D2OP3t$O*z{7tb4Dj~^mgfFl=XAJ+%>46F*y zAV!CAaVrx2aUT{@=_JG;24x5UU^ zAw~f_cR&0aVt+NCdpPD1L_9))t)|bro&aB>+Xs$w0*gKfT&m&QQuu?c0J3BFbNeAt z#{2kvA6bJAv1a#?v&WBn7Jj|P^OH`~JNIzqdWb0Zft`5Br5@xFg8tP$KxMDrCGrzR;aRM>2Qytgq;nf88uhKoPYcwb?E0yo2AY$*O8C<>_=dD zS@F&6aj@~*TigA9M#GJWu2wf0tDB79m+!ih)$6r?;p;VF&0{<}is~ zAP1!FfxHf?n+E{cvY0dp38u46VDKdpQOSn(FpKK7(9B_WTO@`o*jUfF=297r54Sjh z{y9$Bh=1Rvv0Zxr{TdWn57xXiU8d>XD5DRth_VSX7r~31<(_Vxe`CuH%}zp$z-7!K z#xjm`V#}(+iyJ=xz4qZG45l@^Kz~v&4@h4E2gQyu<7;5-h`NNCn0OH(Dk?dK0jcIL zMpFL!B%7qeD3Pw@`9efls4h1nfBz~i<4Yp=et%dU5|KP4Cemmp2O&*K4G zUvJ3ZClYHoh}1w7>S$CyVpEMkM*88PpCWijrBi5+APB;1Z3u8;z#0`AhDyuB&|!Jm z+pR1tdx!n&X_!UuPaa(Z-;tO7_iP%*(R&saQQaJgV~H8BB6d(728yYF zl<%PRSP*YS8FKYv{^Mylm<#=Tc3BF%m0P?H_&D19KL`KE`&fQVKjvX)1E%V`!_9CK ziMELOlGS}I2}Pl7RoD-Q;$XvO-9@G$I)6>@!!z0JD1j-BN2=j#vy~qp;Ro1L5nyk4 z-c%{HD}`9;D)OgLq^Z)>t~A9;$C2xyv1mf#lbXzA2s6puVE2*XIoLX^P3&pp1DA8m zU;`dC!6FNo0Etw9>Vlrf03H3*)B?{o>r)!kzC@qa=aBujsW#6xYf~E3-kUKaY=6V& zTf-0O?!R#o_9K5hnoyTNHvu6Fm|%!h0OVOCqO%T>kt`o3X*@z!GCMf|UIH@s$IVSQ z6p_?0jepgEd>{FRuotF={P0N=tX4S_WHS>W|Hs0RcW(#zO9{CjzMBoQ8&(AJRWlvo zh2%;raB5)u8u_qM-!wrG*_}t&?|;)-JC64ik1PT#XBc4MZI?Azo=3izNR*F$-#rvueJ?imHjL1N%=2V1~k%MMy8s0P124r!SDt?~zOkDh=fM zmj?1&k=`0v*0ZMJhgm(#+5f8!!Cw%9Zu=qh{?~@yG1u;v(x&16h}v=cQ z0+vV|t?=||__xUK`r)6OmbPmzY8RLDzp(or0sr3(UH2To_c-v3xv+s)l9wr&bAvb# zmW+*>djAG__3m%ZozziPo!)^wm!d0qwUz(4m-W-Q~}^3yN@1`taC3bLkY;`!!G zeH8zP6PB~6#)m@zXg#LZzkkEc*xdMcuC~9!hDYv(zk`+s)G}}a;~6bqyILk@Vd84} z8d(o&7tZ~&8SPG8?GkHn;%ava?VeM+Am3fhXm{djcY^JHc48Ix@X$HQvvUy7^1W=x zS~{lP3jo!QomE)}!?U)05cNQi0)Fxc|G8k%!Sx7amVPfBWTVM>+JDE#2rS)u2PY;7 zZJ)5zC6qc0-@+%o3?feX-DJe|!9sPHbX2kj$+@n)s}y%XlpYnM{eiAUaVTDnl|K6Z zhStc&4}Rx|U?-0911BJTl5%iAv(^!VVFgw8K9jsQaoW)ZJ79+hex?1`;jA@l z_jcAG8yM&yZMP{Egnt5>l@?V@k>`e=a*DDJ|By44b@;~=SaP-#_#f%HLMs7zW&q3d zq->=@u-lTwZf-JaZet^qEk(ech};Mye!z_!n@DbM{Ew5Z?$!h2*F*Y+4bEz&8vyts zgUVFxhmatp1)3NT5VLCTeioMr{33y75=0aDt29kQTDn%p7=O)HYRpn9`UVo24pq^T z7fp>Z4Vob3c9Z#WHPx@ZtR7G(eiY#yvvpjtL8t1kYbx)3#5 z27Tb2r#s415r6a!7+5a>C<~%t$R8VFsT5&MsC*v%3cUmZk~sQF`&CqVyGfKs2h_@8 zALcJgpne7mNe}vP@H+_~Y|00l1Ye~C3WN=4lPRU7K4)n(!p#uEsL~+f88ko^!9=`L zZI_*5a$FF(Ythc`!&ip;~L6&TwQ*eSdH34ytQulOipJjS4;O0w6=^ za$^HF5UNg41^X7&AFOqTopA_o9t13jvrAk%faW<9u<`V3qo&1}Dy~;8iJXvKKp+_8-Mh}YjiVFUb!>Khj*ocjXa>JV zwfUX3yMNT)(U)2d0e}ea;c}efGM^$S(Y^XQAK^L+gwm_t#i|!r^@6J2tyldttLi0I zy= z8Q*-P&e@N%muDX*YQJfDes)b$!weh+|fG+sNrqFuE`I1HkL}5J9&(L}HHSrWl#Zx48 zp2D>&pD<_h+YQI+Rl~9RSstruO`ihsUVnH+)mpx@)>7^6hP7)Xc=vH0pCbi$P88sN zodUdWV6&b(2-Q!mq?tISVt=GgB9IUf$ZaB!b0Uy%B9P;5tB3$B-j015zNnps(}lLW zn%h^}+~T~xMWK#_?(dzfTl}Hd1Bd#PJoD!FS@=BA&X6)5)7C0YFaNgKLoA(#z)G+7NFthEynr%O=wf#T0 zZ~O0N+t1kyf${Ex2GQnk4Qu*m$+yzhAW}<==YKij&7JUCEa-nr7L?m1#<;RYgwwrK z@Rg1E$`*l4j}5L==SkI;qMtiJy?<+KpVHbVQ@7yBn2;6K1iof25iuMnX`kJGtx|@I zrAxRv4ctNkl`ve7gb@|os;@}KDl#Ysk<-ajlb&mB$JBP**mmJ)d$eHN18RHF*!I}b z_GH1fht&44vF$TQ+b0XQeNJtkH@1DH+7>bw$+3X8PYvPesUex_zXsJWjel_q2L|f~ zP3JYtO$c*y`)vEnTFp`x{hv+`elqo2iu0?RVWB$;MhD8^Yjv~DsW#mi2-Bppvmf2tXBDq9%SxlOvh zUia41<0`&Rk>zE}?JB&Z^?&-P)PL=^dwnDOv6W|Y_jZ#`L7;WRb}tb30-@&z8$OzL`WwlCEPo6G>L&-?L(Dp! zpqXc@-2K7-VZ&+MYu-0#M^88Clo`LgX!Y*lk6$pB)?Qqof>t70Cuidk+7oSl{J41< z@@uG|O7$V}2fTsO(mq~xAMmordeM(1Pb`hZlqaS};t5YYF%om0nCpoL&=+3ab??J} zKf!;`;J@dGP}1Q_{(mFn`5TxrHJj-1+rN*O5AfspjQXzXlWq@Tm~@}ds5x==Jb{{6 z_4&-IvL^7*8?esSPDC^y1GA1lC7xI8#wnq6c*(*~)ehfPr{pK($gqH(`!j=dNZEkx zA-@B1U1r(KX}35ab)@zCHV>`JD0s0j<+AJ7P0)^pY!qKbU4P-}0|xojNH|GGqsT{3 z6~0KJyE|-TA8$TXL6uxYJ&`n=@Dx=B-Cm$)vUeElOO;A;9)J$J$P<-bfn$D?HEmB~5Ywb2?De&}y?d-vMiJMHck z{7}Z<9=jYcZhwv7UBLL!+?%L(N>=&!E`_`BQe9{GLL*ex$z-J`j}3e$l6Uw#9%tp5 zALbo3Gk!cNGd~EWHB)7ueshx)Z{jy_#_TE+JQ5-`X}(M@6kR_$dEd(^$TVUK$^Hz|IlaP|zVBQMi-W^OsH zyYnOav47QTr-Ar4-MI5(DZk-YivJ=Hl0AyL(miEY35JimyKz)*vi=&rczE0;)mX9# zCvf~@M%5liJ?R}%RZAcBc8jQ$z^S;|O5xvrkEWeH>JjJHDk+D-zd_jBD1K~Z@Hv%l zu12uq2f%fV9u0PQ+vBJ;+86|zTj3bPZsK?sdl3~heOF^m0 zqilB+jr)UWJhk$)OVZe2XDs|raf~9X$79+@y-js@l5Rxhk4ex@|CDGg7Q{c@+_XM7 zdixnBpW$32+rA+D+=(R;aimi;%J*kv@<#_{)L4RcfKQtrD4g@L3WL)qDd_o0>~Ts* zmVXs+L;*1)g6UT`x783wI7Dn-kXYc@q{VY6BhQkr-pU^e=`Sc(?*g8B6`d0@GNRCG6 z2Xc$x($Yf@1=xjH-LymJ+6LQ5JMv6Z6Myii@+rxS!A9Nv)Gr@LcE$$7tjqq}DMw-- zDZ@pa4~rX^TK<7F{e})mVsrs5Zh)XqFb?NumKW?M9-&zt;7#?_7I{XMq1%{lN4E>V zJ}OxGn&IsAby0wy<_G?fzfm4a3-}{OBoMFPw4a?LehR+CL-3$hT4qPA!;jYHc>Qj0;Z8w=FlQ)^78&Z!jK)oiZCLVpzLXMAy{?sflXthU)ydjBz&bDM`)toAB zwJ6hhqj=Oh8>BN>HAcm(hA@pcVt?{-f*Q2=>COT;u^x4UX0qd()%goK;FV(ZY}QWM zX^ac)aTX%<;D~1Md)UV}a{O2}8vrTN9*kL_8kPmPH9#|0tfs^_X0SwPO0)2IWgBXw z#yIgYAT(+YlsN{an5+teByctoiF7dp$uzlR!fJ8&?J;PBLr7~>ekt!m3EihoIwywmk`M?LpP zn@bjyQW;cnJs|`3hir~T>&o1#)O zbf2SVjy z5xb;Z*`d;J`;y;mXFTOn)|afCU7cywFZ!BZb&4Rx1!@`hQP;c!sf~!!Va3Au6SN zo88^=PrW|-Q%?baFPlLig+G@Z2NM1#TVKb#90Z^kq^B^R;uC7CQx{kg{|qgnB1sQr;zj@H*lAYy?iaC1}Y>NK29 zVb$&+io%Vph!V=F$0$Y@>0FEBE8g4>yMePrna637$bTY8R^*!G%0^uh_5wkTxv-6P z+NIo0qbNHl4#PntGe=Mp{)u2V!-2RhO|S|d`&3uksVkC$L;DCJV}ATTP<)Pf`s9b? zD?S6znSU54e8c00E-N}o!7nWm7&jVMB!_`&9`c`7-42BkJDL-ct5wyg8z;`3z z9UC)zG^QmzDa&|p#vhz&$#3)IG%;J-8zo~ifq%ys36HZJWJUy#KHg_zo)cCH`@(m# zO89FsL{+Xxc$b`>m1ZSMGOJONS@EZ=EVFa7CQmb~@-(yVD|TY_i7941OyRZUFnLRA zu&#!i0WfEbel<^g0Q`~-vsC*mYaaR%_u^Y}a&U12`_5PO(D1^D>=fxDy=zy8V)Hu!;x$QS&_AqMw_ zJq(TV4;T=X;NR~=dH#zJL;b`NKy{F*=zoRHfiJ!!-ie^0vK;p}H!m(OIv003S$?|Nd-(9-=H*#=J|g$=7es6r~hvy8??Y!^b!5@%5_|*5e;Tt_FT-TPeUxe0Ds+0-`RFcFKNRaE*zkl{G zFWUt$93#K)-|PMfz^Z=V--h4xqwha>_@@fGUKdM_U=0}j*b>#~H&p9w^Mop83(HT# z3IY1poXzR`ce`CbL|^vM9ehqheUSjtl3kYj6hs^Ar1+wBeCf&mh_B%ON}%d-cG+CC zR(y&QX_f**SH92a6vvm!Twats*neNx)k%(bZjtV4qo$1poxlJR6d086(BkZunHcMBPCuKi;(4s$!e6yYLroiSrsc2m86re$0E~2<_!6rQi>)e zhBQOQS@0jq4vtJUa$z$r6!^e>uO-EEbPvW_d4u9c&X&hp)YLcBNYUY8#(#3W7|S2` zmTcshl^5uMtn0<;(Cc;3gAZrAv%xg`){&xe=;5eU&MyOg^chh(#K9b**9G{^UIk+ zmiMPL#lk4TUz6S2qn7v9YJVKwc{XI8zmaeFI8tGaFWEq}nW~8j7&6X>8aqh~-K?aF zsgqu{Qo*;Od8p(*xv_9nf_FeAtZR9+BSgdCwJs37Hi$+c-Xj)|QfZr0NRNx7C~(f@;`e%zp;SiA*O1i$O9H zv$fV!c99VY^{~lW&WFOh{$mvLyq&#VY^KD2n~dYw;xhE&WeH%0Y5C-6`SU2>-dc zfhEBYC7Da8a_#hvp=?g4cXus{D@t*5)5G6!Wy>fszJKbW_cN?;5|6x3HHxjBdrG4) zZMhgKGEC1L3#RF3h+j$7vT&j&H7RO{MBs#7OAKssywM8>QC^)u;TV36)UQc22#3*l z2kB#7exayiW%YaCB8n_WFGMxIJN#Hr0@4x ze;Cpxcz??gL5GB;LzOzR&_inW`c8dci<*(j9^oVKst<%ag;Q;ujrdgrxs#);mwGxf z1X!Q2E~LKc6U`o__1a9$k2auossDmAGC=~h)8yiopG;|x%{YM5#}VtOnS{ggk@)#O zn>r|l+G}Y$(P1Hdo0?)P56}ixYTbU)u~f0yW`7Q6pfGenAI@?L;nSGiR*Z2;xw*Kp zE0dt261h$#a*Imj=nZx-0(OeR_2P+($3o3nqOP0ORzcaewp*RRFlf~ltF&y54eLc| za)uf}ZV3qF20u7DA3*+LAa#1v9SYc1xgvc5hv|srH8p&-L%Tb9#SrGOF?p8>@H+V+ z%zvJ6yn1cv=K8)anuT?3A;@xn@=&a-sh9e`IHrWq?^fWDENEtGdLKtFmp{22Zt0%f zJys&PUa8XkxNB)*x?XL691rls@VBZosReR3WGKFj@tDdlJIm~wG=|(_A{>m8F}ejF zlr5+ddd5G29}YM$$0LeBtTYNjIiShnJN01DutCu$o0uB$~^nTp2o#lj2Z(ut|~dx;X(}yUVqf2 zdVqc-k>&jW7)*z#cw z0e+?HBT)otk@INNScotS3nhW>Y_>P~TQ;c-+*Tf%5~ z02w1Br>0pr@e2uYGQMz}4m3UkntxyY!a(-wCx2Fy0f#m^)apc0L3{-zS90JW${=U= z;ERj zLDTtIb|fRoxqlrA^vm$jRNQfm*bECryaCqPjOt}iqs0UDSi;Gs_^6{YE8~%})+mLA zX}VD=3svNq8q6+1NCYOXZ6zjiE3RsW-e|zt?u#PD$?Wb4V(U zB#|UKNq`N2%FIgAtAGDt=3!>7nb-NS{*sA^eFrv}lvMUQ?Iqcj#J=BR$BrF4F0&=z zZi7B=Nki8tc-nRXr%fibOE$eVECSb>_}{na4uf&IQGKZ^SxN@xAW=bpTR7p!qr(L) zw1}m!5}P#YtTxha^L!e2Me0pS=85jDnOHA#WXl{-u1ZjufPY{O8COF57dbNV{12;W zA!E^@1V-yEuozC=7q~XM@U^hJ4sCF3Yl>zwq~rF*1SIp7)(LHxZvg!vNBLy1*C*PL zdXLj$o5w&se5f1X*9U&yfApv?JWy+GjE?Cl>bV?~uUffRo9x~0#H>ijt?P4-?=`kX z($Iqxp()r7V1Hh%_x=SCQ`aw54=UQT@kv;lWvK zYGCp}F1WU4QUYJAu_kbff}*=7=olef2DMZsRjk(v7&{J8Z$ruzyQoiFFgbB!@9cK` zz0TZZa$VH6+>C(SW|~Q!>&I z6Qkh>Ie&{M7ML|Lgur`RmCr*9){xLt!R58msN~2yWK>X7IuQCqdL{)BG@&*OG-7if zSTO@4M-AvnLbe8#2XL6PVINMQS2GfT5LA)z$Pr5oL`%L+Q!ESEKaY_p4a~RK>I)6^lwXvOPdyA5Ym=$W0E64-AmM!5*ZJPs0xHHr+d+RMjn4g^;xP zL?S1CG(Lw!*Vhz)BTC(O;+9Df`@jUBkWcHT57;aVWvYsQ_y|!?&95xpa0vdcdB22f7hE3FCpo$*6kw%UWDcc0du@{ri%KJobMB7ZLp z;HhuN%6%^LWyRS1x>SL?`lUmlTi1H_k0grF$l6YAntF9AHE6=`HEQ@MqL;aPeE5Q) z0H1O8h-OOTcwW4Nb}O`xq>13DzUNd*Fz`9e5e)Y7MypRQ&Md8tCU9f*5vkE*lz*rk z{4qUoRRPSuC6=t*TjHSy>nOiw`+uRS?P?!gZ-@p*P}@yl6hxvZWHoFV@uK3{juJAE9kO;*I(;2O~5eO8G@UN17(jYx0YN5zlY zR>ZA>F99eN;74xt*;x10XmYeVWi>`OkRmotAZ2cqGiiQrMK35^(xLQYa%m~tu(C7wK;5&3Ez_Se4MN;J zp)p)M$8v+aXBZ>KwBM z!V`_qa@Ba;1hh|vvY^E{*%nYcf}np4NH9LveBac3RZ0Bh3P}cImkhB;0nilVll6!MiOcNA>_&(L1t~iMxUo?AJfpc9N{wdRGSo~J zzMmAQJ>PM>O0!rg8v3#1oL03>x$vwK9MaKgMbTGfgRc01(T3@xN6FAjpC_aAH(?Sa zzX_FtnbWf8rfpIo7P^<27$9Jj{&04_8qUPa`6evgWIX$g$bUQaGYE+SQySsPM%n~p z`(}gYA^k`M(6mt@0%ubpQAa)|s;|#URZl}dS&MPWj$dY=Qf=*cgjP|5WIx@L&PuUe z$M3T17_E`1h&)-Z$t$jmVp^1@q&Cev3bB)0X}XNYO6C9;VmOqlGz{$|*ARx8deu~US?=p|0YktJX z%8^N5e}WW}%9-#tKF-ueN&wD%vG;5b<`!85-IY0434aJ#)g+4V3ul+n%Iay+Fn}hY z1-^GXIN(xavhiA8dBTkQ?yuG2;do`)Qer#-EnNP?q!?gKV1@YSGH58b+HKT=ut{#Ns0nwaDK5W3%K=j zfj}~&L2jKZNT{ZpCj2G1T4us(aBxulJrt}#3xDoi3L-_3kTVGd)71J;`I|VOp`kvW zop*{;IkXm)f+VjevQx)H%!k<+^zQxM`<~BE)&yV}4^hL=^B9gWSXf5LrWVBz-O!_S zjLPOM=5sYh3qkO|shY<7%`Mz&eA^GKjneK>M`eGwIv2;+ZnruYhu3f=cJM4jGYPw0 z?tf+|`AvQBfUwSZY@%X^{8XE%BTY((TQ?|;7YKT9uWi&imKm0EQP?jx%@^Ie)f7Li zM0jYj+gMUIAMDf`rk_=FYOk5(R~XcV9Q+wgg*HB=L6;en2N5ZlmTsJAGh#JkM^gSSlE zp%A%zk!gsyI-KFgh}hQv9aYSrRx6Pc>&G^qzmY>fEhlhV4ww1KbeW$NUAgCoiTYC% z5=V_F-J~w01I<(BVQiI6ck3D@bxc&k=JtF11Vc?8K<|knS6aB+_kRG_ zs9}HGDM%L9@f{S56(N{bH#=l}MdO#0*&mWyX!eO_ox0!tnkZw<0(Y0i)JSF1$P*f^ zEPV;%$W-tuhE8BmM0$@q?diy!%ugp>Z-i#Siqo$-%@hkew=J&Vt2+|S?Gy%yRq|y= z1ykLst&~Ayea@gyQ`2axxIw{m0Dl$XdR!;0hy9!s{uHkY9@l76M)fs#A|EL_9Z0mE z(7$6;ppthDQPY>xBdKs}Bh^9oNJp=bAC3fr6^uKtc44( zLs4jc6Z7iIC0yv2*=l~UlG>cWYQ@TuFY76@zT-1<5}k#zCjpy>3`!i|!r}R)T|jyw z0Cxjy+mAgy$63BvMrZ-hfr-j)icf1)wLq2r(xEFqtBbU>xRhUJhKc%&BuUHE-^0dM zQo1)Vq0D#OYe1NCc~EPYS%04Ta!C1lvel%8q^SZlRA{+0;1vk%qCF1>qf&|Kv$<3P z{5bMMI4_p_+h?ZG$@WI*eAP!C5Istm^wZ+l#ZoVIb#+xK<(Hve1o}^bpGi%HTVdq< zpd8hS$pF#!Q5nh9?i@mJl_!bedO6g*elqQyJ$p9P7#pVvu{P-E41a$T9la&GZ9lwt z8TWqcsUQ(}-4&I*Q#$Jso(i)rLs8*?+sw;wbzWvE9;&W$ zHg7)Bk)GCVN_A$2S%0ApQ(LOWqJ~j5jOL@ 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 delta 132791 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 XJq+=@$GBF{|F{1i!-bz0c})rcEoi(; diff --git a/hassio/api/panel/index.html.gz b/hassio/api/panel/index.html.gz index aa5c99ff6a7a401e73e3ad47fe22f04ace8b4259..25ecd6619b7335d67d83fce0e52f56e2ffa0ceeb 100644 GIT binary patch delta 16 XcmbQlGKqy Date: Sat, 16 Jun 2018 01:20:10 +0200 Subject: [PATCH 03/11] Bump version to 108 --- hassio/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hassio/const.py b/hassio/const.py index e85ef0585..023c0e1ad 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -2,7 +2,7 @@ from pathlib import Path from ipaddress import ip_network -HASSIO_VERSION = '107' +HASSIO_VERSION = '108' URL_HASSIO_ADDONS = "https://github.com/home-assistant/hassio-addons" URL_HASSIO_VERSION = \ From 561e80c2be26953fbdd9b2dc5d1a276ce453c62e Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 17 Jun 2018 02:07:12 +0200 Subject: [PATCH 04/11] Extend Systemd Support / Apparmor (#506) * Update systemd.py * Update control.py * Update control.py * Create service.py * Update info.py * Rename hassio/host/asound.tmpl to hassio/host/data/asound.tmpl * Rename hassio/host/audiodb.json to hassio/host/data/audiodb.json * Update alsa.py * Update alsa.py * Update control.py * Fix * Enable call * fix * fix args * Fix gdbus * parse service data * Change handling * Fix states * Fix parser for tuples * Fix parser v2 * Fix tuple handling * Fix regex string handling * Faster tuple finder * fix empty detector * wrong order * Finish * fix lint * better filtering * fix match * Fix mode string --- API.md | 31 ++++++--- hassio/api/__init__.py | 7 ++ hassio/api/host.py | 44 ++++++++++++- hassio/const.py | 1 + hassio/dbus/systemd.py | 40 ++++++++++++ hassio/exceptions.py | 5 ++ hassio/host/__init__.py | 14 +++- hassio/host/alsa.py | 4 +- hassio/host/control.py | 23 ++++--- hassio/host/{ => data}/asound.tmpl | 0 hassio/host/{ => data}/audiodb.json | 0 hassio/host/info.py | 4 +- hassio/host/service.py | 99 +++++++++++++++++++++++++++++ hassio/utils/gdbus.py | 14 ++-- 14 files changed, 257 insertions(+), 29 deletions(-) rename hassio/host/{ => data}/asound.tmpl (100%) rename hassio/host/{ => data}/audiodb.json (100%) create mode 100644 hassio/host/service.py diff --git a/API.md b/API.md index 6f8f7b07f..98748b4dc 100644 --- a/API.md +++ b/API.md @@ -227,7 +227,7 @@ return: ```json { "hostname": "hostname|null", - "features": ["shutdown", "reboot", "update", "hostname"], + "features": ["shutdown", "reboot", "update", "hostname", "services"], "operating_system": "Hass.io-OS XY|Ubuntu 16.4|null", "kernel": "4.15.7|null", "chassis": "specific|null", @@ -259,6 +259,27 @@ Optional: - POST `/host/reload` +#### Services + +- GET `/host/services` +```json +{ + "services": [ + { + "name": "xy.service", + "description": "XY ...", + "state": "active|" + } + ] +} +``` + +- POST `/host/service/{unit}/stop` + +- POST `/host/service/{unit}/start` + +- POST `/host/service/{unit}/reload` + ### Hardware - GET `/hardware/info` @@ -569,14 +590,6 @@ return: } ``` -- GET `/services/xy` -```json -{ - "available": "bool", - "xy": {} -} -``` - #### MQTT This service performs an auto discovery to Home-Assistant. diff --git a/hassio/api/__init__.py b/hassio/api/__init__.py index f139dbaf6..2393320bb 100644 --- a/hassio/api/__init__.py +++ b/hassio/api/__init__.py @@ -57,6 +57,13 @@ class RestAPI(CoreSysAttributes): web.post('/host/shutdown', api_host.shutdown), web.post('/host/update', api_host.update), web.post('/host/reload', api_host.reload), + web.get('/host/services', api_host.services), + web.post('/host/services/{service}/stop', api_host.service_stop), + web.post('/host/services/{service}/start', api_host.service_start), + web.post( + '/host/services/{service}/restart', api_host.service_restart), + web.post( + '/host/services/{service}/reload', api_host.service_reload), ]) def _register_hardware(self): diff --git a/hassio/api/host.py b/hassio/api/host.py index 94991a46b..e5ce6de03 100644 --- a/hassio/api/host.py +++ b/hassio/api/host.py @@ -7,11 +7,14 @@ import voluptuous as vol from .utils import api_process, api_validate from ..const import ( ATTR_VERSION, ATTR_LAST_VERSION, ATTR_HOSTNAME, ATTR_FEATURES, ATTR_KERNEL, - ATTR_TYPE, ATTR_OPERATING_SYSTEM, ATTR_CHASSIS, ATTR_DEPLOYMENT) + ATTR_TYPE, ATTR_OPERATING_SYSTEM, ATTR_CHASSIS, ATTR_DEPLOYMENT, + ATTR_STATE, ATTR_NAME, ATTR_DESCRIPTON, ATTR_SERVICES) from ..coresys import CoreSysAttributes _LOGGER = logging.getLogger(__name__) +SERVICE = 'service' + SCHEMA_VERSION = vol.Schema({ vol.Optional(ATTR_VERSION): vol.Coerce(str), }) @@ -70,3 +73,42 @@ class APIHost(CoreSysAttributes): pass # body = await api_validate(SCHEMA_VERSION, request) # version = body.get(ATTR_VERSION, self.sys_host.last_version) + + @api_process + async def services(self, request): + """Return list of available services.""" + services = [] + for unit in self.sys_host.services: + services.append({ + ATTR_NAME: unit.name, + ATTR_DESCRIPTON: unit.description, + ATTR_STATE: unit.state, + }) + + return { + ATTR_SERVICES: services + } + + @api_process + def service_start(self, request): + """Start a service.""" + unit = request.match_info.get(SERVICE) + return asyncio.shield(self.sys_host.services.start(unit)) + + @api_process + def service_stop(self, request): + """Stop a service.""" + unit = request.match_info.get(SERVICE) + return asyncio.shield(self.sys_host.services.stop(unit)) + + @api_process + def service_reload(self, request): + """Reload a service.""" + unit = request.match_info.get(SERVICE) + return asyncio.shield(self.sys_host.services.reload(unit)) + + @api_process + def service_restart(self, request): + """Restart a service.""" + unit = request.match_info.get(SERVICE) + return asyncio.shield(self.sys_host.services.restart(unit)) diff --git a/hassio/const.py b/hassio/const.py index 023c0e1ad..74415f29e 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -216,3 +216,4 @@ FEATURES_SHUTDOWN = 'shutdown' FEATURES_REBOOT = 'reboot' FEATURES_UPDATE = 'update' FEATURES_HOSTNAME = 'hostname' +FEATURES_SERVICES = 'services' diff --git a/hassio/dbus/systemd.py b/hassio/dbus/systemd.py index d1aff0268..87740caa1 100644 --- a/hassio/dbus/systemd.py +++ b/hassio/dbus/systemd.py @@ -37,3 +37,43 @@ class Systemd(DBusInterface): Return a coroutine. """ return self.dbus.Manager.PowerOff() + + @dbus_connected + def start_unit(self, unit, mode): + """Start a systemd service unit. + + Return a coroutine. + """ + return self.dbus.Manager.StartUnit(unit, mode) + + @dbus_connected + def stop_unit(self, unit, mode): + """Stop a systemd service unit. + + Return a coroutine. + """ + return self.dbus.Manager.StopUnit(unit, mode) + + @dbus_connected + def reload_unit(self, unit, mode): + """Reload a systemd service unit. + + Return a coroutine. + """ + return self.dbus.Manager.ReloadOrRestartUnit(unit, mode) + + @dbus_connected + def restart_unit(self, unit, mode): + """Restart a systemd service unit. + + Return a coroutine. + """ + return self.dbus.Manager.RestartUnit(unit, mode) + + @dbus_connected + def list_units(self): + """Return a list of available systemd services. + + Return a coroutine. + """ + return self.dbus.Manager.ListUnits() diff --git a/hassio/exceptions.py b/hassio/exceptions.py index 09e06bf00..e3342ecf1 100644 --- a/hassio/exceptions.py +++ b/hassio/exceptions.py @@ -28,6 +28,11 @@ class HostNotSupportedError(HassioNotSupportedError): pass +class HostServiceError(HostError): + """Host service functions fails.""" + pass + + # utils/gdbus class DBusError(HassioError): diff --git a/hassio/host/__init__.py b/hassio/host/__init__.py index af72f448d..a65e46f32 100644 --- a/hassio/host/__init__.py +++ b/hassio/host/__init__.py @@ -3,7 +3,9 @@ from .alsa import AlsaAudio from .control import SystemControl from .info import InfoCenter -from ..const import FEATURES_REBOOT, FEATURES_SHUTDOWN, FEATURES_HOSTNAME +from .service import ServiceManager +from ..const import ( + FEATURES_REBOOT, FEATURES_SHUTDOWN, FEATURES_HOSTNAME, FEATURES_SERVICES) from ..coresys import CoreSysAttributes @@ -16,6 +18,7 @@ class HostManager(CoreSysAttributes): self._alsa = AlsaAudio(coresys) self._control = SystemControl(coresys) self._info = InfoCenter(coresys) + self._services = ServiceManager(coresys) @property def alsa(self): @@ -32,6 +35,11 @@ class HostManager(CoreSysAttributes): """Return host info handler.""" return self._info + @property + def services(self): + """Return host services handler.""" + return self._services + @property def supperted_features(self): """Return a list of supported host features.""" @@ -41,6 +49,7 @@ class HostManager(CoreSysAttributes): features.extend([ FEATURES_REBOOT, FEATURES_SHUTDOWN, + FEATURES_SERVICES, ]) if self.sys_dbus.hostname.is_connected: @@ -53,6 +62,9 @@ class HostManager(CoreSysAttributes): if self.sys_dbus.hostname.is_connected: await self.info.update() + if self.sys_dbus.systemd.is_connected: + await self.services.update() + def reload(self): """Reload host information.""" return self.load() diff --git a/hassio/host/alsa.py b/hassio/host/alsa.py index c34a64f79..3de03f29f 100644 --- a/hassio/host/alsa.py +++ b/hassio/host/alsa.py @@ -81,7 +81,7 @@ class AlsaAudio(CoreSysAttributes): @staticmethod def _audio_database(): """Read local json audio data into dict.""" - json_file = Path(__file__).parent.joinpath('audiodb.json') + json_file = Path(__file__).parent.joinpath("data/audiodb.json") try: # pylint: disable=no-member @@ -121,7 +121,7 @@ class AlsaAudio(CoreSysAttributes): alsa_output = alsa_output or self.default.output # Read Template - asound_file = Path(__file__).parent.joinpath('asound.tmpl') + asound_file = Path(__file__).parent.joinpath("data/asound.tmpl") try: # pylint: disable=no-member with asound_file.open('r') as asound: diff --git a/hassio/host/control.py b/hassio/host/control.py index 9704f6289..ab4d994ff 100644 --- a/hassio/host/control.py +++ b/hassio/host/control.py @@ -6,6 +6,9 @@ from ..exceptions import HostNotSupportedError _LOGGER = logging.getLogger(__name__) +MANAGER = 'manager' +HOSTNAME = 'hostname' + class SystemControl(CoreSysAttributes): """Handle host power controls.""" @@ -14,15 +17,19 @@ class SystemControl(CoreSysAttributes): """Initialize host power handling.""" self.coresys = coresys - def _check_systemd(self): + def _check_dbus(self, flag): """Check if systemd is connect or raise error.""" - if not self.sys_dbus.systemd.is_connected: - _LOGGER.error("No systemd dbus connection available") - raise HostNotSupportedError() + if flag == MANAGER and self.sys_dbus.systemd.is_connected: + return + if flag == HOSTNAME and self.sys_dbus.hostname.is_connected: + return + + _LOGGER.error("No %s dbus connection available", flag) + raise HostNotSupportedError() async def reboot(self): """Reboot host system.""" - self._check_systemd() + self._check_dbus(MANAGER) _LOGGER.info("Initialize host reboot over systemd") try: @@ -32,7 +39,7 @@ class SystemControl(CoreSysAttributes): async def shutdown(self): """Shutdown host system.""" - self._check_systemd() + self._check_dbus(MANAGER) _LOGGER.info("Initialize host power off over systemd") try: @@ -42,9 +49,7 @@ class SystemControl(CoreSysAttributes): async def set_hostname(self, hostname): """Set local a new Hostname.""" - if not self.sys_dbus.systemd.is_connected: - _LOGGER.error("No hostname dbus connection available") - raise HostNotSupportedError() + self._check_dbus(HOSTNAME) _LOGGER.info("Set Hostname %s", hostname) await self.sys_dbus.hostname.set_static_hostname(hostname) diff --git a/hassio/host/asound.tmpl b/hassio/host/data/asound.tmpl similarity index 100% rename from hassio/host/asound.tmpl rename to hassio/host/data/asound.tmpl diff --git a/hassio/host/audiodb.json b/hassio/host/data/audiodb.json similarity index 100% rename from hassio/host/audiodb.json rename to hassio/host/data/audiodb.json diff --git a/hassio/host/info.py b/hassio/host/info.py index 81db98dc9..b21eb67cc 100644 --- a/hassio/host/info.py +++ b/hassio/host/info.py @@ -1,4 +1,4 @@ -"""Power control for host.""" +"""Info control for host.""" import logging from ..coresys import CoreSysAttributes @@ -47,7 +47,7 @@ class InfoCenter(CoreSysAttributes): async def update(self): """Update properties over dbus.""" - if not self.sys_dbus.systemd.is_connected: + if not self.sys_dbus.hostname.is_connected: _LOGGER.error("No hostname dbus connection available") raise HostNotSupportedError() diff --git a/hassio/host/service.py b/hassio/host/service.py new file mode 100644 index 000000000..d200ce510 --- /dev/null +++ b/hassio/host/service.py @@ -0,0 +1,99 @@ +"""Service control for host.""" +import logging + +import attr + +from ..coresys import CoreSysAttributes +from ..exceptions import HassioError, HostNotSupportedError, HostServiceError + +_LOGGER = logging.getLogger(__name__) + +MOD_REPLACE = 'replace' + + +class ServiceManager(CoreSysAttributes): + """Handle local service information controls.""" + + def __init__(self, coresys): + """Initialize system center handling.""" + self.coresys = coresys + self._services = set() + + def __iter__(self): + """Iterator trought services.""" + return iter(self._services) + + def _check_dbus(self, unit=None): + """Check available dbus connection.""" + if not self.sys_dbus.systemd.is_connected: + _LOGGER.error("No systemd dbus connection available") + raise HostNotSupportedError() + + if unit and not self.exists(unit): + _LOGGER.error("Unit '%s' not found", unit) + raise HostServiceError() + + def start(self, unit): + """Start a service on host.""" + self._check_dbus(unit) + + _LOGGER.info("Start local service %s", unit) + return self.sys_dbus.systemd.start_unit(unit, MOD_REPLACE) + + def stop(self, unit): + """Stop a service on host.""" + self._check_dbus(unit) + + _LOGGER.info("Stop local service %s", unit) + return self.sys_dbus.systemd.stop_unit(unit, MOD_REPLACE) + + def reload(self, unit): + """Reload a service on host.""" + self._check_dbus(unit) + + _LOGGER.info("Reload local service %s", unit) + return self.sys_dbus.systemd.reload_unit(unit, MOD_REPLACE) + + def restart(self, unit): + """Restart a service on host.""" + self._check_dbus(unit) + + _LOGGER.info("Restart local service %s", unit) + return self.sys_dbus.systemd.restart_unit(unit, MOD_REPLACE) + + def exists(self, unit): + """Check if a unit exists and return True.""" + for service in self._services: + if unit == service.name: + return True + return False + + async def update(self): + """Update properties over dbus.""" + self._check_dbus() + + _LOGGER.info("Update service information") + self._services.clear() + try: + systemd_units = await self.sys_dbus.systemd.list_units() + for service_data in systemd_units[0]: + if not service_data[0].endswith(".service") or \ + service_data[2] != 'loaded': + continue + self._services.add(ServiceInfo.read_from(service_data)) + except (HassioError, IndexError): + _LOGGER.warning("Can't update host service information!") + + +@attr.s(frozen=True) +class ServiceInfo: + """Represent a single Service.""" + + name = attr.ib(type=str) + description = attr.ib(type=str) + state = attr.ib(type=str) + + @staticmethod + def read_from(unit): + """Parse data from dbus into this object.""" + return ServiceInfo(unit[0], unit[1], unit[3]) diff --git a/hassio/utils/gdbus.py b/hassio/utils/gdbus.py index cedae51a4..d9886390d 100644 --- a/hassio/utils/gdbus.py +++ b/hassio/utils/gdbus.py @@ -14,10 +14,11 @@ _LOGGER = logging.getLogger(__name__) RE_GVARIANT_TYPE = re.compile( r"(?:boolean|byte|int16|uint16|int32|uint32|handle|int64|uint64|double|" r"string|objectpath|signature) ") -RE_GVARIANT_TULPE = re.compile(r"^\((.*),\)$") RE_GVARIANT_VARIANT = re.compile( r"(?<=(?: |{|\[))<((?:'|\").*?(?:'|\")|\d+(?:\.\d+)?)>(?=(?:|]|}|,))") -RE_GVARIANT_STRING = re.compile(r"(?<=(?: |{|\[))'(.*?)'(?=(?:|]|}|,))") +RE_GVARIANT_STRING = re.compile(r"(?<=(?: |{|\[|\())'(.*?)'(?=(?:|]|}|,|\)))") +RE_GVARIANT_TUPLE_O = re.compile(r"\"[^\"]*?\"|(\()") +RE_GVARIANT_TUPLE_C = re.compile(r"\"[^\"]*?\"|(,?\))") # Commands for dbus INTROSPECT = ("gdbus introspect --system --dest {bus} " @@ -76,13 +77,16 @@ class DBus: def _gvariant(raw): """Parse GVariant input to python.""" raw = RE_GVARIANT_TYPE.sub("", raw) - raw = RE_GVARIANT_TULPE.sub(r"[\1]", raw) raw = RE_GVARIANT_VARIANT.sub(r"\1", raw) raw = RE_GVARIANT_STRING.sub(r'"\1"', raw) + raw = RE_GVARIANT_TUPLE_O.sub( + lambda x: x.group(0) if not x.group(1) else"[", raw) + raw = RE_GVARIANT_TUPLE_C.sub( + lambda x: x.group(0) if not x.group(1) else"]", raw) # No data - if raw.startswith("()"): - return {} + if raw.startswith("[]"): + return [] try: return json.loads(raw) From 7769d6fff16dfda92715a212013beb7dcc4cba42 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 20 Jun 2018 00:09:18 +0200 Subject: [PATCH 05/11] Cleanup and fixup Apparmor implementation (#509) * Cleanup and fixup Apparmor implementation * Update addon.py * Update validate.py * Create apparmor.py * Update exceptions.py * Update apparmor.py * Create apparmor.py * Update const.py * Update bootstrap.py * Update const.py * Update config.py * Update addons.py * Update apparmor.py * Add support for host AppArmor * Update apparmor.py * Update apparmor.py * Update apparmor.py * Update apparmor.py * Update apparmor.py * Update addon.py * Update apparmor.py * Update addon.py * Update addon.py * Update addon.py * Update addon.py * Update const.py * Update supervisor.py * Update supervisor.py * Update supervisor.py * Add snapshot support * some cleanup * Cleanup v2 * Update aiohttp * fix lint * fix bugs * Add info logs --- API.md | 1 - Dockerfile | 2 +- hassio/addons/addon.py | 84 +++++++++++----- hassio/addons/validate.py | 3 +- hassio/api/addons.py | 3 +- hassio/bootstrap.py | 5 + hassio/config.py | 6 ++ hassio/const.py | 3 +- hassio/coresys.py | 2 +- hassio/docker/addon.py | 13 ++- hassio/exceptions.py | 26 ++++- hassio/host/__init__.py | 31 ++++-- hassio/host/apparmor.py | 121 ++++++++++++++++++++++++ hassio/host/{service.py => services.py} | 0 hassio/snapshots/validate.py | 2 +- hassio/supervisor.py | 32 +++++++ hassio/tasks.py | 2 +- hassio/utils/apparmor.py | 66 +++++++++++++ hassio/validate.py | 4 +- setup.py | 2 +- 20 files changed, 354 insertions(+), 54 deletions(-) create mode 100644 hassio/host/apparmor.py rename hassio/host/{service.py => services.py} (100%) create mode 100644 hassio/utils/apparmor.py diff --git a/API.md b/API.md index 98748b4dc..550225982 100644 --- a/API.md +++ b/API.md @@ -451,7 +451,6 @@ Get all available addons. "host_ipc": "bool", "host_dbus": "bool", "privileged": ["NET_ADMIN", "SYS_ADMIN"], - "seccomp": "disable|default|profile", "apparmor": "disable|default|profile", "devices": ["/dev/xy"], "auto_uart": "bool", diff --git a/Dockerfile b/Dockerfile index 2ed844f41..201d2d6b5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN apk add --no-cache \ python3-dev \ g++ \ && pip3 install --no-cache-dir \ - uvloop==0.9.1 \ + uvloop==0.10.1 \ cchardet==2.1.1 \ pycryptodome==3.4.11 \ && apk del .build-dependencies diff --git a/hassio/addons/addon.py b/hassio/addons/addon.py index 55fc10dc9..8edf45d8c 100644 --- a/hassio/addons/addon.py +++ b/hassio/addons/addon.py @@ -25,11 +25,12 @@ from ..const import ( ATTR_HASSIO_API, ATTR_AUDIO, ATTR_AUDIO_OUTPUT, ATTR_AUDIO_INPUT, ATTR_GPIO, ATTR_HOMEASSISTANT_API, ATTR_STDIN, ATTR_LEGACY, ATTR_HOST_IPC, ATTR_HOST_DBUS, ATTR_AUTO_UART, ATTR_DISCOVERY, ATTR_SERVICES, - ATTR_SECCOMP, ATTR_APPARMOR, SECURITY_PROFILE, SECURITY_DISABLE, - SECURITY_DEFAULT) + ATTR_APPARMOR, SECURITY_PROFILE, SECURITY_DISABLE, SECURITY_DEFAULT) from ..coresys import CoreSysAttributes from ..docker.addon import DockerAddon from ..utils.json import write_json_file, read_json_file +from ..utils.apparmor import adjust_profile +from ..exceptions import HostAppArmorError _LOGGER = logging.getLogger(__name__) @@ -319,21 +320,12 @@ class Addon(CoreSysAttributes): """Return list of privilege.""" return self._mesh.get(ATTR_PRIVILEGED) - @property - def seccomp(self): - """Return True if seccomp is enabled.""" - if not self._mesh.get(ATTR_SECCOMP): - return SECURITY_DISABLE - elif self.path_seccomp.exists(): - return SECURITY_PROFILE - return SECURITY_DEFAULT - @property def apparmor(self): - """Return True if seccomp is enabled.""" + """Return True if apparmor is enabled.""" if not self._mesh.get(ATTR_APPARMOR): return SECURITY_DISABLE - elif self.path_apparmor.exists(): + elif self.sys_host.apparmor.exists(self.slug): return SECURITY_PROFILE return SECURITY_DEFAULT @@ -493,15 +485,10 @@ class Addon(CoreSysAttributes): """Return path to addon changelog.""" return Path(self.path_location, 'CHANGELOG.md') - @property - def path_seccomp(self): - """Return path to custom seccomp profile.""" - return Path(self.path_location, 'seccomp.json') - @property def path_apparmor(self): """Return path to custom AppArmor profile.""" - return Path(self.path_location, 'apparmor') + return Path(self.path_location, 'apparmor.txt') @property def path_asound(self): @@ -549,6 +536,27 @@ class Addon(CoreSysAttributes): return True + async def _install_apparmor(self): + """Install or Update AppArmor profile for Add-on.""" + exists_local = self.sys_host.apparmor.exists(self.slug) + exists_addon = self.path_apparmor.exists() + + # Nothing to do + if not exists_local and not exists_addon: + return + + # Need removed + if exists_local and not exists_addon: + await self.sys_host.apparmor.remove_profile(self.slug) + return + + # Need install/update + with TemporaryDirectory(dir=self.sys_config.path_tmp) as tmp_folder: + profile_file = Path(tmp_folder, 'apparmor.txt') + + adjust_profile(self.slug, self.path_apparmor, self.profile_file) + await self.sys_host.apparmor.load_profile(self.slug, profile_file) + @property def schema(self): """Create a schema for addon options.""" @@ -604,6 +612,9 @@ class Addon(CoreSysAttributes): "Create Home-Assistant addon data folder %s", self.path_data) self.path_data.mkdir() + # Setup/Fix AppArmor profile + await self._install_apparmor() + if not await self.instance.install(self.last_version): return False @@ -626,6 +637,11 @@ class Addon(CoreSysAttributes): with suppress(OSError): self.path_asound.unlink() + # Cleanup apparmor profile + if self.sys_host.apparmor.exists(self.slug): + with suppress(HostAppArmorError): + await self.sys_host.apparmor.remove_profile(self.slug) + self._set_uninstall() return True @@ -672,6 +688,9 @@ class Addon(CoreSysAttributes): return False self._set_update(self.last_version) + # Setup/Fix AppArmor profile + await self._install_apparmor() + # restore state if last_state == STATE_STARTED: await self.start() @@ -738,7 +757,7 @@ class Addon(CoreSysAttributes): with TemporaryDirectory(dir=str(self.sys_config.path_tmp)) as temp: # store local image if self.need_build and not await \ - self.instance.export_image(Path(temp, "image.tar")): + self.instance.export_image(Path(temp, 'image.tar')): return False data = { @@ -750,11 +769,20 @@ class Addon(CoreSysAttributes): # store local configs/state try: - write_json_file(Path(temp, "addon.json"), data) + write_json_file(Path(temp, 'addon.json'), data) except (OSError, json.JSONDecodeError) as err: _LOGGER.error("Can't save meta for %s: %s", self._id, err) return False + # Store AppArmor Profile + if self.sys_host.apparmor.exists(self.slug): + profile = Path(temp, 'apparmor.txt') + try: + self.sys_host.apparmor.backup_profile(self.slug, profile) + except HostAppArmorError: + _LOGGER.error("Can't backup AppArmor profile") + return False + # write into tarfile def _write_tarfile(): """Write tar inside loop.""" @@ -789,7 +817,7 @@ class Addon(CoreSysAttributes): # read snapshot data try: - data = read_json_file(Path(temp, "addon.json")) + data = read_json_file(Path(temp, 'addon.json')) except (OSError, json.JSONDecodeError) as err: _LOGGER.error("Can't read addon.json: %s", err) @@ -810,7 +838,7 @@ class Addon(CoreSysAttributes): if not await self.instance.exists(): _LOGGER.info("Restore image for addon %s", self._id) - image_file = Path(temp, "image.tar") + image_file = Path(temp, 'image.tar') if image_file.is_file(): await self.instance.import_image(image_file, version) else: @@ -833,6 +861,16 @@ class Addon(CoreSysAttributes): _LOGGER.error("Can't restore origin data: %s", err) return False + # Restore AppArmor + profile_file = Path(temp, 'apparmor.txt') + if profile_file.exists(): + try: + await self.sys_host.apparmor.load_profile( + self.slug, profile_file) + except HostAppArmorError: + _LOGGER.error("Can't restore AppArmor profile") + return False + # run addon if data[ATTR_STATE] == STATE_STARTED: return await self.start() diff --git a/hassio/addons/validate.py b/hassio/addons/validate.py index cc0fde405..822b448ba 100644 --- a/hassio/addons/validate.py +++ b/hassio/addons/validate.py @@ -18,7 +18,7 @@ from ..const import ( ATTR_AUDIO_OUTPUT, ATTR_HASSIO_API, ATTR_BUILD_FROM, ATTR_SQUASH, ATTR_ARGS, ATTR_GPIO, ATTR_HOMEASSISTANT_API, ATTR_STDIN, ATTR_LEGACY, ATTR_HOST_DBUS, ATTR_AUTO_UART, ATTR_SERVICES, ATTR_DISCOVERY, - ATTR_SECCOMP, ATTR_APPARMOR) + ATTR_APPARMOR) from ..validate import NETWORK_PORT, DOCKER_PORTS, ALSA_DEVICE _LOGGER = logging.getLogger(__name__) @@ -108,7 +108,6 @@ SCHEMA_ADDON_CONFIG = vol.Schema({ vol.Optional(ATTR_MAP, default=list): [vol.Match(RE_VOLUME)], vol.Optional(ATTR_ENVIRONMENT): {vol.Match(r"\w*"): vol.Coerce(str)}, vol.Optional(ATTR_PRIVILEGED): [vol.In(PRIVILEGED_ALL)], - vol.Optional(ATTR_SECCOMP, default=True): vol.Boolean(), vol.Optional(ATTR_APPARMOR, default=True): vol.Boolean(), vol.Optional(ATTR_AUDIO, default=False): vol.Boolean(), vol.Optional(ATTR_GPIO, default=False): vol.Boolean(), diff --git a/hassio/api/addons.py b/hassio/api/addons.py index aa3fbfbc8..ab31bbc1c 100644 --- a/hassio/api/addons.py +++ b/hassio/api/addons.py @@ -17,7 +17,7 @@ from ..const import ( ATTR_CHANGELOG, ATTR_HOST_IPC, ATTR_HOST_DBUS, ATTR_LONG_DESCRIPTION, ATTR_CPU_PERCENT, ATTR_MEMORY_LIMIT, ATTR_MEMORY_USAGE, ATTR_NETWORK_TX, ATTR_NETWORK_RX, ATTR_BLK_READ, ATTR_BLK_WRITE, ATTR_ICON, ATTR_SERVICES, - ATTR_DISCOVERY, ATTR_SECCOMP, ATTR_APPARMOR, + ATTR_DISCOVERY, ATTR_APPARMOR, CONTENT_TYPE_PNG, CONTENT_TYPE_BINARY, CONTENT_TYPE_TEXT) from ..coresys import CoreSysAttributes from ..validate import DOCKER_PORTS, ALSA_DEVICE @@ -126,7 +126,6 @@ class APIAddons(CoreSysAttributes): ATTR_HOST_IPC: addon.host_ipc, ATTR_HOST_DBUS: addon.host_dbus, ATTR_PRIVILEGED: addon.privileged, - ATTR_SECCOMP: addon.seccomp, ATTR_APPARMOR: addon.apparmor, ATTR_DEVICES: self._pretty_devices(addon), ATTR_ICON: addon.with_icon, diff --git a/hassio/bootstrap.py b/hassio/bootstrap.py index 828d0cdb4..d35ccb207 100644 --- a/hassio/bootstrap.py +++ b/hassio/bootstrap.py @@ -103,6 +103,11 @@ def initialize_system_data(coresys): _LOGGER.info("Create hassio share folder %s", config.path_share) config.path_share.mkdir() + # apparmor folder + if not config.path_apparmor.is_dir(): + _LOGGER.info("Create hassio apparmor folder %s", config.path_apparmor) + config.path_apparmor.mkdir() + return config diff --git a/hassio/config.py b/hassio/config.py index 2f86ad5ed..6f1aafd5a 100644 --- a/hassio/config.py +++ b/hassio/config.py @@ -25,6 +25,7 @@ ADDONS_DATA = PurePath("addons/data") BACKUP_DATA = PurePath("backup") SHARE_DATA = PurePath("share") TMP_DATA = PurePath("tmp") +APPARMOR_DATA = PurePath("apparmor") DEFAULT_BOOT_TIME = datetime.utcfromtimestamp(0).isoformat() @@ -156,6 +157,11 @@ class CoreConfig(JsonConfig): """Return root share data folder.""" return Path(HASSIO_DATA, SHARE_DATA) + @property + def path_apparmor(self): + """Return root apparmor profile folder.""" + return Path(HASSIO_DATA, APPARMOR_DATA) + @property def path_extern_share(self): """Return root share data folder extern for docker.""" diff --git a/hassio/const.py b/hassio/const.py index 74415f29e..92e1629c4 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -7,6 +7,8 @@ HASSIO_VERSION = '108' URL_HASSIO_ADDONS = "https://github.com/home-assistant/hassio-addons" URL_HASSIO_VERSION = \ "https://s3.amazonaws.com/hassio-version/{channel}.json" +URL_HASSIO_APPARMOR = \ + "https://s3.amazonaws.com/hassio-version/apparmor.txt" HASSIO_DATA = Path("/data") @@ -162,7 +164,6 @@ ATTR_PROTECTED = 'protected' ATTR_CRYPTO = 'crypto' ATTR_BRANCH = 'branch' ATTR_KERNEL = 'kernel' -ATTR_SECCOMP = 'seccomp' ATTR_APPARMOR = 'apparmor' SERVICE_MQTT = 'mqtt' diff --git a/hassio/coresys.py b/hassio/coresys.py index fe8ef696e..7242b9dd7 100644 --- a/hassio/coresys.py +++ b/hassio/coresys.py @@ -267,4 +267,4 @@ class CoreSysAttributes: """Mapping to coresys.""" if name.startswith("sys_") and hasattr(self.coresys, name[4:]): return getattr(self.coresys, name[4:]) - raise AttributeError() + raise AttributeError(f"Can't resolve {name} on {self}") diff --git a/hassio/docker/addon.py b/hassio/docker/addon.py index 960923c75..cba7e8870 100644 --- a/hassio/docker/addon.py +++ b/hassio/docker/addon.py @@ -124,18 +124,17 @@ class DockerAddon(DockerInterface): security = [] # AppArmor - if self.addon.apparmor == SECURITY_DISABLE: + apparmor = self.sys_host.apparmor.available + if not apparmor or self.addon.apparmor == SECURITY_DISABLE: security.append("apparmor:unconfined") elif self.addon.apparmor == SECURITY_PROFILE: security.append(f"apparmor={self.addon.slug}") - # Seccomp - if self.addon.seccomp == SECURITY_DISABLE: - security.append("seccomp=unconfined") - elif self.addon.seccomp == SECURITY_PROFILE: - security.append(f"seccomp={self.addon.path_seccomp}") + # Disable Seccomp / We don't support it official and it + # make troubles on some kind of host systems. + security.append("seccomp=unconfined") - return security or None + return security @property def tmpfs(self): diff --git a/hassio/exceptions.py b/hassio/exceptions.py index e3342ecf1..58dc044de 100644 --- a/hassio/exceptions.py +++ b/hassio/exceptions.py @@ -6,11 +6,6 @@ class HassioError(Exception): pass -class HassioInternalError(HassioError): - """Internal Hass.io error they can't handle.""" - pass - - class HassioNotSupportedError(HassioError): """Function is not supported.""" pass @@ -33,6 +28,10 @@ class HostServiceError(HostError): pass +class HostAppArmorError(HostError): + """Host apparmor functions fails.""" + + # utils/gdbus class DBusError(HassioError): @@ -52,3 +51,20 @@ class DBusFatalError(DBusError): class DBusParseError(DBusError): """DBus parse error.""" pass + + +# util/apparmor + +class AppArmorError(HostAppArmorError): + """General AppArmor error.""" + pass + + +class AppArmorFileError(AppArmorError): + """AppArmor profile file error.""" + pass + + +class AppArmorInvalidError(AppArmorError): + """AppArmor profile validate error.""" + pass diff --git a/hassio/host/__init__.py b/hassio/host/__init__.py index a65e46f32..de1bbd479 100644 --- a/hassio/host/__init__.py +++ b/hassio/host/__init__.py @@ -1,12 +1,18 @@ """Host function like audio/dbus/systemd.""" +from contextlib import suppress +import logging from .alsa import AlsaAudio +from .apparmor import AppArmorControl from .control import SystemControl from .info import InfoCenter -from .service import ServiceManager +from .services import ServiceManager from ..const import ( FEATURES_REBOOT, FEATURES_SHUTDOWN, FEATURES_HOSTNAME, FEATURES_SERVICES) from ..coresys import CoreSysAttributes +from ..exceptions import HassioError + +_LOGGER = logging.getLogger(__name__) class HostManager(CoreSysAttributes): @@ -16,6 +22,7 @@ class HostManager(CoreSysAttributes): """Initialize Host manager.""" self.coresys = coresys self._alsa = AlsaAudio(coresys) + self._apparmor = AppArmorControl(coresys) self._control = SystemControl(coresys) self._info = InfoCenter(coresys) self._services = ServiceManager(coresys) @@ -25,6 +32,11 @@ class HostManager(CoreSysAttributes): """Return host ALSA handler.""" return self._alsa + @property + def apparmor(self): + """Return host apparmor handler.""" + return self._apparmor + @property def control(self): """Return host control handler.""" @@ -57,14 +69,21 @@ class HostManager(CoreSysAttributes): return features - async def load(self): - """Load host functions.""" + async def reload(self): + """Reload host functions.""" if self.sys_dbus.hostname.is_connected: await self.info.update() if self.sys_dbus.systemd.is_connected: await self.services.update() - def reload(self): - """Reload host information.""" - return self.load() + async def load(self): + """Load host information.""" + with suppress(HassioError): + await self.reload() + + # Load profile data + try: + await self.apparmor.load() + except HassioError as err: + _LOGGER.waring("Load host AppArmor on start fails: %s", err) diff --git a/hassio/host/apparmor.py b/hassio/host/apparmor.py new file mode 100644 index 000000000..2b39368c2 --- /dev/null +++ b/hassio/host/apparmor.py @@ -0,0 +1,121 @@ +"""AppArmor control for host.""" +import logging +import shutil +from pathlib import Path + +from ..coresys import CoreSysAttributes +from ..exceptions import DBusError, HostAppArmorError +from ..utils.apparmor import validate_profile + +_LOGGER = logging.getLogger(__name__) + +SYSTEMD_SERVICES = {'hassos-apparmor.service', 'hassio-apparmor.service'} + + +class AppArmorControl(CoreSysAttributes): + """Handle host apparmor controls.""" + + def __init__(self, coresys): + """Initialize host power handling.""" + self.coresys = coresys + self._profiles = set() + self._service = None + + @property + def available(self): + """Return True if AppArmor is availabe on host.""" + return self._service is not None + + def exists(self, profile): + """Return True if a profile exists.""" + return profile in self._profiles + + async def _reload_service(self): + """Reload internal service.""" + try: + await self.sys_host.services.reload(self._service) + except DBusError as err: + _LOGGER.error("Can't reload %s: %s", self._service, err) + + def _get_profile(self, profile_name): + """Get a profile from AppArmor store.""" + if profile_name not in self._profiles: + _LOGGER.error("Can't find %s for removing", profile_name) + raise HostAppArmorError() + return Path(self.sys_config.path_apparmor, profile_name) + + async def load(self): + """Load available profiles.""" + for content in self.sys_config.path_apparmor.iterdir(): + if not content.is_file(): + continue + self._profiles.add(content.name) + + # Is connected with systemd? + _LOGGER.info("Load AppArmor Profiles: %s", self._profiles) + for service in SYSTEMD_SERVICES: + if not self.sys_host.services.exists(service): + continue + self._service = service + + # Load profiles + if self.available: + await self._reload_service() + else: + _LOGGER.info("AppArmor is not enabled on Host") + + async def load_profile(self, profile_name, profile_file): + """Load/Update a new/exists profile into AppArmor.""" + if not validate_profile(profile_file, profile_name): + _LOGGER.error("profile is not valid with name %s", profile_name) + raise HostAppArmorError() + + # Copy to AppArmor folder + dest_profile = Path(self.sys_config.path_apparmor, profile_name) + try: + shutil.copy(profile_file, dest_profile) + except OSError as err: + _LOGGER.error("Can't copy %s: %s", profile_file, err) + raise HostAppArmorError() from None + + # Load profiles + _LOGGER.info("Add or Update AppArmor profile: %s", profile_name) + self._profiles.add(profile_name) + if self.available: + await self._reload_service() + + async def remove_profile(self, profile_name): + """Remove a AppArmor profile.""" + profile_file = self._get_profile(profile_name) + + # Only remove file + if not self.available: + try: + profile_file.unlink() + except OSError as err: + _LOGGER.error("Can't remove profile: %s", err) + raise HostAppArmorError() + return + + # Marks als remove and start host process + remove_profile = Path( + self.sys_config.path_apparmor, 'remove', profile_name) + try: + profile_file.rename(remove_profile) + except OSError as err: + _LOGGER.error("Can't mark profile as remove: %s", err) + raise HostAppArmorError() + + _LOGGER.info("Remove AppArmor profile: %s", profile_name) + self._profiles.remove(profile_name) + await self._reload_service() + + def backup_profile(self, profile_name, backup_file): + """Backup A profile into a new file.""" + profile_file = self._get_profile(profile_name) + + try: + shutil.copy(profile_file, backup_file) + except OSError as err: + _LOGGER.error("Can't backup profile %s: %s", profile_name, err) + raise HostAppArmorError() diff --git a/hassio/host/service.py b/hassio/host/services.py similarity index 100% rename from hassio/host/service.py rename to hassio/host/services.py diff --git a/hassio/snapshots/validate.py b/hassio/snapshots/validate.py index 3ac714bbe..ab051ffbc 100644 --- a/hassio/snapshots/validate.py +++ b/hassio/snapshots/validate.py @@ -39,7 +39,7 @@ SCHEMA_SNAPSHOT = vol.Schema({ vol.Optional(ATTR_BOOT, default=True): vol.Boolean(), vol.Optional(ATTR_SSL, default=False): vol.Boolean(), vol.Optional(ATTR_PORT, default=8123): NETWORK_PORT, - vol.Optional(ATTR_PASSWORD): vol.Any(None, vol.Coerce(str)), + vol.Optional(ATTR_PASSWORD): vol.Maybe(vol.Coerce(str)), vol.Optional(ATTR_WATCHDOG, default=True): vol.Boolean(), vol.Optional(ATTR_WAIT_BOOT, default=600): vol.All(vol.Coerce(int), vol.Range(min=60)), diff --git a/hassio/supervisor.py b/hassio/supervisor.py index 598113b76..6d11f9483 100644 --- a/hassio/supervisor.py +++ b/hassio/supervisor.py @@ -1,8 +1,14 @@ """HomeAssistant control object.""" import logging +from pathlib import Path +from tempfile import TemporaryDirectory + +import aiohttp from .coresys import CoreSysAttributes from .docker.supervisor import DockerSupervisor +from .const import URL_HASSIO_APPARMOR +from .exceptions import HostAppArmorError _LOGGER = logging.getLogger(__name__) @@ -46,6 +52,31 @@ class Supervisor(CoreSysAttributes): """Return arch of hass.io containter.""" return self.instance.arch + async def update_apparmor(self): + """Fetch last version and update profile.""" + url = URL_HASSIO_APPARMOR + try: + _LOGGER.info("Fetch AppArmor profile %s", url) + async with self.sys_websession.get(url, timeout=10) as request: + data = await request.text() + + except aiohttp.ClientError as err: + _LOGGER.warning("Can't fetch AppArmor profile: %s", err) + return + + with TemporaryDirectory(dir=self.sys_config.path_tmp) as tmp_dir: + profile_file = Path(tmp_dir, 'apparmor.txt') + try: + profile_file.write_text(data) + except OSError as err: + _LOGGER.error("Can't write temporary profile: %s", err) + return + try: + await self.sys_host.apparmor.load_profile( + "hassio-supervisor", profile_file) + except HostAppArmorError: + _LOGGER.error("Can't update AppArmor profile!") + async def update(self, version=None): """Update HomeAssistant version.""" version = version or self.last_version @@ -56,6 +87,7 @@ class Supervisor(CoreSysAttributes): _LOGGER.info("Update supervisor to version %s", version) if await self.instance.install(version): + await self.update_apparmor() self.sys_loop.call_later(1, self.sys_loop.stop) return True diff --git a/hassio/tasks.py b/hassio/tasks.py index c9936d123..d5ddc298b 100644 --- a/hassio/tasks.py +++ b/hassio/tasks.py @@ -41,7 +41,7 @@ class Tasks(CoreSysAttributes): self.jobs.add(self.sys_scheduler.register_task( self.sys_snapshots.reload, self.RUN_RELOAD_SNAPSHOTS)) self.jobs.add(self.sys_scheduler.register_task( - self.sys_host.load, self.RUN_RELOAD_HOST)) + self.sys_host.reload, self.RUN_RELOAD_HOST)) self.jobs.add(self.sys_scheduler.register_task( self._watchdog_homeassistant_docker, diff --git a/hassio/utils/apparmor.py b/hassio/utils/apparmor.py new file mode 100644 index 000000000..aa80a4d59 --- /dev/null +++ b/hassio/utils/apparmor.py @@ -0,0 +1,66 @@ +"""Some functions around apparmor profiles.""" +import logging +import re + +from ..exceptions import AppArmorFileError, AppArmorInvalidError + +_LOGGER = logging.getLogger(__name__) + +RE_PROFILE = re.compile(r"^profile ([^ ]+).*$") + + +def get_profile_name(profile_file): + """Read the profile name from file.""" + profiles = set() + + try: + with profile_file.open('r') as profile: + for line in profile: + match = RE_PROFILE.match(line) + if not match: + continue + profiles.add(match.group(1)) + except OSError as err: + _LOGGER.error("Can't read apparmor profile: %s", err) + raise AppArmorFileError() + + if len(profiles) != 1: + _LOGGER.error("To many profiles inside file: %s", profiles) + raise AppArmorInvalidError() + + return profiles.pop() + + +def validate_profile(profile_file, profile_name): + """Check if profile from file is valid with profile name.""" + if profile_name == get_profile_name(profile_file): + return True + return False + + +def adjust_profile(profile_file, profile_name, profile_new): + """Fix the profile name.""" + org_profile = get_profile_name(profile_file) + profile_data = [] + + # Process old data + try: + with profile_file.open('r') as profile: + for line in profile: + match = RE_PROFILE.match(line) + if not match: + profile_data.append(line) + else: + profile_data.append( + line.replace(org_profile, profile_name)) + except OSError as err: + _LOGGER.error("Can't adjust origin profile: %s", err) + raise AppArmorFileError() + + # Write into new file + try: + with profile_new.open('w') as profile: + profile.writelines(profile_data) + except OSError as err: + _LOGGER.error("Can't write new profile: %s", err) + raise AppArmorFileError() diff --git a/hassio/validate.py b/hassio/validate.py index 480c8592f..61e864343 100644 --- a/hassio/validate.py +++ b/hassio/validate.py @@ -17,7 +17,7 @@ RE_REPOSITORY = re.compile(r"^(?P[^#]+)(?:#(?P[\w\-]+))?$") NETWORK_PORT = vol.All(vol.Coerce(int), vol.Range(min=1, max=65535)) WAIT_BOOT = vol.All(vol.Coerce(int), vol.Range(min=1, max=60)) DOCKER_IMAGE = vol.Match(r"^[\w{}]+/[\-\w{}]+$") -ALSA_DEVICE = vol.Any(None, vol.Match(r"\d+,\d+")) +ALSA_DEVICE = vol.Maybe(vol.Match(r"\d+,\d+")) CHANNELS = vol.In([CHANNEL_STABLE, CHANNEL_BETA, CHANNEL_DEV]) @@ -87,7 +87,7 @@ SCHEMA_HASS_CONFIG = vol.Schema({ vol.Inclusive(ATTR_IMAGE, 'custom_hass'): DOCKER_IMAGE, vol.Inclusive(ATTR_LAST_VERSION, 'custom_hass'): vol.Coerce(str), vol.Optional(ATTR_PORT, default=8123): NETWORK_PORT, - vol.Optional(ATTR_PASSWORD): vol.Any(None, vol.Coerce(str)), + vol.Optional(ATTR_PASSWORD): vol.Maybe(vol.Coerce(str)), vol.Optional(ATTR_SSL, default=False): vol.Boolean(), vol.Optional(ATTR_WATCHDOG, default=True): vol.Boolean(), vol.Optional(ATTR_WAIT_BOOT, default=600): diff --git a/setup.py b/setup.py index a9ceff64f..c61f51300 100644 --- a/setup.py +++ b/setup.py @@ -42,7 +42,7 @@ setup( install_requires=[ 'attr==0.3.1', 'async_timeout==3.0.0', - 'aiohttp==3.2.1', + 'aiohttp==3.3.2', 'docker==3.3.0', 'colorlog==3.1.2', 'voluptuous==0.11.1', From 20e73796b8895ffb8afa183eb0c55a283cd80f00 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 20 Jun 2018 12:17:33 +0200 Subject: [PATCH 06/11] Change aiohttp handling for server (#511) --- hassio/api/__init__.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/hassio/api/__init__.py b/hassio/api/__init__.py index 2393320bb..959a3ff5d 100644 --- a/hassio/api/__init__.py +++ b/hassio/api/__init__.py @@ -30,8 +30,8 @@ class RestAPI(CoreSysAttributes): middlewares=[self.security.token_validation], loop=coresys.loop) # service stuff - self._handler = None - self.server = None + self._runner = web.AppRunner(self.webapp) + self._site = web.TCPSite(self._runner, "0.0.0.0", 80) async def load(self): """Register REST API Calls.""" @@ -220,22 +220,15 @@ class RestAPI(CoreSysAttributes): async def start(self): """Run rest api webserver.""" - self._handler = self.webapp.make_handler() + await self._runner.setup() try: - self.server = await self.sys_loop.create_server( - self._handler, "0.0.0.0", "80") + await self._site.start() except OSError as err: _LOGGER.fatal( "Failed to create HTTP server at 0.0.0.0:80 -> %s", err) async def stop(self): """Stop rest api webserver.""" - if self.server: - self.server.close() - await self.server.wait_closed() - await self.webapp.shutdown() - - if self._handler: - await self._handler.shutdown(60) - await self.webapp.cleanup() + await self._site.stop() + await self._runner.cleanup() From e84e82d0182efa80b94b9a30571eb45aac0ef38b Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 20 Jun 2018 15:32:55 +0200 Subject: [PATCH 07/11] Fix aiohttp handling (#512) --- hassio/api/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hassio/api/__init__.py b/hassio/api/__init__.py index 959a3ff5d..7dbea66e9 100644 --- a/hassio/api/__init__.py +++ b/hassio/api/__init__.py @@ -31,7 +31,7 @@ class RestAPI(CoreSysAttributes): # service stuff self._runner = web.AppRunner(self.webapp) - self._site = web.TCPSite(self._runner, "0.0.0.0", 80) + self._site = None async def load(self): """Register REST API Calls.""" @@ -221,6 +221,7 @@ class RestAPI(CoreSysAttributes): async def start(self): """Run rest api webserver.""" await self._runner.setup() + self._site = web.TCPSite(self._runner, "0.0.0.0", 80) try: await self._site.start() From 788f8834900f74e15215aaf8d20b3fc1660fefa1 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 20 Jun 2018 20:37:26 +0200 Subject: [PATCH 08/11] Update Panel for 0.72 (#514) --- .../api/panel/chunk.42328fc4c4b31ed4a23b.js | 1 - .../panel/chunk.42328fc4c4b31ed4a23b.js.gz | Bin 18766 -> 0 bytes .../api/panel/chunk.4ac8b99259327a51f355.js | 1 - .../panel/chunk.4ac8b99259327a51f355.js.gz | Bin 2671 -> 0 bytes hassio/api/panel/entrypoint.js | 2 +- hassio/api/panel/entrypoint.js.gz | Bin 1052 -> 1053 bytes hassio/api/panel/hassio-app.html | 2 +- hassio/api/panel/hassio-app.html.gz | Bin 138510 -> 138598 bytes hassio/api/panel/index.html.gz | Bin 530 -> 530 bytes home-assistant-polymer | 2 +- 10 files changed, 3 insertions(+), 5 deletions(-) delete mode 100644 hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js delete mode 100644 hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js.gz delete mode 100644 hassio/api/panel/chunk.4ac8b99259327a51f355.js delete mode 100644 hassio/api/panel/chunk.4ac8b99259327a51f355.js.gz diff --git a/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js b/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js deleted file mode 100644 index bdd968f9f..000000000 --- a/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{2:function(e,n,t){"use strict";t.r(n),t(75);var o,a,r=t(4),i=t(6),s=(t(27),t(74),t(56),t(20),t(11)),l=function(){function e(e,n){for(var t=0;t\n .invisible {\n visibility: hidden;\n }\n \n \n'],a=['\n \n \n'],Object.freeze(Object.defineProperties(o,{raw:{value:Object.freeze(a)}}))),u=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),c(n,[{key:"computeMenuButtonClass",value:function(e,n){return!e&&n?"invisible":""}},{key:"toggleMenu",value:function(e){e.stopPropagation(),this.fire("hass-open-menu")}}],[{key:"template",get:function(){return Object(r.a)(d)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-menu-button",u);var h=function(){function e(e,n){for(var t=0;t\n .placeholder {\n height: 100%;\n }\n\n .layout {\n height: calc(100% - 64px);\n }\n \n\n

    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'])}})),b=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),h(n,null,[{key:"template",get:function(){return Object(r.a)(f)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}}}]),n}();customElements.define("hass-loading-screen",b),t(72),t(57),t(101),t(3);var m=document.createElement("template");m.setAttribute("style","display: none;"),m.innerHTML='\n \n\n \n\n \n\n \n',document.head.appendChild(m.content),t(70),t(55);var y=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n }\n paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'])}})),O=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),w(n,[{key:"openDialog",value:function(){this.$.dialog.open()}}],[{key:"template",get:function(){return Object(r.a)(k)}},{key:"properties",get:function(){return{title:String,content:String}}}]),n}();customElements.define("hassio-markdown-dialog",O),t(93),t(13),t(12),t(86),t(84),t(92);var _=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'])}})),x=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),_(n,[{key:"addonChanged",value:function(e){var n=this;if(this.setProperties({selectedInput:e.audio_input||"null",selectedOutput:e.audio_output||"null"}),!this.outputDevices){var t=[{device:"null",name:"-"}];this.hass.callApi("get","hassio/hardware/audio").then(function(e){var o=e.data.audio,a=Object.keys(o.input).map(function(e){return{device:e,name:o.input[e]}}),r=Object.keys(o.output).map(function(e){return{device:e,name:o.output[e]}});n.setProperties({inputDevices:t.concat(a),outputDevices:t.concat(r)})},function(){n.setProperties({inputDevices:t,outputDevices:t})})}}},{key:"_saveSettings",value:function(){var e=this;this.error=null;var n="hassio/addons/"+this.addon.slug+"/options";this.hass.callApi("post",n,{audio_input:"null"===this.selectedInput?null:this.selectedInput,audio_output:"null"===this.selectedOutput?null:this.selectedOutput}).then(function(){e.fire("hass-api-called",{success:!0,path:n})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(j)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},inputDevices:Array,outputDevices:Array,selectedInput:String,selectedOutput:String,error:String}}}]),n}();customElements.define("hassio-addon-audio",x),t(91);var S=function(){function e(e,n){for(var t=0;t\n .container {\n position: relative;\n display: inline-block;\n }\n\n paper-button {\n transition: all 1s;\n }\n\n .success paper-button {\n color: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error paper-button {\n color: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n paper-button[disabled] {\n color: #c8c8c8;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
    \n \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n \n \n
    \n'])}})),C=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),S(n,[{key:"tempClass",value:function(e){var n=this.$.container.classList;n.add(e),setTimeout(function(){n.remove(e)},1e3)}},{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("click",function(n){return e.buttonTapped(n)})}},{key:"buttonTapped",value:function(e){this.progress&&e.stopPropagation()}},{key:"actionSuccess",value:function(){this.tempClass("success")}},{key:"actionError",value:function(){this.tempClass("error")}},{key:"computeDisabled",value:function(e,n){return e||n}}],[{key:"template",get:function(){return Object(r.a)(P)}},{key:"properties",get:function(){return{hass:{type:Object},progress:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-progress-button",C);var E=function(){function e(e,n){for(var t=0;t\n'],{raw:{value:Object.freeze(['\n \n'])}})),A=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),E(n,[{key:"buttonTapped",value:function(){var e=this;this.progress=!0;var n={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(t){e.progress=!1,e.$.progress.actionSuccess(),n.success=!0,n.response=t},function(t){e.progress=!1,e.$.progress.actionError(),n.success=!1,n.response=t}).then(function(){e.fire("hass-api-called",n)})}}],[{key:"template",get:function(){return Object(r.a)(T)}},{key:"properties",get:function(){return{hass:Object,progress:{type:Boolean,value:!1},path:String,method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-call-api-button",A);var R=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),I=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),R(n,[{key:"addonChanged",value:function(e){this.config=e?JSON.stringify(e.options,null,2):""}},{key:"configChanged",value:function(e){try{this.$.config.classList.remove("syntaxerror"),this.configParsed=JSON.parse(e)}catch(e){this.$.config.classList.add("syntaxerror"),this.configParsed=null}}},{key:"saveTapped",value:function(){var e=this;this.error=null,this.hass.callApi("post","hassio/addons/"+this.addonSlug+"/options",{options:this.configParsed}).catch(function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(D)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},addonSlug:String,config:{type:String,observer:"configChanged"},configParsed:Object,error:String,resetData:{type:Object,value:{options:null}}}}}]),n}();customElements.define("hassio-addon-config",I),t(19),t(90);var z=t(7),q=[60,"second",60,"minute",24,"hour",7,"day"],L=t(76),H=(t(82),t(85)),M={__localizationCache:{requests:{},messages:{},ajax:null},properties:{language:{type:String},resources:{type:Object},formats:{type:Object,value:function(){return{}}},useKeyIfMissing:{type:Boolean,value:!1},localize:{type:Function,computed:"__computeLocalize(language, resources, formats)"},bubbleEvent:{type:Boolean,value:!1}},loadResources:function(e,n,t){var o=this.constructor.prototype;this.__checkLocalizationCache(o);var a,r=o.__localizationCache.ajax;function i(e){this.__onRequestResponse(e,n,t)}r||(r=o.__localizationCache.ajax=document.createElement("iron-ajax")),(a=o.__localizationCache.requests[e])?a.completes.then(i.bind(this),this.__onRequestError.bind(this)):(r.url=e,(a=r.generateRequest()).completes.then(i.bind(this),this.__onRequestError.bind(this)),o.__localizationCache.requests[e]=a)},__computeLocalize:function(e,n,t){var o=this.constructor.prototype;return this.__checkLocalizationCache(o),o.__localizationCache||(o.__localizationCache={requests:{},messages:{},ajax:null}),o.__localizationCache.messages={},function(){var a=arguments[0];if(a&&n&&e&&n[e]){var r=n[e][a];if(!r)return this.useKeyIfMissing?a:"";var i=a+r,s=o.__localizationCache.messages[i];s||(s=new H.a(r,e,t),o.__localizationCache.messages[i]=s);for(var l={},p=1;p=0?"past":"future";n=Math.abs(n);for(var o=0;o\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'])}})),J=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),W(n,null,[{key:"template",get:function(){return Object(r.a)(Y)}},{key:"properties",get:function(){return{hass:Object,title:String,description:String,datetime:String,icon:{type:String,value:"hass:help-circle"},iconTitle:String,iconClass:String}}}]),n}();customElements.define("hassio-card-content",J);var G=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div{\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n ha-markdown img {\n max-width: 100%;\n }\n \n \n\n \n
    \n
    \n \n \n
    \n \n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'])}})),X=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),G(n,[{key:"computeIsRunning",value:function(e){return e&&"started"===e.state}},{key:"computeUpdateAvailable",value:function(e){return e&&!e.detached&&e.version&&e.version!==e.last_version}},{key:"pathWebui",value:function(e){return e&&e.replace("[HOST]",document.location.hostname)}},{key:"computeShowWebUI",value:function(e,n){return e&&n}},{key:"computeStartOnBoot",value:function(e){return"auto"===e}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/changelog").then(function(e){return e},function(){return"Error getting changelog"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Changelog",content:n})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var n="hassio/addons/"+this.addonSlug+"/uninstall",t={path:n};this.hass.callApi("post",n).then(function(e){t.success=!0,t.response=e},function(e){t.success=!1,t.response=e}).then(function(){e.fire("hass-api-called",t)})}}}],[{key:"template",get:function(){return Object(r.a)(V)}},{key:"properties",get:function(){return{hass:Object,addon:Object,addonSlug:String,isRunning:{type:Boolean,computed:"computeIsRunning(addon)"}}}}]),n}();customElements.define("hassio-addon-info",X);var K=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card {\n display: block;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),Z=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),K(n,[{key:"addonSlugChanged",value:function(e){var n=this;this.hass?this.refresh():setTimeout(function(){n.addonChanged(e)},0)}},{key:"refresh",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/logs").then(function(n){e.log=n})}}],[{key:"template",get:function(){return Object(r.a)(Q)}},{key:"properties",get:function(){return{hass:Object,addonSlug:{type:String,observer:"addonSlugChanged"},log:String}}}]),n}();customElements.define("hassio-addon-logs",Z),t(24);var ee=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),te=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),ee(n,[{key:"addonChanged",value:function(e){if(e){var n=e.network||{},t=Object.keys(n).map(function(e){return{container:e,host:n[e]}});this.config=t.sort(function(e,n){return e.host-n.host})}}},{key:"saveTapped",value:function(){var e=this;this.error=null;var n={};this.config.forEach(function(e){n[e.container]=parseInt(e.host)});var t="hassio/addons/"+this.addonSlug+"/options";this.hass.callApi("post",t,{network:n}).then(function(){e.fire("hass-api-called",{success:!0,path:t})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(ne)}},{key:"properties",get:function(){return{hass:Object,addonSlug:String,config:Object,addon:{type:Object,observer:"addonChanged"},error:String,resetData:{type:Object,value:{network:null}}}}}]),n}();customElements.define("hassio-addon-network",te);var oe=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n width: 600px;\n }\n hassio-addon-logs {\n min-width: 600px;\n }\n @media only screen and (max-width: 600px) {\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config,\n hassio-addon-logs {\n max-width: 100%;\n }\n }\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'])}})),re=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),oe(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"apiCalled",value:function(e){var n=e.detail.path;n&&("uninstall"===n.substr(n.lastIndexOf("/")+1)?this.backTapped():this.routeDataChanged(this.routeData))}},{key:"routeDataChanged",value:function(e){var n=this;this.routeMatches&&e&&e.slug&&this.hass.callApi("get","hassio/addons/"+e.slug+"/info").then(function(e){n.addon=e.data},function(){n.addon=null})}},{key:"backTapped",value:function(){history.back()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(ae)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,route:Object,routeData:{type:Object,observer:"routeDataChanged"},routeMatches:Boolean,addon:Object,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-addon-view",re);var ie=function(){function e(e,n){for(var t=0;t1&&void 0!==arguments[1]&&arguments[1]?history.replaceState(null,null,e):history.pushState(null,null,e),this.fire("location-changed")}}]),t}()}),ce=function(){function e(e,n){for(var t=0;t\n paper-card {\n cursor: pointer;\n }\n a.repo {\n display: block;\n color: var(--primary-text-color);\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),ue=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),ce(n,[{key:"sortAddons",value:function(e,n){return e.name\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'])}})),be=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),he(n,[{key:"reposChanged",value:function(e){this.repoList=e.filter(function(e){return"core"!==e.slug&&"local"!==e.slug}),this.repoUrl=""}},{key:"sortRepos",value:function(e,n){return e.name\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n'])}})),ve=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),me(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.loadData()}},{key:"apiCalled",value:function(e){e.detail.success&&this.loadData()}},{key:"sortRepos",value:function(e,n){return"local"===e.slug?-1:"local"===n.slug?1:"core"===e.slug?-1:"core"===n.slug?1:e.name\n paper-card {\n cursor: pointer;\n }\n \n
    \n
    Add-ons
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Add-ons
    \n \n \n
    \n'])}})),ke=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),ge(n,[{key:"sortAddons",value:function(e,n){return e.name\n paper-card {\n display: block;\n height: 100%;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),xe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),_e(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Oe(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}}],[{key:"template",get:function(){return Object(r.a)(je)}},{key:"properties",get:function(){return{hass:Object,hassInfo:Object,error:String}}}]),n}();customElements.define("hassio-hass-update",xe);var Se=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 0 auto;\n }\n \n
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n
    \n'])}})),Ce=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),Se(n,null,[{key:"template",get:function(){return Object(r.a)(Pe)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hassInfo:Object}}}]),n}();customElements.define("hassio-dashboard",Ce),t(61);var Ee=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'])}})),Ae=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),Ee(n,[{key:"_snapshotSlugChanged",value:function(e){var n=this;e&&"update"!==e&&this.hass.callApi("get","hassio/snapshots/"+e+"/info").then(function(e){e.data.folders=n._computeFolders(e.data.folders),e.data.addons=n._computeAddons(e.data.addons),n.snapshot=e.data,n.$.dialog.open()},function(){n.snapshot=null})}},{key:"_computeFolders",value:function(e){var n=[];return e.includes("homeassistant")&&n.push({slug:"homeassistant",name:"Home Assistant configuration",checked:!0}),e.includes("ssl")&&n.push({slug:"ssl",name:"SSL",checked:!0}),e.includes("share")&&n.push({slug:"share",name:"Share",checked:!0}),e.includes("addons/local")&&n.push({slug:"addons/local",name:"Local add-ons",checked:!0}),n}},{key:"_computeAddons",value:function(e){return e.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})}},{key:"_isFullSnapshot",value:function(e){return"full"===e}},{key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),t=this.snapshot.folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),o={homeassistant:this.restoreHass,addons:n,folders:t};this.snapshot.protected&&(o.password=this.snapshotPassword),this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/partial",o).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.protected?{password:this.snapshotPassword}:null;this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/full",n).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/remove").then(function(){e.$.dialog.close(),e.snapshotDeleted=!0},function(n){e.error=n.body.message})}},{key:"_computeDownloadUrl",value:function(e){return"/api/hassio/snapshots/"+e+"/download?api_password="+encodeURIComponent(this.hass.connection.options.authToken)}},{key:"_computeDownloadName",value:function(e){return"Hass_io_"+this._computeName(e).replace(/[^a-z0-9]+/gi,"_")+".tar"}},{key:"_computeName",value:function(e){return e.name||e.slug}},{key:"_computeType",value:function(e){return"full"===e?"Full snapshot":"Partial snapshot"}},{key:"_computeSize",value:function(e){return Math.ceil(10*e)/10+" MB"}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'])}})),Ie=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),Re(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e._apiCalled(n)}),this._updateSnapshots()}},{key:"_apiCalled",value:function(e){e.detail.success&&this._updateSnapshots()}},{key:"_updateSnapshots",value:function(){var e=this;this.hass.callApi("get","hassio/snapshots").then(function(n){e.snapshots=n.data.snapshots},function(n){e.error=n.message})}},{key:"_createSnapshot",value:function(){var e=this;if(this.error="",!this.snapshotHasPassword||this.snapshotPassword.length){this.creatingSnapshot=!0;var n=this.snapshotName;n.length||(n=(new Date).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric"}));var t=void 0,o=void 0;if("full"===this.snapshotType)t={name:n},o="hassio/snapshots/new/full";else{var a=this.addonList.filter(function(e){return e.checked}).map(function(e){return e.slug});t={name:n,folders:this.folderList.filter(function(e){return e.checked}).map(function(e){return e.slug}),addons:a},o="hassio/snapshots/new/partial"}this.snapshotHasPassword&&(t.password=this.snapshotPassword),this.hass.callApi("post",o,t).then(function(){e.creatingSnapshot=!1,e.fire("hass-api-called",{success:!0})},function(n){e.creatingSnapshot=!1,e.error=n.message})}else this.error="Please enter a password."}},{key:"_installedAddonsChanged",value:function(e){this.addonList=e.map(function(e){return{slug:e.slug,name:e.name,checked:!0}})}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n paper-button.info {\n max-width: 50%;\n }\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'])}})),He=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),qe(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===ze(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"computeRebootAvailable",value:function(e){return e.features&&e.features.includes("reboot")}},{key:"computeShutdownAvailable",value:function(e){return e.features&&e.features.includes("shutdown")}},{key:"_showHardware",value:function(){var e=this;this.hass.callApi("get","hassio/hardware/info").then(function(n){return e._objectToMarkdown(n.data)},function(){return"Error getting hardware info"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Hardware",content:n})})}},{key:"_objectToMarkdown",value:function(e){var n=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o="";return Object.keys(e).forEach(function(a){"object"!==ze(e[a])?o+=t+"- "+a+": "+e[a]+"\n":(o+=t+"- "+a+":\n",Array.isArray(e[a])?e[a].length&&(o+=t+" - "+e[a].join("\n"+t+" - ")+"\n"):o+=n._objectToMarkdown(e[a]," "+t))}),o}}],[{key:"template",get:function(){return Object(r.a)(Le)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String}}}]),n}();customElements.define("hassio-host-info",He);var Me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'])}})),Fe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),Ue(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Me(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"_equals",value:function(e,n){return e===n}},{key:"_joinBeta",value:function(){var e=this;if(confirm("WARNING:\nBeta releases are for testers and early adopters and can contain unstable code changes. Make sure you have backups of your data before you activate this feature.\n\nThis inludes beta releases for:\n- Home Assistant (Release Candidates)\n- Hass.io supervisor\n- Host system")){var n="hassio/supervisor/options",t={channel:"beta"},o={method:"post",path:n,data:t};this.hass.callApi("post",n,t).then(function(e){o.success=!0,o.response=e},function(e){o.success=!1,o.response=e}).then(function(){e.fire("hass-api-called",o)})}}}],[{key:"template",get:function(){return Object(r.a)(Be)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String,leaveBeta:{type:Object,value:{channel:"stable"}}}}}]),n}();customElements.define("hassio-supervisor-info",Fe);var Ne=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: block;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),We=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),Ne(n,[{key:"ready",value:function(){(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.loadData()}},{key:"loadData",value:function(){var e=this;this.hass.callApi("get","hassio/supervisor/logs").then(function(n){e.log=n},function(){e.log="Error fetching logs"})}},{key:"refreshTapped",value:function(){this.loadData()}}],[{key:"template",get:function(){return Object(r.a)($e)}},{key:"properties",get:function(){return{hass:Object,log:String}}}]),n}();customElements.define("hassio-supervisor-log",We);var Ye=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 4px;\n }\n .title {\n margin-top: 24px;\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'])}})),Ge=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),Ye(n,null,[{key:"template",get:function(){return Object(r.a)(Je)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hostInfo:Object}}}]),n}();customElements.define("hassio-system",Ge);var Ve=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #FFF;\n text-transform: uppercase;\n }\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'])}})),Ke=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),Ve(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"handlePageSelected",value:function(e){var n=e.detail.item.getAttribute("page-name");n!==this.page&&this.navigate("/hassio/"+n)}},{key:"equals",value:function(e,n){return e===n}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(Xe)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,page:String,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,snapshotSlug:String,snapshotDeleted:Boolean,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-pages-with-tabs",Ke);var Qe=function(){function e(e,n){for(var t=0;t\n \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n\n \n'])}})),nn=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),Qe(n,[{key:"ready",value:function(){var e=this;Ze(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),function(e,n,t){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var a=n.default_theme;("default"===t||t&&n.themes[t])&&(a=t);var r=Object.assign({},e._themes);if("default"!==a){var i=n.themes[a];Object.keys(i).forEach(function(n){var t="--"+n;e._themes[t]="",r[t]=i[n]})}if(e.updateStyles?e.updateStyles(r):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,r),o){var s=document.querySelector("meta[name=theme-color]");if(s){s.hasAttribute("default-content")||s.setAttribute("default-content",s.getAttribute("content"));var l=r["--primary-color"]||s.getAttribute("default-content");s.setAttribute("content",l)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"connectedCallback",value:function(){Ze(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var n=this;if(e.detail.success){var t=1;!function e(){n.$.data.refresh().catch(function(){t+=1,setTimeout(e,1e3*Math.min(t,5))})}()}}},{key:"computeIsLoaded",value:function(e,n,t){return null!==e&&null!==n&&null!==t}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0)}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}],[{key:"template",get:function(){return Object(r.a)(en)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:{type:Object,value:{prefix:"/hassio",path:"/dashboard",__queryParams:{}},observer:"routeChanged"},routeData:Object,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo)"}}}}]),n}();customElements.define("hassio-main",nn)},25:function(e,n){var t=document.createElement("template");t.setAttribute("style","display: none;"),t.innerHTML='\n \n',document.head.appendChild(t.content)}}]); \ No newline at end of file diff --git a/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js.gz b/hassio/api/panel/chunk.42328fc4c4b31ed4a23b.js.gz deleted file mode 100644 index 5979a8fafc0782a44e67466f167b9402ff655c54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18766 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 diff --git a/hassio/api/panel/chunk.4ac8b99259327a51f355.js b/hassio/api/panel/chunk.4ac8b99259327a51f355.js deleted file mode 100644 index 8be0265dc..000000000 --- a/hassio/api/panel/chunk.4ac8b99259327a51f355.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],[,function(e,t,n){"use strict";n.r(t),n(52);var C=function(){function e(e,t){for(var n=0;nn~?vQ#o-o+N!4~qom<;W;y))Ik@pYdw1Jv-j;PWG+ygf?(<-~G0vuK%6U7utW+~>U9TEOzI*w# zXqFWR zd3kxKyaM)s+WmJUZ}7EPZOx#poc!!;n5)O8Y`Z_6+T>W95yxiUG8q;o@%Gv7;E3y9EEmvn}X4tBAQ@3^dv^H>om&+QMymq%6x?Vk= zZ#QlI@M&cpOx14Gy=jMovZ<@{63T8&d%pR4KXASB;2m@1o_4qwcjRsOy1W~{8ycsq zHf>SOO?~IIuG=n~`q8P(qw^c|`P4M<>L4$ws&1Wmv06EWGhY>(jZ@(N{=$K~8@9`G zHTEs3XJ^%RwR$%mw{JW5R~qSW#U*2T>^xN>&MD8Kh|?W5fHkni$z)8560v1xBCj=TRi>R zB8K0;u?x#SeFZTsH?6_OaPZ^L*LhvFT*JLINB$^=~*>7AGaiD{a|s#*1EWi^}dG^4~nHS6E;=6E{D!DE+rv;C8TSpH^nz4Ho4F zEKe7}d}S_C<{DL2uz2#@^>qB*)u~8_F&Lv8t(}{}Y>F2)3WykJ0WXxq3 zFMhY@TgLuaw{4ky-knSna7^@QrsIhYXQY!UH+~;{_;~f zn)qf@252x7cwqJvqWqFe`_uQViTm8PC{w4BQ`tl=%So2duZSu_cAU*Rg4 z7pV+?lNs343GcxnkT8}O*$0<}h#c&Kasp+Ei9hp4@Q<&Rc6cRB4)JG_sB}ina}b`+ zoQ#f1JEcJ7+V55ZUYyw{Pt1IJCKn6oz|3CGr}$28^{tVy;|HD&K?^}W`4m$-7N}(% zcMN}UX{K>0~W4v6N-~V9wbjIQh26C04UY1voJCHR~xf zjZvH<1l^XGDYMP92!Y$RfFS1HDDFs9zuZz#QCWW zexPCvQwSyK0w}P!^R^7&C$|P1V@pUWC4uA;)WauGn?A;a`GO+F1-Q)ekl-mk<(d(7 zvR7-5(q zN`EgOuWHt+-W*ESwI<3#q>pVL9I!ZZWK&!Er%|^(vSFJ_1@5yn* zu`*7JOJnZvOKy2wJQMaiz&&E)@ll~9c>#CnSRwl_>K5iD5)NaNhh4>%Eq^2^9ntR? z6Zk4KhcqV)L^3;s6Ols^sWf)mPGZe|PHR%&D$e*8cP*N+%VQ>g=Ez{5>bl`TFfARmQ5@sVn#7L z4Iw{R75C;GKVC{Sh;xC~;-pX5smne&bdID$V1SS@GfbqPr&Fm(Y{;ok=!djJWehvR ze`uJR$9;y^X$Vr5dHBjzD zvC2C!(zC4S?#GN(%jr~=eQN=0bI$T1U2rDp zl*Qznc1+hYA$1Gv8W9sLW0OmW5wvsyY}&J3M>5N5=@RT#Gpd*(f$^eevd2gZG2@yb zmOL}zpZ1%tes7%y{W#iGD+3N~gX0*+Nf6|S{RZQ4#N%o#+5K7_YoP{=0g z_&*K-lavD_$W$g@0b<5LUKkGmE(nMY9e|-{9>p;fJFD$1%P}nN-Gvbi&a<$!L~vvL_M0!q+wX zr*zXGX5=)1l3<+3?5`fqC9s>_nE*fH-Xrsa{cQ0;K4E+~{n+vGJ8%D8Woe29KUSJ* dkuS^DV%YFQHopeByPF&L@?YUq)gGc3003x;J`Vr@ diff --git a/hassio/api/panel/entrypoint.js b/hassio/api/panel/entrypoint.js index 593c234b8..22978d629 100644 --- a/hassio/api/panel/entrypoint.js +++ b/hassio/api/panel/entrypoint.js @@ -1 +1 @@ -!function(e){function n(n){for(var t,o,a=n[0],i=n[1],c=0,f=[];cm(2*a=c#FXAD^?_9rgcvE{_I%RYO^mvvhI?}i^Hu^5@#4*F9(0ROL z3YTQZyogyX^4-?|EO`U^-tD)3Hls$!-0zsp&2BoadF#7<6gCK@!>Ne3L93f6JyG;i z@fAwPTWg$gk1g=M>^>dzpVqWs-6Jn$(?p6nI-N$4yPZ(@p@W8UIxW%1ZGARRYu@cu z?IIe{e(+ixduGLPmBsz`IWQ9fQ+4EWy`vVKw|Wv}4*#~sx^5ewR)iyQRGDT?c9XEv z&+ORu+Y<-^XmHS;vCOiIY%pNnh@1Fw)*BAuI^DsR#xyb~Y!16E`W4>@;b?G>>M?&V zPcdd_IvDO_A>c5<6g{X8qGxRy4IW1|BFD|Hr`sz9Lee2JB`Q<;2hfh+gZt1x5W8O< zKg;_+H&;*B1vOr zxW+npjyK*rXI0@Hn$SjiznL9(g{OEVHLH=D&eNed|Ney<6Q?NsPWPGP1ra>snTYT-Eb=CFOFpE(u#^q}{r zjPS1=>Cy2azoo!fKaVN66bD-=ItGGgbcQit+66V zjgghmzG+z5fV5`|D9wb-U`8gjR1H-8Zyk}DnUM^S<&02dh#J%j!xXphkB80) z$sCT5NYQ>E>vyB7N!<5u#9Jduwk_!D*S%`0$RlJV$BF(tw4cTV8vY;vzoo!g#j7hm zF^%KnXt)U?eR?{LoC<2C;XG)DYsb>)THSjqiw1_K*U0|UE@q)vt{-gK7kvGZM)Ktg zbibR*H%NA@MdO2>QG{DOIR#h&xX2}Y!ET%W!1^La910&pAzC5G6#Nu zqLt;h-#Vk)x6YoP^6=KkVSw=hFGM)N#;wpuR>`|Yl@N`OLC}p)((BhqN8vR(H>TQ} z$nZ|Yw2$)F1UdN-X!qf-<@-vu4s1lZ+k?LD<7?vOjzbhv7M3~Poi4l4-Jw?#O4*MP X$+)C%0#iznDCqisy5}*Eo(BK`z6lLa literal 1052 zcmV+%1mpW3iwFP!000021C3Q*Z`(Ey|0)h21QF&K$+8?<9#M2dUxscSu)cXlK~txg ztwL%PRWES#-FKAi*a=c#FVgXN|L=Flo2oO)YinYl$1^=KvB8sd@ptJao>?Y^*(6)0 z@t1Cy5(%rsX1i8DOJ0My_xrV)PN@}gqqfX#>^6!j-gNCg4hK}F16L&LVAW5wnP~cH z_Z5`qjkDhR#|HRbwx15>PiGr&{*fzL*Rf`vMo|nKzZDukbg!qI6M-d;x-hIRZc=u- zERKD@J}E&^8Ul1@UFO(@wwN%l#Z7YI^_GLUE_d){u#C(Lw}I^%<4SIX@H7NS%~(Ib znPJXQw=l?KBj7N>500oDbiVp&NtohZKY;DLNM{MN z+^8s093|d+@AR(o=)zc|fDD%u6qEo4&7^K@Qi z^BnSwu(Tj@3Cl&fOm;9|?6Tbg(nU$wtRVAQHd|I|uI9Teg>o)u*^aObFQi)TR;yXQ z%4T;mPpd4?37Z#Wd8evMmOHtqvaFOcUn~`2c|p`FtFk+l=gX?fW~)_tmn=z-#hw!W zwIw|UKGe4pnCs`U1efOED8e_AH&joL(?m1&k_g4LE0=2vlul zDNI+_Ow}OW*+VyaeGQ)h;3K@OFgQFU=o2A?;USE71i{m4b5DwqLBo7U5gvx9E>!4F z7bq>{RZlK*XDGPP4uAX`oeMTF?Vys%7j2mf@?dLfy| z6%uRO4`BUnbva4;{*8Pq)RIjDru=oU>oQiTGJ@j-e;&rqU;!U+x87e`Jw-`2y|l zw(M#IJNBaPf}PQVd1DPg6al~Jyt_irdF2Erva5Yxym9%wnXmx34u~X}Ff+lOeNm8S zmH)MVgF>*;2y!bMeTy=!wn#R&VTSF?jpp~x9wu1H*4Ds>ej=M;aO3VeXj9q)Kftb$ z>f3LvHO*VRr>9MLYvi!N_znePTwvo-7zC^2ZLJl=<6{tP /*! For license information please see app.js.LICENSE */ -!function(e){function t(t){for(var n,o,r=t[0],a=t[1],s=0,c=[];s1?n-1:0),o=1;o=0}function M(e){var t=e.indexOf(".");return-1===t?e:e.slice(0,t)}function B(e,t){return 0===e.indexOf(t+".")}function H(e,t){return 0===t.indexOf(e+".")}function q(e,t,n){return t+n.slice(e.length)}function $(e){if(Array.isArray(e)){for(var t=[],n=0;n1){for(var a=0;a=0){if(!ee[t])throw new Error("invalid async handle: "+e);ee[t]=null}}},se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},le=function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0},ce=function(){function e(e,t){for(var n=0;nc.source.length&&"property"==l.kind&&!l.isCompound&&s.__isPropertyEffectsClient&&s.__dataHasAccessor&&s.__dataHasAccessor[l.target]){var p=n[t];t=q(c.source,l.target,t),s._setPendingPropertyOrPath(t,p,!1,!0)&&e._enqueueClient(s)}else!function(e,t,n,i,o){if(o=function(e,t,n,i){if(n.isCompound){var o=e.__dataCompoundStorage[n.target];o[i.compoundIndex]=t,t=o.join("")}return"attribute"!==n.kind&&("textContent"!==n.target&&("value"!==n.target||"input"!==e.localName&&"textarea"!==e.localName)||(t=void 0==t?"":t)),t}(t,o,n,i),b&&(o=b(o,n.target,n.kind,t)),"attribute"==n.kind)e._valueToNodeAttribute(t,o,n.target);else{var r=n.target;t.__isPropertyEffectsClient&&t.__dataHasAccessor&&t.__dataHasAccessor[r]?t[Le.READ_ONLY]&&t[Le.READ_ONLY][r]||t._setPendingProperty(r,o)&&e._enqueueClient(t):e._setUnmanagedPropertyToNode(t,r,o)}}(e,s,l,c,o.evaluator._evaluateBinding(e,c,t,n,i,r))}function Ze(e,t){if(t.isCompound){for(var n=e.__dataCompoundStorage||(e.__dataCompoundStorage={}),i=t.parts,o=new Array(i.length),r=0;r="0"&&i<="9"&&(i="#"),i){case"'":case'"':n.value=t.slice(1,-1),n.literal=!0;break;case"#":n.value=Number(t),n.literal=!0}return n.literal||(n.rootProperty=M(t),n.structured=F(t),n.structured&&(n.wildcard=".*"==t.slice(-2),n.wildcard&&(n.name=t.slice(0,-2)))),n}function ot(e,t,n,i){var o=n+".splices";e.notifyPath(o,{indexSplices:i}),e.notifyPath(n+".length",t.length),e.__data[o]={indexSplices:null}}function rt(e,t,n,i,o,r){ot(e,t,n,[{index:i,addedCount:o,removed:r,object:t,type:"splice"}])}var at=k(function(e){var t=Ee(_e(e)),n=function(e){function n(){!function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return e.__isPropertyEffectsClient=!0,e.__dataCounter=0,e.__dataClientsReady,e.__dataPendingClients,e.__dataToNotify,e.__dataLinkedPaths,e.__dataHasPaths,e.__dataCompoundStorage,e.__dataHost,e.__dataTemp,e.__dataClientsInitialized,e.__data,e.__dataPending,e.__dataOld,e.__computeEffects,e.__reflectEffects,e.__notifyEffects,e.__propagateEffects,e.__observeEffects,e.__readOnly,e.__templateInfo,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),Te(n,[{key:"_initializeProperties",value:function(){Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_initializeProperties",this).call(this),st.registerHost(this),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}},{key:"_initializeProtoProperties",value:function(e){this.__data=Object.create(e),this.__dataPending=Object.create(e),this.__dataOld={}}},{key:"_initializeInstanceProperties",value:function(e){var t=this[Le.READ_ONLY];for(var n in e)t&&t[n]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[n]=this.__dataPending[n]=e[n])}},{key:"_addPropertyEffect",value:function(e,t,n){this._createPropertyAccessor(e,t==Le.READ_ONLY);var i=Ne(this,t)[e];i||(i=this[t][e]=[]),i.push(n)}},{key:"_removePropertyEffect",value:function(e,t,n){var i=Ne(this,t)[e],o=i.indexOf(n);o>=0&&i.splice(o,1)}},{key:"_hasPropertyEffect",value:function(e,t){var n=this[t];return Boolean(n&&n[e])}},{key:"_hasReadOnlyEffect",value:function(e){return this._hasPropertyEffect(e,Le.READ_ONLY)}},{key:"_hasNotifyEffect",value:function(e){return this._hasPropertyEffect(e,Le.NOTIFY)}},{key:"_hasReflectEffect",value:function(e){return this._hasPropertyEffect(e,Le.REFLECT)}},{key:"_hasComputedEffect",value:function(e){return this._hasPropertyEffect(e,Le.COMPUTE)}},{key:"_setPendingPropertyOrPath",value:function(e,t,i,o){if(o||M(Array.isArray(e)?e[0]:e)!==e){if(!o){var r=V(this,e);if(!(e=K(this,e,t))||!Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_shouldPropertyChange",this).call(this,e,t,r))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(e,t,i))return function(e,t,n){var i=e.__dataLinkedPaths;if(i){var o=void 0;for(var r in i){var a=i[r];H(r,t)?(o=q(r,a,t),e._setPendingPropertyOrPath(o,n,!0,!0)):H(a,t)&&(o=q(a,r,t),e._setPendingPropertyOrPath(o,n,!0,!0))}}}(this,e,t),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[e])return this._setPendingProperty(e,t,i);this[e]=t}return!1}},{key:"_setUnmanagedPropertyToNode",value:function(e,t,n){n===e[t]&&"object"!=(void 0===n?"undefined":je(n))||(e[t]=n)}},{key:"_setPendingProperty",value:function(e,t,n){var i=this.__dataHasPaths&&F(e),o=i?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(e,t,o[e])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),e in this.__dataOld||(this.__dataOld[e]=this.__data[e]),i?this.__dataTemp[e]=t:this.__data[e]=t,this.__dataPending[e]=t,(i||this[Le.NOTIFY]&&this[Le.NOTIFY][e])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[e]=n),!0)}},{key:"_setProperty",value:function(e,t){this._setPendingProperty(e,t,!0)&&this._invalidateProperties()}},{key:"_invalidateProperties",value:function(){this.__dataReady&&this._flushProperties()}},{key:"_enqueueClient",value:function(e){this.__dataPendingClients=this.__dataPendingClients||[],e!==this&&this.__dataPendingClients.push(e)}},{key:"_flushProperties",value:function(){this.__dataCounter++,Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_flushProperties",this).call(this),this.__dataCounter--}},{key:"_flushClients",value:function(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}},{key:"__enableOrFlushClients",value:function(){var e=this.__dataPendingClients;if(e){this.__dataPendingClients=null;for(var t=0;t1?o-1:0),a=1;a3?i-3:0),r=3;r1?i-1:0),r=1;ri&&n.push({literal:e.slice(i,o.index)});var r=o[1][0],a=Boolean(o[2]),s=o[3].trim(),l=!1,c="",p=-1;"{"==r&&(p=s.indexOf("::"))>0&&(c=s.substring(p+2),s=s.substring(0,p),l=!0);var u=nt(s),d=[];if(u){for(var h=u.args,f=u.methodName,m=0;m2&&void 0!==arguments[2]?arguments[2]:"",o="";if(t.cssText||t.rules){var r=t.rules;if(r&&!function(e){var t=r[0];return Boolean(t)&&Boolean(t.selector)&&0===t.selector.indexOf(St)}())for(var a,s=0,l=r.length;s1&&void 0!==arguments[1]?arguments[1]:"",n=Dt(e);return this.transformRules(n,t),e.textContent=Nt(n),n}},{key:"transformCustomStyle",value:function(e){var t=this,n=Dt(e);return Ft(n,function(e){":root"===e.selector&&(e.selector="html"),t.transformRule(e)}),e.textContent=Nt(n),n}},{key:"transformRules",value:function(e,t){var n=this;this._currentElement=t,Ft(e,function(e){n.transformRule(e)}),this._currentElement=null}},{key:"transformRule",value:function(e){e.cssText=this.transformCssText(e.parsedCssText),":root"===e.selector&&(e.selector=":host > *")}},{key:"transformCssText",value:function(e){var t=this;return e=e.replace(Tt,function(e,n,i,o){return t._produceCssProperties(e,n,i,o)}),this._consumeCssProperties(e)}},{key:"_getInitialValueForProperty",value:function(e){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(e)}},{key:"_consumeCssProperties",value:function(e){for(var t=null;t=At.exec(e);){var n=t[0],i=t[1],o=t.index,r=o+n.indexOf("@apply"),a=o+n.length,s=e.slice(0,r),l=e.slice(a),c=this._cssTextToMap(s),p=this._atApplyToCssProperties(i,c);e=""+s+p+l,At.lastIndex=o+p.length}return e}},{key:"_atApplyToCssProperties",value:function(e,t){e=e.replace($t,"");var n=[],i=this._map.get(e);if(i||(this._map.set(e,{}),i=this._map.get(e)),i){this._currentElement&&(i.dependants[this._currentElement]=!0);var o=void 0,r=void 0,a=void 0,s=i.properties;for(o in s)r=[o,": var(",e,"_-_",o],(a=t&&t[o])&&r.push(",",a.replace(Vt,"")),r.push(")"),Vt.test(s[o])&&r.push(" !important"),n.push(r.join(""))}return n.join("; ")}},{key:"_replaceInitialOrInherit",value:function(e,t){var n=Ut.exec(t);return n&&(t=n[1]?this._getInitialValueForProperty(e):"apply-shim-inherit"),t}},{key:"_cssTextToMap",value:function(e){for(var t,n,i=e.split(";"),o=void 0,r=void 0,a={},s=0;s1&&(o=n[0].trim(),r=this._replaceInitialOrInherit(o,n.slice(1).join(":")),a[o]=r);return a}},{key:"_invalidateMixinEntry",value:function(e){if(Wt)for(var t in e.dependants)t!==this._currentElement&&Wt(t)}},{key:"_produceCssProperties",value:function(e,t,n,i){var o=this;if(n&&function e(t,n){var i=t.indexOf("var(");if(-1===i)return n(t,"","","");var o=function(e,t){for(var n=0,i=t,o=e.length;i-1?n=t:(i=t,n=e.getAttribute&&e.getAttribute("is")||""):(n=e.is,i=e.extends),{is:n,typeExtension:i}}(e).is,n=Xt[t];if(n&&!nn(n)){(function(e){return!nn(e)&&e[Qt]===e[Jt]})(n)||(this.prepareTemplate(n,t),function(e){e[Qt]=e[Jt],e._validating||(e._validating=!0,en.then(function(){e[Gt]=e[Jt],e._validating=!1}))}(n));var i=e.shadowRoot;if(i){var o=i.querySelector("style");o&&(o.__cssRules=n._styleAst,o.textContent=Nt(n._styleAst))}}}},{key:"styleDocument",value:function(e){this.ensure(),this.styleSubtree(document.body,e)}}]),e}();if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){var vn=new yn,bn=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate:function(e,t,n){vn.flushCustomStyles(),vn.prepareTemplate(e,t)},styleSubtree:function(e,t){vn.flushCustomStyles(),vn.styleSubtree(e,t)},styleElement:function(e){vn.flushCustomStyles(),vn.styleElement(e)},styleDocument:function(e){vn.flushCustomStyles(),vn.styleDocument(e)},getComputedStyleValue:function(e,t){return Bt(e,t)},flushCustomStyles:function(){vn.flushCustomStyles()},nativeCss:gt,nativeShadow:yt},bn&&(window.ShadyCSS.CustomStyleInterface=bn)}window.ShadyCSS.ApplyShim=mn;var gn=function(){function e(e,t){for(var n=0;n-1}var Tn=!1;function An(e){if(!En(e)&&"touchend"!==e)return wn&&Tn&&g?{passive:!0}:void 0}!function(){try{var e=Object.defineProperty({},"passive",{get:function(){Tn=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}}();var jn=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),In=function(){};In.prototype.reset,In.prototype.mousedown,In.prototype.mousemove,In.prototype.mouseup,In.prototype.touchstart,In.prototype.touchmove,In.prototype.touchend,In.prototype.click;var Rn=[],Ln={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0};function zn(e){var t=Array.prototype.slice.call(e.labels||[]);if(!t.length){t=[];var n=e.getRootNode();if(e.id)for(var i=n.querySelectorAll("label[for = "+e.id+"]"),o=0;o-1;if(o[r]===Mn.mouse.target)return}if(i)return;e.preventDefault(),e.stopPropagation()}};function Dn(e){for(var t,n=jn?["click"]:Cn,i=0;i0?t[0]:e.target}return e.target}function Kn(e){var t=void 0,n=e.type,i=e.currentTarget[kn];if(i){var o=i[n];if(o){if(!e[xn]&&(e[xn]={},"touch"===n.slice(0,5))){var r=(e=e).changedTouches[0];if("touchstart"===n&&1===e.touches.length&&(Mn.touch.id=r.identifier),Mn.touch.id!==r.identifier)return;wn||"touchstart"!==n&&"touchmove"!==n||function(e){var t=e.changedTouches[0],n=e.type;if("touchstart"===n)Mn.touch.x=t.clientX,Mn.touch.y=t.clientY,Mn.touch.scrollDecided=!1;else if("touchmove"===n){if(Mn.touch.scrollDecided)return;Mn.touch.scrollDecided=!0;var i=function(e){var t="auto",n=e.composedPath&&e.composedPath();if(n)for(var i,o=0;or:"pan-y"===i&&(o=r>a)),o?e.preventDefault():o("track")}}(e)}if(!(t=e[xn]).skip){for(var a,s=0;s<$n.length;s++)o[(a=$n[s]).name]&&!t[a.name]&&a.flow&&a.flow.start.indexOf(e.type)>-1&&a.reset&&a.reset();for(var l,c=0;c<$n.length;c++)o[(l=$n[c]).name]&&!t[l.name]&&(t[l.name]=!0,l[n](e))}}}}function Wn(e,t,n){return!!qn[t]&&(function(e,t,n){var i=qn[t],o=i.deps,r=i.name,a=e[kn];a||(e[kn]=a={});for(var s,l,c=0;c2&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,Hn(this.info)},hasMovedEnough:function(e,t){if(this.info.prevent)return!1;if(this.info.started)return!0;var n=Math.abs(this.info.x-e),i=Math.abs(this.info.y-t);return n>=5||i>=5},mousedown:function(e){if(Fn(e)){var t=Vn(e),n=this,i=function(e){var i=e.clientX,o=e.clientY;n.hasMovedEnough(i,o)&&(n.info.state=n.info.started?"mouseup"===e.type?"end":"track":"start","start"===n.info.state&&Jn("tap"),n.info.addMove({x:i,y:o}),Fn(e)||(n.info.state="end",Hn(n.info)),n._fire(t,e),n.info.started=!0)};Bn(this.info,i,function(e){n.info.started&&i(e),Hn(n.info)}),this.info.x=e.clientX,this.info.y=e.clientY}},touchstart:function(e){var t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove:function(e){var t=Vn(e),n=e.changedTouches[0],i=n.clientX,o=n.clientY;this.hasMovedEnough(i,o)&&("start"===this.info.state&&Jn("tap"),this.info.addMove({x:i,y:o}),this._fire(t,n),this.info.state="track",this.info.started=!0)},touchend:function(e){var t=Vn(e),n=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:n.clientX,y:n.clientY}),this._fire(t,n,e))},_fire:function(e,t){var n=this.info.moves[this.info.moves.length-2],i=this.info.moves[this.info.moves.length-1],o=i.x-this.info.x,r=i.y-this.info.y,a=void 0,s=0;n&&(a=i.x-n.x,s=i.y-n.y),Gn(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,dy:r,ddx:a,ddy:s,sourceEvent:t,hover:function(){return Un(t.clientX,t.clientY)}})}}),Zn({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},save:function(e){this.info.x=e.clientX,this.info.y=e.clientY},mousedown:function(e){Fn(e)&&this.save(e)},click:function(e){Fn(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[0],e)},touchend:function(e){this.forward(e.changedTouches[0],e)},forward:function(e,t){var n=Math.abs(e.clientX-this.info.x),i=Math.abs(e.clientY-this.info.y),o=Vn(t||e);o&&!o.disabled&&(isNaN(n)||isNaN(i)||n<=25&&i<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;var t=Vn(e);if(!t.nodeType||t.nodeType!==Node.ELEMENT_NODE)return!0;var n=t.getBoundingClientRect(),i=e.pageX,o=e.pageY;return!(i>=n.left&&i<=n.right&&o>=n.top&&o<=n.bottom)}return!1}(e))&&(this.info.prevent||Gn(o,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:t}))}});var ei=Vn,ti=Wn,ni=Yn,ii=function(){function e(e,t){for(var n=0;n-1&&ui.splice(e,1)}}}]),n}();return n.__activateDir=!1,n}),bi=!1,gi=[],_i=[];function wi(){bi=!0,requestAnimationFrame(function(){bi=!1,function(e){for(;e.length;)ki(e.shift())}(gi),setTimeout(function(){!function(e){for(var t=0,n=e.length;t0||n>0;)if(0!=t)if(0!=n){var r,a=e[t-1][n-1],s=e[t-1][n],l=e[t][n-1];(r=s0?ie.after(n):ae,t.bind(this))}},{key:"isDebouncerActive",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];return!(!t||!t.isActive())}},{key:"flushDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.flush()}},{key:"cancelDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.cancel()}},{key:"async",value:function(e,t){return t>0?ie.run(e.bind(this),t):~ae.run(e.bind(this))}},{key:"cancelAsync",value:function(e){e<0?ae.cancel(~e):ie.cancel(e)}},{key:"create",value:function(e,t){var n=document.createElement(e);if(t)if(n.setProperties)n.setProperties(t);else for(var i in t)n[i]=t[i];return n}},{key:"elementMatches",value:function(e,t){return qi(t||this,e)}},{key:"toggleAttribute",value:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.hasAttribute(e)),t?n.setAttribute(e,""):n.removeAttribute(e)}},{key:"toggleClass",value:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.classList.contains(e)),t?n.classList.add(e):n.classList.remove(e)}},{key:"transform",value:function(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e}},{key:"translate3d",value:function(e,t,n,i){i=i||this,this.transform("translate3d("+e+","+t+","+n+")",i)}},{key:"arrayDelete",value:function(e,t){var n=void 0;if(Array.isArray(e)){if((n=e.indexOf(t))>=0)return e.splice(n,1)}else if((n=V(this,e).indexOf(t))>=0)return this.splice(e,n,1);return null}},{key:"_logger",value:function(e,t){var n;switch(Array.isArray(t)&&1===t.length&&Array.isArray(t[0])&&(t=t[0]),e){case"log":case"warn":case"error":(n=console)[e].apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?t-1:0),i=1;i=0;o--){var r=t[o];r?Array.isArray(r)?e(r,n):n.indexOf(r)<0&&(!i||i.indexOf(r)<0)&&n.unshift(r):console.warn("behavior is null, check for missing or 404 import")}return n}(e,null,n),t),n&&(e=n.concat(e)),t.prototype.behaviors=e,t}function eo(e,t){var n=function(n){function i(){return function(e,t){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(i.__proto__||Object.getPrototypeOf(i)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,t),Xi(i,[{key:"created",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"created",this).call(this),e.created&&e.created.call(this)}},{key:"_registered",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_registered",this).call(this),e.beforeRegister&&e.beforeRegister.call(Object.getPrototypeOf(this)),e.registered&&e.registered.call(Object.getPrototypeOf(this))}},{key:"_applyListeners",value:function(){if(Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_applyListeners",this).call(this),e.listeners)for(var t in e.listeners)this._addMethodEventListenerToNode(this,t,e.listeners[t])}},{key:"_ensureAttributes",value:function(){if(e.hostAttributes)for(var t in e.hostAttributes)this._ensureAttribute(t,e.hostAttributes[t]);Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_ensureAttributes",this).call(this)}},{key:"ready",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"ready",this).call(this),e.ready&&e.ready.call(this)}},{key:"attached",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"attached",this).call(this),e.attached&&e.attached.call(this)}},{key:"detached",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"detached",this).call(this),e.detached&&e.detached.call(this)}},{key:"attributeChanged",value:function(t,n,o){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"attributeChanged",this).call(this,t,n,o),e.attributeChanged&&e.attributeChanged.call(this,t,n,o)}}],[{key:"properties",get:function(){return e.properties}},{key:"observers",get:function(){return e.observers}},{key:"template",get:function(){return e._template||D&&D.import(this.is,"template")||t.template||this.prototype._template||null}}]),i}();for(var i in n.generatedFrom=e,e)if(!(i in Ji)){var o=Object.getOwnPropertyDescriptor(e,i);o&&Object.defineProperty(n.prototype,i,o)}return n}var to=function e(t){var n;return n="function"==typeof t?t:e.Class(t),customElements.define(n.is,n),n};to.Class=function(e){e||console.warn("Polymer's Class function requires `info` argument");var t=eo(e,e.behaviors?Qi(e.behaviors,HTMLElement):Zi(HTMLElement));return t.is=e.is,t};var no=function(){function e(e,t){for(var n=0;n can only be templatized once");e.__templatizeOwner=t;var i=(t?t.constructor:_o)._parseTemplate(e),o=i.templatizeInstanceClass;o||(o=function(e,t,n){var i=n.mutableData?wo:_o,o=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,i),t}();return o.prototype.__templatizeOptions=n,o.prototype._bindTemplate(e),function(e,t,n,i){var o=n.hostProps||{};for(var r in i.instanceProps){delete o[r];var a=i.notifyInstanceProp;a&&e.prototype._addPropertyEffect(r,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:xo(0,a)})}if(i.forwardHostProp&&t.__dataHost)for(var s in o)e.prototype._addPropertyEffect(s,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:function(e,t,n){e.__dataHost._setPendingPropertyOrPath("_host_"+t,n[t],!0,!0)}})}(o,e,t,n),o}(e,i,n),i.templatizeInstanceClass=o),function(e,t,n){var i=n.forwardHostProp;if(i){var o=t.templatizeTemplateClass;if(!o){var r=n.mutableData?bo:vo;o=t.templatizeTemplateClass=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,r),t}();var a=t.hostProps;for(var s in a)o.prototype._addPropertyEffect("_host_"+s,o.prototype.PROPERTY_EFFECT_TYPES.PROPAGATE,{fn:ko(0,i)}),o.prototype._createNotifyingProperty("_host_"+s)}!function(e,t){mo=e,Object.setPrototypeOf(e,t.prototype),new t,mo=null}(e,o),e.__dataProto&&Object.assign(e.__data,e.__dataProto),e.__dataTemp={},e.__dataPending=null,e.__dataOld=null,e._enableProperties()}}(e,i,n);var r=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,o),t}();return r.prototype._methodHost=function(e){var t=e.__dataHost;return t&&t._methodHost||t}(e),r.prototype.__dataHost=e,r.prototype.__templatizeOwner=t,r.prototype.__hostProps=i.hostProps,r}var Co=function(){function e(e,t){for(var n=0;n child");n.disconnect(),e.render()});return void n.observe(this,{childList:!0})}this.root=this._stampTemplate(t),this.$=this.root.$,this.__children=[];for(var i=this.root.firstChild;i;i=i.nextSibling)this.__children[this.__children.length]=i;this._enableProperties()}this.__insertChildren(),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0}))}}]),t}();customElements.define("dom-bind",Po);var Eo=function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0},To=function(){function e(e,t){for(var n=0;n child");n.disconnect(),e.__render()});return n.observe(this,{childList:!0}),!1}var i={};i[this.as]=!0,i[this.indexAs]=!0,i[this.itemsIndexAs]=!0,this.__ctor=Oo(t,this,{mutableData:this.mutableData,parentModel:!0,instanceProps:i,forwardHostProp:function(e,t){for(var n,i=this.__instances,o=0;o1&&void 0!==arguments[1]?arguments[1]:0;this.__renderDebouncer=_n.debounce(this.__renderDebouncer,t>0?ie.after(t):ae,e.bind(this)),zi(this.__renderDebouncer)}},{key:"render",value:function(){this.__debounceRender(this.__render),Di()}},{key:"__render",value:function(){this.__ensureTemplatized()&&(this.__applyFullRefresh(),this.__pool.length=0,this._setRenderedItemCount(this.__instances.length),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0})),this.__tryRenderChunk())}},{key:"__applyFullRefresh",value:function(){for(var e=this,t=this.items||[],n=new Array(t.length),i=0;i=r;p--)this.__detachAndRemoveInstance(p)}},{key:"__detachInstance",value:function(e){for(var t=this.__instances[e],n=0;n child");i.disconnect(),e.__render()});return i.observe(this,{childList:!0}),!1}this.__ctor=Oo(n,this,{mutableData:!0,forwardHostProp:function(e,t){this.__instance&&(this.if?this.__instance.forwardHostProp(e,t):(this.__invalidProps=this.__invalidProps||Object.create(null),this.__invalidProps[M(e)]=!0))}})}if(this.__instance){this.__syncHostProperties();var o=this.__instance.children;if(o&&o.length&&this.previousSibling!==o[o.length-1])for(var r,a=0;a=o.index+o.removed.length?n.set(t,e+o.addedCount-o.removed.length):n.set(t,-1))});for(var r=0;r=0&&e.linkPaths("items."+n,"selected."+t++)})}else this.__selectedMap.forEach(function(t){e.linkPaths("selected","items."+t),e.linkPaths("selectedItem","items."+t)})}},{key:"clearSelection",value:function(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}},{key:"isSelected",value:function(e){return this.__selectedMap.has(e)}},{key:"isIndexSelected",value:function(e){return this.isSelected(this.items[e])}},{key:"__deselectChangedIdx",value:function(e){var t=this,n=this.__selectedIndexForItemIndex(e);if(n>=0){var i=0;this.__selectedMap.forEach(function(e,o){n==i++&&t.deselect(o)})}}},{key:"__selectedIndexForItemIndex",value:function(e){var t=this.__dataLinkedPaths["items."+e];if(t)return parseInt(t.slice("selected.".length),10)}},{key:"deselect",value:function(e){var t=this.__selectedMap.get(e);if(t>=0){this.__selectedMap.delete(e);var n=void 0;this.multi&&(n=this.__selectedIndexForItemIndex(t)),this.__updateLinks(),this.multi?this.splice("selected",n,1):this.selected=this.selectedItem=null}}},{key:"deselectIndex",value:function(e){this.deselect(this.items[e])}},{key:"select",value:function(e){this.selectIndex(this.items.indexOf(e))}},{key:"selectIndex",value:function(e){var t=this.items[e];this.isSelected(t)?this.toggle&&this.deselectIndex(e):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(t,e),this.__updateLinks(),this.multi?this.push("selected",t):this.selected=this.selectedItem=t)}}]),n}()})(mt),Bo=function(e){function t(){return No(this,t),Do(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return Fo(t,Mo),zo(t,null,[{key:"is",get:function(){return"array-selector"}}]),t}();customElements.define(Bo.is,Bo);var Ho=new hn;window.ShadyCSS||(window.ShadyCSS={prepareTemplate:function(e,t,n){},styleSubtree:function(e,t){Ho.processStyles(),Mt(e,t)},styleElement:function(e){Ho.processStyles()},styleDocument:function(e){Ho.processStyles(),Mt(document.body,e)},getComputedStyleValue:function(e,t){return Bt(e,t)},flushCustomStyles:function(){},nativeCss:gt,nativeShadow:yt}),window.ShadyCSS.CustomStyleInterface=Ho;var qo=function(){function e(e,t){for(var n=0;n0&&(u="/"+u),this.tail&&this.tail.prefix===p&&this.tail.path===u||(c.tail={prefix:p,path:u,__queryParams:this.route.__queryParams}),c.data=r,this._dataInUrl={},r)this._dataInUrl[d]=r[d];this.setProperties?this.setProperties(c,!0):this.__setMulti(c)}else this.__resetProperties()}},__tailPathChanged:function(e){if(this.active){var t=e,n=this._matched;t&&("/"!==t.charAt(0)&&(t="/"+t),n+=t),this.set("route.path",n)}},__updatePathOnDataChange:function(){if(this.route&&this.active){var e=this.__getLink({});e!==this.__getLink(this._dataInUrl)&&this.set("route.path",e)}},__getLink:function(e){var t={tail:null};for(var n in this.data)t[n]=this.data[n];for(var n in e)t[n]=e[n];var i=this.pattern.split("/").map(function(e){return":"==e[0]&&(e=t[e.slice(1)]),e},this);return t.tail&&t.tail.path&&(i.length>0&&"/"===t.tail.path.charAt(0)?i.push(t.tail.path.slice(1)):i.push(t.tail.path)),i.join("/")},__setMulti:function(e){for(var t in e)this._propertySetter(t,e[t]);void 0!==e.data&&(this._pathEffector("data",this.data),this._notifyChange("data")),void 0!==e.active&&(this._pathEffector("active",this.active),this._notifyChange("active")),void 0!==e.tail&&(this._pathEffector("tail",this.tail),this._notifyChange("tail"))}});var Ko=document.createElement("template");Ko.setAttribute("style","display: none;"),Ko.innerHTML='\n \n\n \n',document.head.appendChild(Ko.content);var Wo=document.createElement("style");Wo.textContent="[hidden] { display: none !important; }",document.head.appendChild(Wo);var Yo,Zo,Xo=(Yo=["\n \n\n \n"],Zo=["\n \n\n \n"],Object.freeze(Object.defineProperties(Yo,{raw:{value:Object.freeze(Zo)}})));to({_template:l(Xo),is:"app-toolbar"});var Go=document.createElement("template");Go.setAttribute("style","display: none;"),Go.innerHTML='\n \n\n \n\n \n\n \n\n \n',document.head.appendChild(Go.content);var Jo=document.createElement("template");Jo.setAttribute("style","display: none;"),Jo.innerHTML='\n \n',document.head.appendChild(Jo.content);var Qo={properties:{active:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"__activeChanged"},alt:{type:String,value:"loading",observer:"__altChanged"},__coolingDown:{type:Boolean,value:!1}},__computeContainerClasses:function(e,t){return[e||t?"active":"",t?"cooldown":""].join(" ")},__activeChanged:function(e,t){this.__setAriaHidden(!e),this.__coolingDown=!e&&t},__altChanged:function(e){"loading"===e?this.alt=this.getAttribute("aria-label")||e:(this.__setAriaHidden(""===e),this.setAttribute("aria-label",e))},__setAriaHidden:function(e){e?this.setAttribute("aria-hidden","true"):this.removeAttribute("aria-hidden")},__reset:function(){this.active=!1,this.__coolingDown=!1}},er=(n(7),document.createElement("template"));er.setAttribute("style","display: none;"),er.innerHTML='\n \n\n \n',document.head.appendChild(er.content),to({is:"paper-spinner",behaviors:[Qo]});var tr=function e(t){e[" "](t),this.type=t&&t.type||"default",this.key=t&&t.key,t&&"value"in t&&(this.value=t.value)};tr[" "]=function(){},tr.types={},tr.prototype={get value(){var e=this.type,t=this.key;if(e&&t)return tr.types[e]&&tr.types[e][t]},set value(e){var t=this.type,n=this.key;t&&n&&(t=tr.types[t]=tr.types[t]||{},null==e?delete t[n]:t[n]=e)},get list(){if(this.type){var e=tr.types[this.type];return e?Object.keys(e).map(function(e){return nr[this.type][e]},this):[]}},byKey:function(e){return this.key=e,this.value}};var nr=tr.types;to({is:"iron-meta",properties:{type:{type:String,value:"default"},key:{type:String},value:{type:String,notify:!0},self:{type:Boolean,observer:"_selfChanged"},__meta:{type:Boolean,computed:"__computeMeta(type, key, value)"}},hostAttributes:{hidden:!0},__computeMeta:function(e,t,n){var i=new tr({type:e,key:t});return void 0!==n&&n!==i.value?i.value=n:this.value!==i.value&&(this.value=i.value),i},get list(){return this.__meta&&this.__meta.list},_selfChanged:function(e){e&&(this.value=this)},byKey:function(e){return new tr({type:this.type,key:e}).value}});var ir=Object.freeze(Object.defineProperties(["\n \n"],{raw:{value:Object.freeze(["\n \n"])}}));to({_template:l(ir),is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:Vo.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Vi(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.removeIcon(this),this._img||(this._img=document.createElement("img"),this._img.style.width="100%",this._img.style.height="100%",this._img.draggable=!1),this._img.src=this.src,Vi(this.root).appendChild(this._img))}});var or={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},rr={8:"backspace",9:"tab",13:"enter",27:"esc",33:"pageup",34:"pagedown",35:"end",36:"home",32:"space",37:"left",38:"up",39:"right",40:"down",46:"del",106:"*"},ar={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},sr=/[a-z0-9*]/,lr=/U\+/,cr=/^arrow/,pr=/^space(bar)?/,ur=/^escape$/;function dr(e,t){var n="";if(e){var i=e.toLowerCase();" "===i||pr.test(i)?n="space":ur.test(i)?n="esc":1==i.length?t&&!sr.test(i)||(n=i):n=cr.test(i)?i.replace("arrow",""):"multiply"==i?"*":i}return n}function hr(e,t){return n=t,i=e.hasModifiers,(n.key?dr(n.key,i):n.detail&&n.detail.key?dr(n.detail.key,i):(r="",(o=n.keyIdentifier)&&(o in or?r=or[o]:lr.test(o)?(o=parseInt(o.replace("U+","0x"),16),r=String.fromCharCode(o).toLowerCase()):r=o.toLowerCase()),r||function(e){var t="";return Number(e)&&(t=e>=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112+1):e>=48&&e<=57?String(e-48):e>=96&&e<=105?String(e-96):rr[e]),t}(n.keyCode)||""))===e.key&&(!e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKey==!!e.metaKey);var n,i,o,r}function fr(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),i=n[0],o=n[1];return i in ar?(e[ar[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=o||"keydown"),e},{combo:e.split(":").shift()})}(e)})}var mr={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var n=fr(t),i=0;i\n :host {\n display: block;\n position: absolute;\n border-radius: inherit;\n overflow: hidden;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n /* See PolymerElements/paper-behaviors/issues/34. On non-Chrome browsers,\n * creating a node (with a position:absolute) in the middle of an event\n * handler "interrupts" that event handler (which happens when the\n * ripple is created on demand) */\n pointer-events: none;\n }\n\n :host([animating]) {\n /* This resolves a rendering issue in Chrome (as of 40) where the\n ripple is not properly clipped by its parent (which may have\n rounded corners). See: http://jsbin.com/temexa/4\n\n Note: We only apply this style conditionally. Otherwise, the browser\n will create a new compositing layer for every ripple element on the\n page, and that would be bad. */\n -webkit-transform: translate(0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n #background,\n #waves,\n .wave-container,\n .wave {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n #background,\n .wave {\n opacity: 0;\n }\n\n #waves,\n .wave {\n overflow: hidden;\n }\n\n .wave-container,\n .wave {\n border-radius: 50%;\n }\n\n :host(.circle) #background,\n :host(.circle) #waves {\n border-radius: 50%;\n }\n\n :host(.circle) .wave-container {\n overflow: hidden;\n }\n \n\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n
    \n'])}})),_r={distance:function(e,t,n,i){var o=e-n,r=t-i;return Math.sqrt(o*o+r*r)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function wr(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function kr(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Vi(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}wr.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var n=_r.distance(e,t,0,0),i=_r.distance(e,t,this.width,0),o=_r.distance(e,t,0,this.height),r=_r.distance(e,t,this.width,this.height);return Math.max(n,i,o,r)}},kr.MAX_RADIUS=300,kr.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=_r.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?_r.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),kr.MAX_RADIUS)+5,i=1.1-n/kr.MAX_RADIUS*.2,o=this.mouseInteractionSeconds/i,r=n*(1-Math.pow(80,-o));return Math.abs(r)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,kr.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,kr.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new wr(this.element)},draw:function(){var e,t,n;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,n=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+n+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+n+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(e){var t=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=_r.now(),this.center?(this.xStart=t,this.yStart=n,this.slideDistance=_r.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=e?e.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=e?e.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=t,this.yEnd=n,this.slideDistance=_r.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(e){this.isMouseDown&&(this.mouseUpStart=_r.now())},remove:function(){Vi(this.waveContainer.parentNode).removeChild(this.waveContainer)}},to({_template:l(gr),is:"paper-ripple",behaviors:[mr],properties:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Vi(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new kr(this);return Vi(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e\n .invisible {\n visibility: hidden;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),Ir=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ar(t,[{key:"computeMenuButtonClass",value:function(e,t){return!e&&t?"invisible":""}},{key:"toggleMenu",value:function(e){e.stopPropagation(),this.fire("hass-open-menu")}}],[{key:"template",get:function(){return l(jr)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-menu-button",Ir);var Rr=function(){function e(e,t){for(var n=0;n\n .placeholder {\n height: 100%;\n }\n\n .layout {\n height: calc(100% - 64px);\n }\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'])}})),zr=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Rr(t,null,[{key:"template",get:function(){return l(Lr)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}}}]),t}();customElements.define("hass-loading-screen",zr);var Nr={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this)},attached:function(){this._requestResizeNotifications()},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):window.removeEventListener("resize",this._boundNotifyResize),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable=e},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this.unlisten(e,"iron-resize","_onDescendantIronResize"))},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():y||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Vi(e).rootTarget;t!==this&&(-1===this._interestedResizables.indexOf(t)&&(this._interestedResizables.push(t),this.listen(t,"iron-resize","_onDescendantIronResize")),t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)},_requestResizeNotifications:function(){if(this.isAttached)if("loading"===document.readyState){var e=this._requestResizeNotifications.bind(this);document.addEventListener("readystatechange",function t(){document.removeEventListener("readystatechange",t),e()})}else this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable||(window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())}},Dr=[Nr,{listeners:{"app-reset-layout":"_appResetLayoutHandler","iron-resize":"resetLayout"},attached:function(){this.fire("app-reset-layout")},_appResetLayoutHandler:function(e){Vi(e).path[0]!==this&&(this.resetLayout(),e.stopPropagation())},_updateLayoutStates:function(){console.error("unimplemented")},resetLayout:function(){var e=this._updateLayoutStates.bind(this);o&&oe?(this._layoutDebouncer=_n.debounce(this._layoutDebouncer,oe,e),zi(this._layoutDebouncer)):this.debounce("resetLayout",e),this._notifyDescendantResize()},_notifyLayoutChanged:function(){var e=this;requestAnimationFrame(function(){e.fire("app-reset-layout")})},_notifyDescendantResize:function(){this.isAttached&&this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this)}}],Fr=Object.freeze(Object.defineProperties(['\n \n\n
    \n \n\n
    \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n\n
    \n \n
    \n
    \n'])}}));to({_template:l(Fr),is:"app-header-layout",behaviors:[Dr],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Vi(this.$.headerSlot).getDistributedNodes()[0]},_updateLayoutStates:function(){var e=this.header;if(this.isAttached&&e){this.$.wrapper.classList.remove("initializing"),e.scrollTarget=this.hasScrollingRegion?this.$.contentContainer:this.ownerDocument.documentElement;var t=e.offsetHeight;this.hasScrollingRegion?(e.style.left="",e.style.right=""):requestAnimationFrame(function(){var t=this.getBoundingClientRect(),n=document.documentElement.clientWidth-t.right;e.style.left=t.left+"px",e.style.right=n+"px"}.bind(this));var n=this.$.contentContainer.style;e.fixed&&!e.condenses&&this.hasScrollingRegion?(n.marginTop=t+"px",n.paddingTop=""):(n.paddingTop=t+"px",n.marginTop="")}}});var Mr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Br={},Hr=[{properties:{scrollTarget:{type:HTMLElement,value:function(){return this._defaultScrollTarget}}},observers:["_scrollTargetChanged(scrollTarget, isAttached)"],_shouldHaveListener:!0,_scrollTargetChanged:function(e,t){if(this._oldScrollTarget&&(this._toggleScrollListener(!1,this._oldScrollTarget),this._oldScrollTarget=null),t)if("document"===e)this.scrollTarget=this._doc;else if("string"==typeof e){var n=this.domHost;this.scrollTarget=n&&n.$?n.$[e]:Vi(this.ownerDocument).querySelector("#"+e)}else this._isValidScrollTarget()&&(this._oldScrollTarget=e,this._toggleScrollListener(this._shouldHaveListener,e))},_scrollHandler:function(){},get _defaultScrollTarget(){return this._doc},get _doc(){return this.ownerDocument.documentElement},get _scrollTop(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageYOffset:this.scrollTarget.scrollTop:0},get _scrollLeft(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageXOffset:this.scrollTarget.scrollLeft:0},set _scrollTop(e){this.scrollTarget===this._doc?window.scrollTo(window.pageXOffset,e):this._isValidScrollTarget()&&(this.scrollTarget.scrollTop=e)},set _scrollLeft(e){this.scrollTarget===this._doc?window.scrollTo(e,window.pageYOffset):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=e)},scroll:function(e,t){var n;"object"===(void 0===e?"undefined":Mr(e))?(n=e.left,t=e.top):n=e,n=n||0,t=t||0,this.scrollTarget===this._doc?window.scrollTo(n,t):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=n,this.scrollTarget.scrollTop=t)},get _scrollTargetWidth(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerWidth:this.scrollTarget.offsetWidth:0},get _scrollTargetHeight(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerHeight:this.scrollTarget.offsetHeight:0},_isValidScrollTarget:function(){return this.scrollTarget instanceof HTMLElement},_toggleScrollListener:function(e,t){var n=t===this._doc?window:t;e?this._boundScrollHandler||(this._boundScrollHandler=this._scrollHandler.bind(this),n.addEventListener("scroll",this._boundScrollHandler)):this._boundScrollHandler&&(n.removeEventListener("scroll",this._boundScrollHandler),this._boundScrollHandler=null)},toggleScrollListener:function(e){this._shouldHaveListener=e,this._toggleScrollListener(e,this.scrollTarget)}},{properties:{effects:{type:String},effectsConfig:{type:Object,value:function(){return{}}},disabled:{type:Boolean,reflectToAttribute:!0,value:!1},threshold:{type:Number,value:0},thresholdTriggered:{type:Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_effectsChanged(effects, effectsConfig, isAttached)"],_updateScrollState:function(e){},isOnScreen:function(){return!1},isContentBelow:function(){return!1},_effectsRunFn:null,_effects:null,get _clampedScrollTop(){return Math.max(0,this._scrollTop)},detached:function(){this._tearDownEffects()},createEffect:function(e,t){var n=Br[e];if(!n)throw new ReferenceError(this._getUndefinedMsg(e));var i=this._boundEffect(n,t||{});return i.setUp(),i},_effectsChanged:function(e,t,n){this._tearDownEffects(),e&&n&&(e.split(" ").forEach(function(e){var n;""!==e&&((n=Br[e])?this._effects.push(this._boundEffect(n,t[e])):console.warn(this._getUndefinedMsg(e)))},this),this._setUpEffect())},_layoutIfDirty:function(){return this.offsetWidth},_boundEffect:function(e,t){t=t||{};var n=parseFloat(t.startsAt||0),i=parseFloat(t.endsAt||1),o=i-n,r=function(){},a=0===n&&1===i?e.run:function(t,i){e.run.call(this,Math.max(0,(t-n)/o),i)};return{setUp:e.setUp?e.setUp.bind(this,t):r,run:e.run?a.bind(this):r,tearDown:e.tearDown?e.tearDown.bind(this):r}},_setUpEffect:function(){this.isAttached&&this._effects&&(this._effectsRunFn=[],this._effects.forEach(function(e){!1!==e.setUp()&&this._effectsRunFn.push(e.run)},this))},_tearDownEffects:function(){this._effects&&this._effects.forEach(function(e){e.tearDown()}),this._effectsRunFn=[],this._effects=[]},_runEffects:function(e,t){this._effectsRunFn&&this._effectsRunFn.forEach(function(n){n(e,t)})},_scrollHandler:function(){if(!this.disabled){var e=this._clampedScrollTop;this._updateScrollState(e),this.threshold>0&&this._setThresholdTriggered(e>=this.threshold)}},_getDOMRef:function(e){console.warn("_getDOMRef","`"+e+"` is undefined")},_getUndefinedMsg:function(e){return"Scroll effect `"+e+"` is undefined. Did you forget to import app-layout/app-scroll-effects/effects/"+e+".html ?"}}],qr=Object.freeze(Object.defineProperties(['\n \n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n
    \n'])}}));to({_template:l(qr),is:"app-header",behaviors:[Hr,Dr],properties:{condenses:{type:Boolean,value:!1},fixed:{type:Boolean,value:!1},reveals:{type:Boolean,value:!1},shadow:{type:Boolean,reflectToAttribute:!0,value:!1}},observers:["_configChanged(isAttached, condenses, fixed)"],_height:0,_dHeight:0,_stickyElTop:0,_stickyElRef:null,_top:0,_progress:0,_wasScrollingDown:!1,_initScrollTop:0,_initTimestamp:0,_lastTimestamp:0,_lastScrollTop:0,get _maxHeaderTop(){return this.fixed?this._dHeight:this._height+5},get _stickyEl(){if(this._stickyElRef)return this._stickyElRef;for(var e,t=Vi(this.$.slot).getDistributedNodes(),n=0;e=t[n];n++)if(e.nodeType===Node.ELEMENT_NODE){if(e.hasAttribute("sticky")){this._stickyElRef=e;break}this._stickyElRef||(this._stickyElRef=e)}return this._stickyElRef},_configChanged:function(){this.resetLayout(),this._notifyLayoutChanged()},_updateLayoutStates:function(){if(0!==this.offsetWidth||0!==this.offsetHeight){var e=this._clampedScrollTop,t=0===this._height||0===e,n=this.disabled;this._height=this.offsetHeight,this._stickyElRef=null,this.disabled=!0,t||this._updateScrollState(0,!0),this._mayMove()?this._dHeight=this._stickyEl?this._height-this._stickyEl.offsetHeight:0:this._dHeight=0,this._stickyElTop=this._stickyEl?this._stickyEl.offsetTop:0,this._setUpEffect(),t?this._updateScrollState(e,!0):(this._updateScrollState(this._lastScrollTop,!0),this._layoutIfDirty()),this.disabled=n}},_updateScrollState:function(e,t){if(0!==this._height){var n,i=0,o=this._top,r=(this._lastScrollTop,this._maxHeaderTop),a=e-this._lastScrollTop,s=Math.abs(a),l=e>this._lastScrollTop,c=performance.now();if(this._mayMove()&&(i=this._clamp(this.reveals?o+a:e,0,r)),e>=this._dHeight&&(i=this.condenses&&!this.fixed?Math.max(this._dHeight,i):i,this.style.transitionDuration="0ms"),this.reveals&&!this.disabled&&s<100&&((c-this._initTimestamp>300||this._wasScrollingDown!==l)&&(this._initScrollTop=e,this._initTimestamp=c),e>=r))if(Math.abs(this._initScrollTop-e)>30||s>10){l&&e>=r?i=r:!l&&e>=this._dHeight&&(i=this.condenses&&!this.fixed?this._dHeight:0);var p=a/(c-this._lastTimestamp);this.style.transitionDuration=this._clamp((i-o)/p,0,300)+"ms"}else i=this._top;n=0===this._dHeight?e>0?1:0:i/this._dHeight,t||(this._lastScrollTop=e,this._top=i,this._wasScrollingDown=l,this._lastTimestamp=c),(t||n!==this._progress||o!==i||0===e)&&(this._progress=n,this._runEffects(n,i),this._transformHeader(i))}},_mayMove:function(){return this.condenses||!this.fixed},willCondense:function(){return this._dHeight>0&&this.condenses},isOnScreen:function(){return 0!==this._height&&this._top0:this._clampedScrollTop-this._maxHeaderTop>=0},_transformHeader:function(e){this.translate3d(0,-e+"px",0),this._stickyEl&&this.translate3d(0,this.condenses&&e>=this._stickyElTop?Math.min(e,this._dHeight)-this._stickyElTop+"px":0,0,this._stickyEl)},_clamp:function(e,t,n){return Math.min(n,Math.max(t,e))},_ensureBgContainers:function(){this._bgContainer||(this._bgContainer=document.createElement("div"),this._bgContainer.id="background",this._bgRear=document.createElement("div"),this._bgRear.id="backgroundRearLayer",this._bgContainer.appendChild(this._bgRear),this._bgFront=document.createElement("div"),this._bgFront.id="backgroundFrontLayer",this._bgContainer.appendChild(this._bgFront),Vi(this.root).insertBefore(this._bgContainer,this.$.contentContainer))},_getDOMRef:function(e){switch(e){case"backgroundFrontLayer":return this._ensureBgContainers(),this._bgFront;case"backgroundRearLayer":return this._ensureBgContainers(),this._bgRear;case"background":return this._ensureBgContainers(),this._bgContainer;case"mainTitle":return Vi(this).querySelector("[main-title]");case"condensedTitle":return Vi(this).querySelector("[condensed-title]")}return null},getScrollState:function(){return{progress:this._progress,top:this._top}}});var $r=document.createElement("template");$r.setAttribute("style","display: none;"),$r.innerHTML='\n \n',document.head.appendChild($r.content),n(6);var Ur=document.createElement("template");Ur.setAttribute("style","display: none;"),Ur.innerHTML="\n \n",document.head.appendChild(Ur.content);var Vr=document.createElement("template");Vr.setAttribute("style","display: none;"),Vr.innerHTML='\n \n\n \n\n \n\n \n',document.head.appendChild(Vr.content);var Kr={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Vi(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},get __shouldPosition(){return(this.horizontalAlign||this.verticalAlign)&&("center"!==this.horizontalAlign||"middle"!==this.verticalAlign)},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):(window.ShadyDOM&&ShadyDOM.flush(),this.fit()))},detached:function(){this.__deferredFit&&(clearTimeout(this.__deferredFit),this.__deferredFit=null)},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"",position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.__shouldPosition){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),n=this.__getNormalizedRect(this.fitInto),i=this._fitInfo.margin,o={width:e.width+i.left+i.right,height:e.height+i.top+i.bottom},r=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,o,e,t,n),a=r.left+i.left,s=r.top+i.top,l=Math.min(n.right-i.right,a+e.width),c=Math.min(n.bottom-i.bottom,s+e.height);a=Math.max(n.left+i.left,Math.min(a,l-this._fitInfo.sizedBy.minWidth)),s=Math.max(n.top+i.top,Math.min(s,c-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(l-a,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(c-s,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=a-e.left+"px",this.style.top=s-e.top+"px"}},constrain:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,n,i,o){this.__sizeDimension(e,t,n,i,o)},__sizeDimension:function(e,t,n,i,o){var r=this._fitInfo,a=this.__getNormalizedRect(this.fitInto),s="Width"===o?a.width:a.height,l=t===i,c=l?s-e[i]:e[n],p=r.margin[l?n:i],u="offset"+o,d=this[u]-this.sizingTarget[u];this.sizingTarget.style["max"+o]=s-p-c-d+"px"},center:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),n=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var i=n.top-t.top+(n.height-t.height)/2;this.style.top=i+"px"}if(!e.horizontally){var o=n.left-t.left+(n.width-t.width)/2;this.style.left=o+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getOffscreenArea:function(e,t,n){var i=Math.min(0,e.top)+Math.min(0,n.bottom-(e.top+t.height)),o=Math.min(0,e.left)+Math.min(0,n.right-(e.left+t.width));return Math.abs(i)*t.width+Math.abs(o)*t.height},__getPosition:function(e,t,n,i,o,r){var a,s=[{verticalAlign:"top",horizontalAlign:"left",top:o.top+this.verticalOffset,left:o.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:o.top+this.verticalOffset,left:o.right-n.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:o.bottom-n.height-this.verticalOffset,left:o.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:o.bottom-n.height-this.verticalOffset,left:o.right-n.width-this.horizontalOffset}];if(this.noOverlap){for(var l=0,c=s.length;l\n :host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--iron-overlay-backdrop-background-color, #000);\n opacity: 0;\n transition: opacity 0.2s;\n pointer-events: none;\n @apply --iron-overlay-backdrop;\n }\n\n :host(.opened) {\n opacity: var(--iron-overlay-backdrop-opacity, 0.6);\n pointer-events: auto;\n @apply --iron-overlay-backdrop-opened;\n }\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Wr),is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Vi(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Vi(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}});var Yr=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,ti(document.documentElement,"tap",function(){}),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)};Yr.prototype={constructor:Yr,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){var e=document.activeElement;for(e&&e instanceof Element!=0||(e=document.body);e.root&&Vi(e.root).activeElement;)e=Vi(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var n=this._overlays.length-1,i=this._overlays[n];if(i&&this._shouldBeBehindOverlay(t,i)&&n--,!(e>=n)){var o=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=o&&this._applyOverlayZ(t,o);e=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var n=this._overlays.length,i=this._overlays[n-1],o=Math.max(this._getZ(i),this._minimumZ),r=this._getZ(e);if(i&&this._shouldBeBehindOverlay(e,i)){this._applyOverlayZ(i,o),n--;var a=this._overlays[n-1];o=Math.max(this._getZ(a),this._minimumZ)}r<=o&&this._applyOverlayZ(e,o),this._overlays.splice(n,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e,this.backdropElement.prepare())},getBackdrops:function(){for(var e=[],t=0;t=0;e--)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var n=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);n==n&&(t=n)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t0;o>=0&&t.push(i),n="content"===i.localName||"slot"===i.localName?Vi(i).getDistributedNodes():Vi(i.root||i).children;for(var a=0;a0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?n.push(t.shift()):n.push(e.shift());return n.concat(e,t)},_hasLowerTabOrder:function(e,t){var n=Math.max(e.tabIndex,0),i=Math.max(t.tabIndex,0);return 0===n||0===i?i>n:n>i}},aa={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},allowClickThrough:{type:Boolean},alwaysOnTop:{type:Boolean},scrollAction:{type:String},_manager:{type:Object,value:Gr},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},observers:["__updateScrollObservers(isAttached, opened, scrollAction)"],get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Vi(this).querySelector("[autofocus]")||this},get _focusableNodes(){return ra.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__rafs={},this.__restoreFocusNode=null,this.__scrollTop=this.__scrollLeft=null,this.__onCaptureScroll=this.__onCaptureScroll.bind(this),this.__rootNodes=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Vi(this).observeNodes(this._onNodesChange)},detached:function(){for(var e in Vi(this).unobserveNodes(this._observer),this._observer=null,this.__rafs)null!==this.__rafs[e]&&cancelAnimationFrame(this.__rafs[e]);this.__rafs={},this._manager.removeOverlay(this),this.__isAnimating&&(this.opened?this._finishRenderOpened():(this._applyFocus(),this._finishRenderClosed()))},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).defaultPrevented||(this._setCanceled(!0),this.opened=!1)},invalidateTabbables:function(){this.__firstFocusableNode=this.__lastFocusableNode=null},_ensureSetup:function(){this._overlaySetup||(this._overlaySetup=!0,this.style.outline="none",this.style.display="none")},_openedChanged:function(e){e?this.removeAttribute("aria-hidden"):this.setAttribute("aria-hidden","true"),this.isAttached&&(this.__isAnimating=!0,this.__deraf("__openedChanged",this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-closed",this.closingReason)},_preparePositioning:function(){this.style.transition=this.style.webkitTransition="none",this.style.transform=this.style.webkitTransform="none",this.style.display=""},_finishPositioning:function(){this.style.display="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{if(this.restoreFocusOnClose&&this.__restoreFocusNode){var e=this._manager.deepActiveElement;(e===document.body||Vi(this).deepContains(e))&&this.__restoreFocusNode.focus()}this.__restoreFocusNode=null,this._focusNode.blur(),this._focusedChild=null}},_onCaptureClick:function(e){this.noCancelOnOutsideClick||this.cancel(e)},_onCaptureFocus:function(e){if(this.withBackdrop){var t=Vi(e).path;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,n=t?this.__firstFocusableNode:this.__lastFocusableNode,i=t?this.__lastFocusableNode:this.__firstFocusableNode,o=!1;if(n===i)o=!0;else{var r=this._manager.deepActiveElement;o=r===n||r===this}o&&(e.preventDefault(),this._focusedChild=i,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__deraf("refit",this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__deraf:function(e,t){var n=this.__rafs;null!==n[e]&&cancelAnimationFrame(n[e]),n[e]=requestAnimationFrame(function(){n[e]=null,t.call(this)}.bind(this))},__updateScrollObservers:function(e,t,n){var i;e&&t&&this.__isValidScrollAction(n)?("lock"===n&&(this.__saveScrollPosition(),i=this,na.indexOf(i)>=0||(0===na.length&&function(){Zr=Zr||function(e){if(e.cancelable&&function(e){var t=Vi(e).rootTarget;if("touchmove"!==e.type&&Qr!==t&&(Qr=t,ea=function(e){for(var t=[],n=e.indexOf(Xr),i=0;i<=n;i++)if(e[i].nodeType===Node.ELEMENT_NODE){var o=e[i],r=o.style;"scroll"!==r.overflow&&"auto"!==r.overflow&&(r=window.getComputedStyle(o)),"scroll"!==r.overflow&&"auto"!==r.overflow||t.push(o)}return t}(Vi(e).path)),!ea.length)return!0;if("touchstart"===e.type)return!1;var n=function(e){var t={deltaX:e.deltaX,deltaY:e.deltaY};if("deltaX"in e);else if("wheelDeltaX"in e&&"wheelDeltaY"in e)t.deltaX=-e.wheelDeltaX,t.deltaY=-e.wheelDeltaY;else if("wheelDelta"in e)t.deltaX=0,t.deltaY=-e.wheelDelta;else if("axis"in e)t.deltaX=1===e.axis?e.detail:0,t.deltaY=2===e.axis?e.detail:0;else if(e.targetTouches){var n=e.targetTouches[0];t.deltaX=Jr.pageX-n.pageX,t.deltaY=Jr.pageY-n.pageY}return t}(e);return!function(e,t,n){if(t||n)for(var i=Math.abs(n)>=Math.abs(t),o=0;o0:r.scrollTop0:r.scrollLeft=0))switch(this.scrollAction){case"lock":this.__restoreScrollPosition();break;case"refit":this.__deraf("refit",this.refit);break;case"cancel":this.cancel(e)}},__saveScrollPosition:function(){document.scrollingElement?(this.__scrollTop=document.scrollingElement.scrollTop,this.__scrollLeft=document.scrollingElement.scrollLeft):(this.__scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this.__scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},__restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this.__scrollTop,document.scrollingElement.scrollLeft=this.__scrollLeft):(document.documentElement.scrollTop=document.body.scrollTop=this.__scrollTop,document.documentElement.scrollLeft=document.body.scrollLeft=this.__scrollLeft)}},sa=[Kr,Nr,aa],la={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1},__readied:{type:Boolean,value:!1}},observers:["_modalChanged(modal, __readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.__readied=!0},_modalChanged:function(e,t){t&&(e?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(e){this.closingReason=this.closingReason||{},this.closingReason.confirmed=e},_onDialogClick:function(e){for(var t=Vi(e).path,n=0,i=t.indexOf(this);n\n\n :host {\n display: block;\n @apply --layout-relative;\n }\n\n :host(.is-scrolled:not(:first-child))::before {\n content: \'\';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n :host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after {\n content: \'\';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n .scrollable {\n padding: 0 24px;\n\n @apply --layout-scroll;\n @apply --paper-dialog-scrollable;\n }\n\n .fit {\n @apply --layout-fit;\n }\n \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n'])}}));to({_template:l(pa),is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget(),this.classList.add("no-padding")},attached:function(){this._ensureTarget(),requestAnimationFrame(this.updateScrollState.bind(this))},updateScrollState:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||this.parentElement,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(la)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}});var ua=[{properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var n in t)e[n]=t[n]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,n){var i;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(i=e?this.animationConfig[e]:this.animationConfig,Array.isArray(i)||(i=[i]),i)for(var o,r=0;o=i[r];r++)if(o.animatable)o.animatable._getAnimationConfigRecursive(o.type||e,t,n);else if(o.id){var a=t[o.id];a?(a.isClone||(t[o.id]=this._cloneConfig(a),a=t[o.id]),this._copyProperties(a,o)):t[o.id]=o}else n.push(o)},getAnimationConfig:function(e){var t={},n=[];for(var i in this._getAnimationConfigRecursive(e,t,n),t)n.push(t[i]);return n}},{_configureAnimations:function(e){var t=[],n=[];if(e.length>0)for(var i=0;s=e[i];i++){var o=document.createElement(s.name);if(o.isNeonAnimation){var r=null;o.configure||(o.configure=function(e){return null}),r=o.configure(s),n.push({result:r,config:s})}else console.warn(this.is+":",s.name,"not found!")}for(var a=0;a\n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(ha),is:"paper-dialog",behaviors:[ca,ua],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}});var fa=function(){function e(e,t){for(var n=0;n\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n }\n paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'])}})),ga=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),va(t,[{key:"openDialog",value:function(){this.$.dialog.open()}}],[{key:"template",get:function(){return l(ba)}},{key:"properties",get:function(){return{title:String,content:String}}}]),t}();customElements.define("hassio-markdown-dialog",ga),n(5);var _a={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){vr._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){vr._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},wa=[br,yr,xr,_a],ka=document.createElement("template");ka.setAttribute("style","display: none;"),ka.innerHTML='\n \n',document.head.appendChild(ka.content);var xa=document.createElement("template");xa.setAttribute("style","display: none;"),xa.innerHTML='\n \n\n \n',document.head.appendChild(xa.content),to({is:"paper-button",behaviors:[wa],properties:{raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){this.raised?_a._calculateElevation.apply(this):this._setElevation(0)}});var Oa=Object.freeze(Object.defineProperties(['\n \n\n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n \n \n \n
    \n'])}}));to({_template:l(Oa),is:"iron-image",properties:{src:{type:String,value:""},alt:{type:String,value:null},crossorigin:{type:String,value:null},preventLoad:{type:Boolean,value:!1},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)","_loadStateObserver(src, preventLoad)"],created:function(){this._resolvedSrc=""},_imgOnLoad:function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))},_imgOnError:function(){this.$.img.src===this._resolveSrc(this.src)&&(this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!0))},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){return null!==this.alt?this.alt:""===this.src?"":this._resolveSrc(this.src).replace(/[?|#].*/g,"").split("/").pop()},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_loadStateObserver:function(e,t){var n=this._resolveSrc(e);n!==this._resolvedSrc&&(this._resolvedSrc="",this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",""===e||t?(this._setLoading(!1),this._setLoaded(!1),this._setError(!1)):(this._resolvedSrc=n,this.$.img.src=this._resolvedSrc,this.$.sizedImgDiv.style.backgroundImage='url("'+this._resolvedSrc+'")',this._setLoading(!0),this._setLoaded(!1),this._setError(!1)))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=h(e,this.$.baseURIAnchor.href);return"/"===t[0]&&(t=(location.origin||location.protocol+"//"+location.host)+t),t}});var Ca=Object.freeze(Object.defineProperties(['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n'])}}));to({_template:l(Ca),is:"paper-card",properties:{heading:{type:String,value:"",observer:"_headingChanged"},image:{type:String,value:""},alt:{type:String},preloadImage:{type:Boolean,value:!1},fadeImage:{type:Boolean,value:!1},placeholderImage:{type:String,value:null},elevation:{type:Number,value:1,reflectToAttribute:!0},animatedShadow:{type:Boolean,value:!1},animated:{type:Boolean,reflectToAttribute:!0,readOnly:!0,computed:"_computeAnimated(animatedShadow)"}},_isHidden:function(e){return e?"false":"true"},_headingChanged:function(e){var t=this.getAttribute("heading"),n=this.getAttribute("aria-label");"string"==typeof n&&n!==t||this.setAttribute("aria-label",e)},_computeHeadingClass:function(e){return e?" over-image":""},_computeAnimated:function(e){return e}});var Sa={properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boolean,value:!1},_parentForm:{type:Object}},attached:function(){mt||this.fire("iron-form-element-register")},detached:function(){!mt&&this._parentForm&&this._parentForm.fire("iron-form-element-unregister",{target:this})}},Pa=null,Ea={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1,observer:"_invalidChanged"}},registered:function(){Pa=new tr({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},get _validator(){return Pa&&Pa.byKey(this.validator)},hasValidator:function(){return null!=this._validator},validate:function(e){return void 0===e&&void 0!==this.value?this.invalid=!this._getValidity(this.value):this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)}},Ta=Object.freeze(Object.defineProperties(['\n \n
    [[_text]]
    \n'],{raw:{value:Object.freeze(['\n \n
    [[_text]]
    \n'])}})),Aa=to({_template:l(Ta),is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){Aa.instance||(Aa.instance=this),document.body.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async(function(){this._text=e},100)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}});Aa.instance=null,Aa.requestAvailability=function(){Aa.instance||(Aa.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(Aa.instance)};var ja=Object.freeze(Object.defineProperties(['\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(ja),is:"iron-input",behaviors:[Ea],properties:{bindValue:{type:String,value:""},value:{type:String,computed:"_computeValue(bindValue)"},allowedPattern:{type:String},autoValidate:{type:Boolean,value:!1},_inputElement:Object},observers:["_bindValueChanged(bindValue, _inputElement)"],listeners:{input:"_onInput",keypress:"_onKeypress"},created:function(){Aa.requestAvailability(),this._previousValidInput="",this._patternAlreadyChecked=!1},attached:function(){this._observer=Vi(this).observeNodes(function(e){this._initSlottedInput()}.bind(this))},detached:function(){this._observer&&(Vi(this).unobserveNodes(this._observer),this._observer=null)},get inputElement(){return this._inputElement},_initSlottedInput:function(){this._inputElement=this.getEffectiveChildren()[0],this.inputElement&&this.inputElement.value&&(this.bindValue=this.inputElement.value),this.fire("iron-input-ready")},get _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else switch(this.inputElement.type){case"number":e=/[0-9.,e-]/}return e},_bindValueChanged:function(e,t){t&&(void 0===e?t.value=null:e!==t.value&&(this.inputElement.value=e),this.autoValidate&&this.validate(),this.fire("bind-value-changed",{value:e}))},_onInput:function(){this.allowedPattern&&!this._patternAlreadyChecked&&(this._checkPatternValidity()||(this._announceInvalidCharacter("Invalid string of characters not entered."),this.inputElement.value=this._previousValidInput)),this.bindValue=this._previousValidInput=this.inputElement.value,this._patternAlreadyChecked=!1},_isPrintable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,n=19==e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode||145==e.keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return!(t||0==e.charCode&&n)},_onKeypress:function(e){if(this.allowedPattern||"number"===this.inputElement.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){this._patternAlreadyChecked=!0;var n=String.fromCharCode(e.charCode);this._isPrintable(e)&&!t.test(n)&&(e.preventDefault(),this._announceInvalidCharacter("Invalid character "+n+" not entered."))}}},_checkPatternValidity:function(){var e=this._patternRegExp;if(!e)return!0;for(var t=0;t\n :host {\n display: inline-block;\n float: right;\n\n @apply --paper-font-caption;\n @apply --paper-input-char-counter;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n :host(:dir(rtl)) {\n float: left;\n }\n \n\n [[_charCounterStr]]\n"],{raw:{value:Object.freeze(["\n \n\n [[_charCounterStr]]\n"])}}));to({_template:l(Na),is:"paper-input-char-counter",behaviors:[za],properties:{_charCounterStr:{type:String,value:"0"}},update:function(e){if(e.inputElement){e.value=e.value||"";var t=e.value.toString().length.toString();e.inputElement.hasAttribute("maxlength")&&(t+="/"+e.inputElement.getAttribute("maxlength")),this._charCounterStr=t}}});var Da=Object.freeze(Object.defineProperties(['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n'])}})),Fa=document.createElement("template");Fa.setAttribute("style","display: none;"),Fa.innerHTML='\n \n',document.head.appendChild(Fa.content),to({_template:l(Da),is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,iron-input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return X(this.attrForValue)},get _inputElement(){return Vi(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[this._propertyForValue]||this._inputElement.value},ready:function(){this.__isFirstValueUpdate=!0,this._addons||(this._addons=[]),this.addEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this._boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),this._inputElementValue&&""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(e){this._addons||(this._addons=[]);var t=e.target;-1===this._addons.indexOf(t)&&(this._addons.push(t),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(e){this._handleValueAndAutoValidate(e.target)},_onValueChanged:function(e){var t=e.target;this.__isFirstValueUpdate&&(this.__isFirstValueUpdate=!1,void 0===t.value)||this._handleValueAndAutoValidate(e.target)},_handleValue:function(e){var t=this._inputElementValue;t||0===t||"number"===e.type&&!e.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:e,value:t,invalid:this.invalid})},_handleValueAndAutoValidate:function(e){var t;this.autoValidate&&e&&(t=e.validate?e.validate(this._inputElementValue):e.checkValidity(),this.invalid=!t),this._handleValue(e)},_onIronInputValidate:function(e){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(e){for(var t,n=0;t=this._addons[n];n++)t.update(e)},_computeInputContentClass:function(e,t,n,i,o){var r="input-content";if(e)o&&(r+=" label-is-hidden"),i&&(r+=" is-invalid");else{var a=this.querySelector("label");t||o?(r+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",i?r+=" is-invalid":n&&(r+=" label-is-highlighted")):(a&&(this.$.labelAndInputContainer.style.position="relative"),i&&(r+=" is-invalid"))}return n&&(r+=" focused"),r},_computeUnderlineClass:function(e,t){var n="underline";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n},_computeAddOnContentClass:function(e,t){var n="add-on-content";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n}});var Ma=Object.freeze(Object.defineProperties(["\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Ma),is:"paper-input-error",behaviors:[za],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}});var Ba=document.createElement("template");Ba.setAttribute("style","display: none;"),Ba.innerHTML='\n \n\n \x3c!-- This is a fresh new hell to make this element hybrid. Basically, in 2.0\n we lost is=, so the example same template can\'t be used with iron-input 1.0 and 2.0.\n Expect some conditional code (especially in the tests).\n --\x3e\n \n\n \n\n',document.head.appendChild(Ba.content),to({is:"paper-input",behaviors:[La,Sa],properties:{value:{type:String}},beforeRegister:function(){var e="function"==typeof document.createElement("iron-input")._initSlottedInput?"v1":"v0",t=D.import("paper-input","template"),n=D.import("paper-input","template#"+e),i=t.content.querySelector("#template-placeholder");i&&i.parentNode.replaceChild(n.content,i)},get _focusableElement(){return mt?this.inputElement._inputElement:this.inputElement},listeners:{"iron-input-ready":"_onIronInputReady"},_onIronInputReady:function(){this.$.nativeInput||(this.$.nativeInput=this.$$("input")),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.$.nativeInput.type)&&(this.alwaysFloatLabel=!0),this.inputElement.bindValue&&this.$.container._handleValueAndAutoValidate(this.inputElement)}});var Ha=Object.freeze(Object.defineProperties(['\n \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n'])}}));to({_template:l(Ha),is:"iron-dropdown",behaviors:[yr,mr,sa,ua],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1,observer:"_allowOutsideScrollChanged"}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n :host {\n display: inline-block;\n position: relative;\n padding: 8px;\n outline: none;\n\n @apply --paper-menu-button;\n }\n\n :host([disabled]) {\n cursor: auto;\n color: var(--disabled-text-color);\n\n @apply --paper-menu-button-disabled;\n }\n\n iron-dropdown {\n @apply --paper-menu-button-dropdown;\n }\n\n .dropdown-content {\n @apply --shadow-elevation-2dp;\n\n position: relative;\n border-radius: 2px;\n background-color: var(--paper-menu-button-dropdown-background, var(--primary-background-color));\n\n @apply --paper-menu-button-content;\n }\n\n :host([vertical-align="top"]) .dropdown-content {\n margin-bottom: 20px;\n margin-top: -10px;\n top: 10px;\n }\n\n :host([vertical-align="bottom"]) .dropdown-content {\n bottom: 10px;\n margin-bottom: -10px;\n margin-top: 20px;\n }\n\n #trigger {\n cursor: pointer;\n }\n \n\n
    \n \n
    \n\n \n \n \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n\n \n \n \n'])}})),Ua={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},Va=to({_template:l($a),is:"paper-menu-button",behaviors:[mr,yr],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:Ua.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:Ua.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:Ua.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t-1&&e.preventDefault()}});Object.keys(Ua).forEach(function(e){Va[e]=Ua[e]}),to({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!1},useGlobalRtlAttribute:{type:Boolean,value:!1}},created:function(){this._meta=new tr({type:"iconset",key:null,value:null})},attached:function(){this.style.display="none"},getIconNames:function(){return this._icons=this._createIconMap(),Object.keys(this._icons).map(function(e){return this.name+":"+e},this)},applyIcon:function(e,t){this.removeIcon(e);var n=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(n){var i=Vi(e.root||e);return i.insertBefore(n,i.childNodes[0]),e._svgIcon=n}return null},removeIcon:function(e){e._svgIcon&&(Vi(e.root||e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){if(null==this.__targetIsRTL)if(this.useGlobalRtlAttribute){var t=document.body&&document.body.hasAttribute("dir")?document.body:document.documentElement;this.__targetIsRTL="rtl"===t.getAttribute("dir")}else e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction;return this.__targetIsRTL},_nameChanged:function(){this._meta.value=null,this._meta.key=this.name,this._meta.value=this,this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Vi(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,n){if(e){var i=e.cloneNode(!0),o=document.createElementNS("http://www.w3.org/2000/svg","svg"),r=i.getAttribute("viewBox")||"0 0 "+t+" "+t,a="pointer-events: none; display: block; width: 100%; height: 100%;";return n&&i.hasAttribute("mirror-in-rtl")&&(a+="-webkit-transform:scale(-1,1);transform:scale(-1,1);transform-origin:center;"),o.setAttribute("viewBox",r),o.setAttribute("preserveAspectRatio","xMidYMid meet"),o.setAttribute("focusable","false"),o.style.cssText=a,o.appendChild(i).removeAttribute("id"),o}return null}});var Ka=document.createElement("template");Ka.setAttribute("style","display: none;"),Ka.innerHTML='\n\n\n\n',document.head.appendChild(Ka.content);var Wa=document.createElement("template");Wa.setAttribute("style","display: none;"),Wa.innerHTML='\n \n',document.head.appendChild(Wa.content);var Ya=Object.freeze(Object.defineProperties(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n'],{raw:{value:Object.freeze(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n'])}}));to({_template:l(Ya),is:"paper-dropdown-menu",behaviors:[br,yr,Sa,Ea],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n \n",document.head.appendChild(Xa.content);var Ga=Object.freeze(Object.defineProperties(['\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(Ga),is:"paper-item",behaviors:[Za]});var Ja=function(e){this.selection=[],this.selectCallback=e};Ja.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.push(e);else{var n=this.selection.indexOf(e);n>=0&&this.selection.splice(n,1)}this.selectCallback&&this.selectCallback(e,t)}},select:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}};var Qa={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1,"dom-bind":1,"dom-if":1,"dom-repeat":1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Ja(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._addListener(this.activateEvent)},detached:function(){this._observer&&Vi(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items?this.items.indexOf(e):-1},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._observer&&"function"==typeof this._observer.flush?this._observer.flush():this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Vi(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this.selectedItem&&(this.selected=this._valueForItem(this.selectedItem))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){if(this.items){var t=this._valueToItem(this.selected);t?this._selection.select(t):this._selection.clear(),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)}},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,n=0;t=this.items[n];n++)if(this._valueForItem(t)==e)return n},_indexToValue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e){if(!e)return null;if(!this.attrForSelected){var t=this.indexOf(e);return-1===t?null:t}var n=e[X(this.attrForSelected)];return void 0!=n?n:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.get())},_observeItems:function(e){return Vi(e).observeNodes(function(e){this._updateItems(),this._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})})},_activateHandler:function(e){for(var t=e.target,n=this.items;t&&t!=this;){var i=n.indexOf(t);if(i>=0){var o=this._indexToValue(i);return void this._itemActivate(o,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}},es={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0,value:function(){return[]}},selectedItems:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this._toggleSelected(e):this.selected=e},multiChanged:function(e){this._selection.multi=e,this._updateSelected()},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:function(){this.multi?this.selectedItems&&this.selectedItems.length>0&&(this.selectedValues=this.selectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).filter(function(e){return null!=e},this)):Qa._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){e=e||[];var t=(this._valuesToItems(e)||[]).filter(function(e){return null!==e&&void 0!==e});this._selection.clear(t);for(var n=0;n\n :host {\n display: block;\n padding: 8px 0;\n\n background: var(--paper-listbox-background-color, var(--primary-background-color));\n color: var(--paper-listbox-color, var(--primary-text-color));\n\n @apply --paper-listbox;\n }\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(is),is:"paper-listbox",behaviors:[ns],hostAttributes:{role:"listbox"}});var os=function(){function e(e,t){for(var n=0;n\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'])}})),as=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),os(t,[{key:"addonChanged",value:function(e){var t=this;if(this.setProperties({selectedInput:e.audio_input||"null",selectedOutput:e.audio_output||"null"}),!this.outputDevices){var n=[{device:"null",name:"-"}];this.hass.callApi("get","hassio/hardware/audio").then(function(e){var i=e.data.audio,o=Object.keys(i.input).map(function(e){return{device:e,name:i.input[e]}}),r=Object.keys(i.output).map(function(e){return{device:e,name:i.output[e]}});t.setProperties({inputDevices:n.concat(o),outputDevices:n.concat(r)})},function(){t.setProperties({inputDevices:n,outputDevices:n})})}}},{key:"_saveSettings",value:function(){var e=this;this.error=null;var t="hassio/addons/"+this.addon.slug+"/options";this.hass.callApi("post",t,{audio_input:"null"===this.selectedInput?null:this.selectedInput,audio_output:"null"===this.selectedOutput?null:this.selectedOutput}).then(function(){e.fire("hass-api-called",{success:!0,path:t})},function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(rs)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},inputDevices:Array,outputDevices:Array,selectedInput:String,selectedOutput:String,error:String}}}]),t}();customElements.define("hassio-addon-audio",as);var ss=Object.freeze(Object.defineProperties(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n'])}}));to({_template:l(ss),is:"iron-autogrow-textarea",behaviors:[Ea,yr],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(e){this.$.textarea.selectionStart=e},set selectionEnd(e){this.$.textarea.selectionEnd=e},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var e=this.$.textarea.validity.valid;return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=Ea.validate.call(this,this.value))),this.invalid=!e,this.fire("iron-input-validate"),e},_bindValueChanged:function(e){this.value=e},_valueChanged:function(e){var t=this.textarea;t&&(t.value!==e&&(t.value=e||0===e?e:""),this.bindValue=e,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(e){var t=Vi(e).path;this.value=t?t[0].value:e.target.value},_constrain:function(e){var t;for(e=e||[""],t=this.maxRows>0&&e.length>this.maxRows?e.slice(0,this.maxRows):e.slice(0);this.rows>0&&t.length")+" "},_valueForMirror:function(){var e=this.textarea;if(e)return this.tokens=e&&e.value?e.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}});var ls=function(){function e(e,t){for(var n=0;n\n .container {\n position: relative;\n display: inline-block;\n }\n\n paper-button {\n transition: all 1s;\n }\n\n .success paper-button {\n color: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error paper-button {\n color: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n paper-button[disabled] {\n color: #c8c8c8;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
    \n \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n \n \n
    \n'])}})),ps=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),ls(t,[{key:"tempClass",value:function(e){var t=this.$.container.classList;t.add(e),setTimeout(function(){t.remove(e)},1e3)}},{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("click",function(t){return e.buttonTapped(t)})}},{key:"buttonTapped",value:function(e){this.progress&&e.stopPropagation()}},{key:"actionSuccess",value:function(){this.tempClass("success")}},{key:"actionError",value:function(){this.tempClass("error")}},{key:"computeDisabled",value:function(e,t){return e||t}}],[{key:"template",get:function(){return l(cs)}},{key:"properties",get:function(){return{hass:{type:Object},progress:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-progress-button",ps);var us=function(){function e(e,t){for(var n=0;n\n'],{raw:{value:Object.freeze(['\n \n'])}})),hs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),us(t,[{key:"buttonTapped",value:function(){var e=this;this.progress=!0;var t={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(n){e.progress=!1,e.$.progress.actionSuccess(),t.success=!0,t.response=n},function(n){e.progress=!1,e.$.progress.actionError(),t.success=!1,t.response=n}).then(function(){e.fire("hass-api-called",t)})}}],[{key:"template",get:function(){return l(ds)}},{key:"properties",get:function(){return{hass:Object,progress:{type:Boolean,value:!1},path:String,method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-call-api-button",hs);var fs=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),ys=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),fs(t,[{key:"addonChanged",value:function(e){this.config=e?JSON.stringify(e.options,null,2):""}},{key:"configChanged",value:function(e){try{this.$.config.classList.remove("syntaxerror"),this.configParsed=JSON.parse(e)}catch(e){this.$.config.classList.add("syntaxerror"),this.configParsed=null}}},{key:"saveTapped",value:function(){var e=this;this.error=null,this.hass.callApi("post","hassio/addons/"+this.addonSlug+"/options",{options:this.configParsed}).catch(function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(ms)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},addonSlug:String,config:{type:String,observer:"configChanged"},configParsed:Object,error:String,resetData:{type:Object,value:{options:null}}}}}]),t}();customElements.define("hassio-addon-config",ys);var vs={properties:{checked:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}},observers:["_requiredChanged(required)"],created:function(){this._hasIronCheckedElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.required||this.checked},_requiredChanged:function(){this.required?this.setAttribute("aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:function(){this.active=this.checked,this.fire("iron-change")},_valueChanged:function(){void 0!==this.value&&null!==this.value||(this.value="on")}},bs=[Cr,[Sa,Ea,vs],{_checkedChanged:function(){vs._checkedChanged.call(this),this.hasRipple()&&(this.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("checked"))},_buttonStateChanged:function(){xr._buttonStateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}}],gs=document.createElement("template");gs.setAttribute("style","display: none;"),gs.innerHTML='\n \n\n \n',document.head.appendChild(gs.content),to({is:"paper-toggle-button",behaviors:[bs],hostAttributes:{role:"button","aria-pressed":"false",tabindex:0},properties:{},listeners:{track:"_ontrack"},attached:function(){xi(this,function(){Xn(this,"pan-y")})},_ontrack:function(e){var t=e.detail;"start"===t.state?this._trackStart(t):"track"===t.state?this._trackMove(t):"end"===t.state&&this._trackEnd(t)},_trackStart:function(e){this._width=this.$.toggleBar.offsetWidth/2,this._trackChecked=this.checked,this.$.toggleButton.classList.add("dragging")},_trackMove:function(e){var t=e.dx;this._x=Math.min(this._width,Math.max(0,this._trackChecked?this._width+t:t)),this.translate3d(this._x+"px",0,0,this.$.toggleButton),this._userActivate(this._x>this._width/2)},_trackEnd:function(e){this.$.toggleButton.classList.remove("dragging"),this.transform("",this.$.toggleButton)},_createRipple:function(){this._rippleContainer=this.$.toggleButton;var e=xr._createRipple();return e.id="ink",e.setAttribute("recenters",""),e.classList.add("circle","toggle-ink"),e}});var _s=[60,"second",60,"minute",24,"hour",7,"day"];to({is:"iron-request",hostAttributes:{hidden:!0},properties:{xhr:{type:Object,notify:!0,readOnly:!0,value:function(){return new XMLHttpRequest}},response:{type:Object,notify:!0,readOnly:!0,value:function(){return null}},status:{type:Number,notify:!0,readOnly:!0,value:0},statusText:{type:String,notify:!0,readOnly:!0,value:""},completes:{type:Object,readOnly:!0,notify:!0,value:function(){return new Promise(function(e,t){this.resolveCompletes=e,this.rejectCompletes=t}.bind(this))}},progress:{type:Object,notify:!0,readOnly:!0,value:function(){return{}}},aborted:{type:Boolean,notify:!0,readOnly:!0,value:!1},errored:{type:Boolean,notify:!0,readOnly:!0,value:!1},timedOut:{type:Boolean,notify:!0,readOnly:!0,value:!1}},get succeeded(){if(this.errored||this.aborted||this.timedOut)return!1;var e=this.xhr.status||0;return 0===e||e>=200&&e<300},send:function(e){var t=this.xhr;if(t.readyState>0)return null;t.addEventListener("progress",function(e){this._setProgress({lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total}),this.fire("iron-request-progress-changed",{value:this.progress})}.bind(this)),t.addEventListener("error",function(t){this._setErrored(!0),this._updateStatus();var n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("timeout",function(t){this._setTimedOut(!0),this._updateStatus();var n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("abort",function(){this._setAborted(!0),this._updateStatus();var t=new Error("Request aborted."),n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("loadend",function(){if(this._updateStatus(),this._setResponse(this.parseResponse()),this.succeeded)this.resolveCompletes(this);else{var t=new Error("The request failed with status code: "+this.xhr.status),n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}}.bind(this)),this.url=e.url;var n=!1!==e.async;t.open(e.method||"GET",e.url,n);var i={json:"application/json",text:"text/plain",html:"text/html",xml:"application/xml",arraybuffer:"application/octet-stream"}[e.handleAs],o=e.headers||Object.create(null),r=Object.create(null);for(var a in o)r[a.toLowerCase()]=o[a];if(o=r,i&&!o.accept&&(o.accept=i),Object.keys(o).forEach(function(e){/[A-Z]/.test(e)&&Vo._error("Headers must be lower case, got",e),t.setRequestHeader(e,o[e])},this),n){t.timeout=e.timeout;var s=e.handleAs;!e.jsonPrefix&&s||(s="text"),t.responseType=t._responseType=s,e.jsonPrefix&&(t._jsonPrefix=e.jsonPrefix)}t.withCredentials=!!e.withCredentials;var l=this._encodeBodyObject(e.body,o["content-type"]);return t.send(l),this.completes},parseResponse:function(){var e=this.xhr,t=e.responseType||e._responseType,n=!this.xhr.responseType,i=e._jsonPrefix&&e._jsonPrefix.length||0;try{switch(t){case"json":if(n||void 0===e.response)try{return JSON.parse(e.responseText)}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.response;case"xml":return e.responseXML;case"blob":case"document":case"arraybuffer":return e.response;case"text":default:if(i)try{return JSON.parse(e.responseText.substring(i))}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.responseText}}catch(e){this.rejectCompletes(new Error("Could not parse response. "+e.message))}},abort:function(){this._setAborted(!0),this.xhr.abort()},_encodeBodyObject:function(e,t){if("string"==typeof e)return e;var n=e;switch(t){case"application/json":return JSON.stringify(n);case"application/x-www-form-urlencoded":return this._wwwFormUrlEncode(n)}return e},_wwwFormUrlEncode:function(e){if(!e)return"";var t=[];return Object.keys(e).forEach(function(n){t.push(this._wwwFormUrlEncodePiece(n)+"="+this._wwwFormUrlEncodePiece(e[n]))},this),t.join("&")},_wwwFormUrlEncodePiece:function(e){return null!==e&&void 0!==e&&e.toString?encodeURIComponent(e.toString().replace(/\r?\n/g,"\r\n")).replace(/%20/g,"+"):""},_updateStatus:function(){this._setStatus(this.xhr.status),this._setStatusText(void 0===this.xhr.statusText?"":this.xhr.statusText)}});var ws="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};to({is:"iron-ajax",hostAttributes:{hidden:!0},properties:{url:{type:String},params:{type:Object,value:function(){return{}}},method:{type:String,value:"GET"},headers:{type:Object,value:function(){return{}}},contentType:{type:String,value:null},body:{type:Object,value:null},sync:{type:Boolean,value:!1},handleAs:{type:String,value:"json"},withCredentials:{type:Boolean,value:!1},timeout:{type:Number,value:0},auto:{type:Boolean,value:!1},verbose:{type:Boolean,value:!1},lastRequest:{type:Object,notify:!0,readOnly:!0},lastProgress:{type:Object,notify:!0,readOnly:!0},loading:{type:Boolean,notify:!0,readOnly:!0},lastResponse:{type:Object,notify:!0,readOnly:!0},lastError:{type:Object,notify:!0,readOnly:!0},activeRequests:{type:Array,notify:!0,readOnly:!0,value:function(){return[]}},debounceDuration:{type:Number,value:0,notify:!0},jsonPrefix:{type:String,value:""},bubbles:{type:Boolean,value:!1},rejectWithRequest:{type:Boolean,value:!1},_boundHandleResponse:{type:Function,value:function(){return this._handleResponse.bind(this)}}},observers:["_requestOptionsChanged(url, method, params.*, headers, contentType, body, sync, handleAs, jsonPrefix, withCredentials, timeout, auto)"],created:function(){this._boundOnProgressChanged=this._onProgressChanged.bind(this)},get queryString(){var e,t,n=[];for(e in this.params)if(t=this.params[e],e=window.encodeURIComponent(e),Array.isArray(t))for(var i=0;i=0?"&":"?")+e:t},get requestHeaders(){var e,t={},n=this.contentType;if(null==n&&"string"==typeof this.body&&(n="application/x-www-form-urlencoded"),n&&(t["content-type"]=n),"object"===ws(this.headers))for(e in this.headers)t[e]=this.headers[e].toString();return t},_onProgressChanged:function(e){this._setLastProgress(e.detail.value)},toRequestOptions:function(){return{url:this.requestUrl||"",method:this.method,headers:this.requestHeaders,body:this.body,async:!this.sync,handleAs:this.handleAs,jsonPrefix:this.jsonPrefix,withCredentials:this.withCredentials,timeout:this.timeout,rejectWithRequest:this.rejectWithRequest}},generateRequest:function(){var e=document.createElement("iron-request"),t=this.toRequestOptions();return this.push("activeRequests",e),e.completes.then(this._boundHandleResponse).catch(this._handleError.bind(this,e)).then(this._discardRequest.bind(this,e)),this.fire("iron-ajax-presend",{request:e,options:t},{bubbles:this.bubbles,cancelable:!0}).defaultPrevented?(e.abort(),e.rejectCompletes(e),e):(this.lastRequest&&this.lastRequest.removeEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.addEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.send(t),this._setLastProgress(null),this._setLastRequest(e),this._setLoading(!0),this.fire("request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),e)},_handleResponse:function(e){e===this.lastRequest&&(this._setLastResponse(e.response),this._setLastError(null),this._setLoading(!1)),this.fire("response",e,{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-response",e,{bubbles:this.bubbles,composed:!0})},_handleError:function(e,t){this.verbose&&Vo._error(t),e===this.lastRequest&&(this._setLastError({request:e,error:t,status:e.xhr.status,statusText:e.xhr.statusText,response:e.xhr.response}),this._setLastResponse(null),this._setLoading(!1)),this.fire("iron-ajax-error",{request:e,error:t},{bubbles:this.bubbles,composed:!0}),this.fire("error",{request:e,error:t},{bubbles:this.bubbles,composed:!0})},_discardRequest:function(e){var t=this.activeRequests.indexOf(e);t>-1&&this.splice("activeRequests",t,1)},_requestOptionsChanged:function(){this.debounce("generate-request",function(){null!=this.url&&this.auto&&this.generateRequest()},this.debounceDuration)}});var ks=Object.prototype.hasOwnProperty;function xs(e){var t,n,i,o,r=Array.prototype.slice.call(arguments,1);for(t=0,n=r.length;t=0?"past":"future";t=Math.abs(t);for(var i=0;i<_s.length;i+=2){if(t<_s[i])return{tense:n,value:t=Math.floor(t),unit:_s[i+1]};t/=_s[i]}return{tense:n,value:t=Math.floor(t),unit:"week"}}(this.parsedDateTime),n=this.localize("ui.duration."+t.unit,"count",t.value),i=this.localize("ui.components.relative_time."+t.tense,"time",n);e.innerHTML=i}else e.innerHTML=this.localize("ui.components.relative_time.never")}}]),t}();customElements.define("ha-relative-time",Us);var Vs=function(){function e(e,t){for(var n=0;n\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'])}})),Ws=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Vs(t,null,[{key:"template",get:function(){return l(Ks)}},{key:"properties",get:function(){return{hass:Object,title:String,description:String,datetime:String,icon:{type:String,value:"hass:help-circle"},iconTitle:String,iconClass:String}}}]),t}();customElements.define("hassio-card-content",Ws);var Ys=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div{\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n ha-markdown img {\n max-width: 100%;\n }\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'])}})),Xs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ys(t,[{key:"computeIsRunning",value:function(e){return e&&"started"===e.state}},{key:"computeUpdateAvailable",value:function(e){return e&&!e.detached&&e.version&&e.version!==e.last_version}},{key:"pathWebui",value:function(e){return e&&e.replace("[HOST]",document.location.hostname)}},{key:"computeShowWebUI",value:function(e,t){return e&&t}},{key:"computeStartOnBoot",value:function(e){return"auto"===e}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/changelog").then(function(e){return e},function(){return"Error getting changelog"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Changelog",content:t})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var t="hassio/addons/"+this.addonSlug+"/uninstall",n={path:t};this.hass.callApi("post",t).then(function(e){n.success=!0,n.response=e},function(e){n.success=!1,n.response=e}).then(function(){e.fire("hass-api-called",n)})}}}],[{key:"template",get:function(){return l(Zs)}},{key:"properties",get:function(){return{hass:Object,addon:Object,addonSlug:String,isRunning:{type:Boolean,computed:"computeIsRunning(addon)"}}}}]),t}();customElements.define("hassio-addon-info",Xs);var Gs=function(){function e(e,t){for(var n=0;n\n :host,\n paper-card {\n display: block;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),Qs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Gs(t,[{key:"addonSlugChanged",value:function(e){var t=this;this.hass?this.refresh():setTimeout(function(){t.addonChanged(e)},0)}},{key:"refresh",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/logs").then(function(t){e.log=t})}}],[{key:"template",get:function(){return l(Js)}},{key:"properties",get:function(){return{hass:Object,addonSlug:{type:String,observer:"addonSlugChanged"},log:String}}}]),t}();customElements.define("hassio-addon-logs",Qs);var el=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),nl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),el(t,[{key:"addonChanged",value:function(e){if(e){var t=e.network||{},n=Object.keys(t).map(function(e){return{container:e,host:t[e]}});this.config=n.sort(function(e,t){return e.host-t.host})}}},{key:"saveTapped",value:function(){var e=this;this.error=null;var t={};this.config.forEach(function(e){t[e.container]=parseInt(e.host)});var n="hassio/addons/"+this.addonSlug+"/options";this.hass.callApi("post",n,{network:t}).then(function(){e.fire("hass-api-called",{success:!0,path:n})},function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(tl)}},{key:"properties",get:function(){return{hass:Object,addonSlug:String,config:Object,addon:{type:Object,observer:"addonChanged"},error:String,resetData:{type:Object,value:{network:null}}}}}]),t}();customElements.define("hassio-addon-network",nl);var il=function(){function e(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n width: 600px;\n }\n hassio-addon-logs {\n min-width: 600px;\n }\n @media only screen and (max-width: 600px) {\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config,\n hassio-addon-logs {\n max-width: 100%;\n }\n }\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'])}})),rl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),il(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)}),this.addEventListener("hassio-markdown-dialog",function(t){return e.openMarkdown(t)})}},{key:"apiCalled",value:function(e){var t=e.detail.path;t&&("uninstall"===t.substr(t.lastIndexOf("/")+1)?this.backTapped():this.routeDataChanged(this.routeData))}},{key:"routeDataChanged",value:function(e){var t=this;this.routeMatches&&e&&e.slug&&this.hass.callApi("get","hassio/addons/"+e.slug+"/info").then(function(e){t.addon=e.data},function(){t.addon=null})}},{key:"backTapped",value:function(){history.back()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return l(ol)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,route:Object,routeData:{type:Object,observer:"routeDataChanged"},routeMatches:Boolean,addon:Object,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),t}();customElements.define("hassio-addon-view",rl);var al=function(){function e(e,t){for(var n=0;n\n :host {\n @apply --layout-inline;\n @apply --layout-center;\n @apply --layout-center-justified;\n @apply --layout-flex-auto;\n\n position: relative;\n padding: 0 12px;\n overflow: hidden;\n cursor: pointer;\n vertical-align: middle;\n\n @apply --paper-font-common-base;\n @apply --paper-tab;\n }\n\n :host(:focus) {\n outline: none;\n }\n\n :host([link]) {\n padding: 0;\n }\n\n .tab-content {\n height: 100%;\n transform: translateZ(0);\n -webkit-transform: translateZ(0);\n transition: opacity 0.1s cubic-bezier(0.4, 0.0, 1, 1);\n @apply --layout-horizontal;\n @apply --layout-center-center;\n @apply --layout-flex-auto;\n @apply --paper-tab-content;\n }\n\n :host(:not(.iron-selected)) > .tab-content {\n opacity: 0.8;\n\n @apply --paper-tab-content-unselected;\n }\n\n :host(:focus) .tab-content {\n opacity: 1;\n font-weight: 700;\n }\n\n paper-ripple {\n color: var(--paper-tab-ink, var(--paper-yellow-a100));\n }\n\n .tab-content > ::slotted(a) {\n @apply --layout-flex-auto;\n\n height: 100%;\n }\n \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n'])}}));to({_template:l(ll),is:"paper-tab",behaviors:[yr,br,xr],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},get _parentNoink(){var e=Vi(this).parentNode;return!!e&&!!e.noink},_updateNoink:function(){this.noink=!!this.noink||!!this._parentNoink},_onTap:function(e){if(this.link){var t=this.queryEffectiveChildren("a");if(!t)return;if(e.target===t)return;t.click()}}});var cl={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?this._focusNext():this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onRightKey:function(e){this._isRTL?this._focusPrevious():this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},pl=[ns,cl],ul=document.createElement("template");ul.setAttribute("style","display: none;"),ul.innerHTML='\n\n\n\n\n',document.head.appendChild(ul.content);var dl=Object.freeze(Object.defineProperties(['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n'])}}));to({_template:l(dl),is:"paper-tabs",behaviors:[Nr,pl],properties:{noink:{type:Boolean,value:!1,observer:"_noinkChanged"},noBar:{type:Boolean,value:!1},noSlide:{type:Boolean,value:!1},scrollable:{type:Boolean,value:!1},fitContainer:{type:Boolean,value:!1},disableDrag:{type:Boolean,value:!1},hideScrollButtons:{type:Boolean,value:!1},alignBottom:{type:Boolean,value:!1},selectable:{type:String,value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:Number,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_leftHidden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousTab:{type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onTabSizingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIronSelect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyup":"_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHandler=this._delayedActivationHandler.bind(this),this.addEventListener("blur",this._onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",this.$.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noinkChanged:function(e){Vi(this).querySelectorAll("paper-tab").forEach(e?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:function(e){e.setAttribute("noink","")},_removeNoinkAttribute:function(e){e.removeAttribute("noink")},_computeScrollButtonClass:function(e,t,n){return!t||n?"hidden":e?"not-visible":""},_computeTabsContentClass:function(e,t){return e?"scrollable"+(t?" fit-container":""):" fit-container"},_computeSelectionBarClass:function(e,t){return e?"hidden":t?"align-bottom":""},_onTabSizingChanged:function(){this.debounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this.selectedItem)},10)},_onIronSelect:function(e){this._tabChanged(e.detail.item,this._previousTab),this._previousTab=e.detail.item,this.cancelDebouncer("tab-changed")},_onIronDeselect:function(e){this.debounce("tab-changed",function(){this._tabChanged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:function(){this._cancelPendingActivation(),ts._activateHandler.apply(this,arguments)},_scheduleActivation:function(e,t){this._pendingActivationItem=e,this._pendingActivationTimeout=this.async(this._bindDelayedActivationHandler,t)},_delayedActivationHandler:function(){var e=this._pendingActivationItem;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,e.fire(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivation:function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._pendingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0)},_onArrowKeyup:function(e){this.autoselect&&this._scheduleActivation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(e){e.target===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabContainerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tabsContainer.offsetWidth)},_scroll:function(e,t){if(this.scrollable){var n=t&&-t.ddx||0;this._affectScroll(n)}},_down:function(e){this.async(function(){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null)},1)},_affectScroll:function(e){this.$.tabsContainer.scrollLeft+=e;var t=this.$.tabsContainer.scrollLeft;this._leftHidden=0===t,this._rightHidden=t===this._tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft(),this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_onRightScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval(this._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){clearInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._affectScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._step)},_tabChanged:function(e,t){if(!e)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(0,0);var n=this.$.tabsContent.getBoundingClientRect(),i=n.width,o=e.getBoundingClientRect(),r=o.left-n.left;if(this._pos={width:this._calcPercent(o.width,i),left:this._calcPercent(r,i)},this.noSlide||null==t)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(this._pos.width,this._pos.left);var a=t.getBoundingClientRect(),s=this.items.indexOf(t),l=this.items.indexOf(e);this.$.selectionBar.classList.add("expand");var c=s0&&(this.$.tabsContainer.scrollLeft+=n)},_calcPercent:function(e,t){return 100*e/t},_positionBar:function(e,t){e=e||0,t=t||0,this._width=e,this._left=t,this.transform("translateX("+t+"%) scaleX("+e/100+")",this.$.selectionBar)},_onBarTransitionEnd:function(e){var t=this.$.selectionBar.classList;t.contains("expand")?(t.remove("expand"),t.add("contract"),this._positionBar(this._pos.width,this._pos.left)):t.contains("contract")&&t.remove("contract")}}),n(1);var hl=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]&&arguments[1]?history.replaceState(null,null,e):history.pushState(null,null,e),this.fire("location-changed")}}]),n}()}),ml=function(){function e(e,t){for(var n=0;n\n paper-card {\n cursor: pointer;\n }\n a.repo {\n display: block;\n color: var(--primary-text-color);\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),vl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ml(t,[{key:"sortAddons",value:function(e,t){return e.name\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'])}})),_l=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),bl(t,[{key:"reposChanged",value:function(e){this.repoList=e.filter(function(e){return"core"!==e.slug&&"local"!==e.slug}),this.repoUrl=""}},{key:"sortRepos",value:function(e,t){return e.name\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n'])}})),xl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),wl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)}),this.loadData()}},{key:"apiCalled",value:function(e){e.detail.success&&this.loadData()}},{key:"sortRepos",value:function(e,t){return"local"===e.slug?-1:"local"===t.slug?1:"core"===e.slug?-1:"core"===t.slug?1:e.name\n paper-card {\n cursor: pointer;\n }\n \n
    \n
    Add-ons
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Add-ons
    \n \n \n
    \n'])}})),Sl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),Ol(t,[{key:"sortAddons",value:function(e,t){return e.name\n paper-card {\n display: block;\n height: 100%;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),Al=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),El(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===Pl(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}}],[{key:"template",get:function(){return l(Tl)}},{key:"properties",get:function(){return{hass:Object,hassInfo:Object,error:String}}}]),t}();customElements.define("hassio-hass-update",Al);var jl=function(){function e(e,t){for(var n=0;n\n .content {\n margin: 0 auto;\n }\n \n
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n
    \n'])}})),Rl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),jl(t,null,[{key:"template",get:function(){return l(Il)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hassInfo:Object}}}]),t}();customElements.define("hassio-dashboard",Rl);var Ll=document.createElement("template");Ll.setAttribute("style","display: none;"),Ll.innerHTML='\n \n\n \n',document.head.appendChild(Ll.content),to({is:"paper-checkbox",behaviors:[bs],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){xi(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-checkbox-ink-size").trim()){var e=this.getComputedStyleValue("--calculated-paper-checkbox-size").trim(),t="px",n=e.match(/[A-Za-z]+$/);null!==n&&(t=n[0]);var i=parseFloat(e),o=8/3*i;"px"===t&&(o=Math.floor(o))%2!=i%2&&o++,this.updateStyles({"--paper-checkbox-ink-size":o+t})}})},_computeCheckboxClass:function(e,t){var n="";return e&&(n+="checked "),t&&(n+="invalid"),n},_computeCheckmarkClass:function(e){return e?"":"hidden"},_createRipple:function(){return this._rippleContainer=this.$.checkboxContainer,Or._createRipple.call(this)}});var zl=function(){function e(e,t){for(var n=0;n\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'])}})),Dl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),zl(t,[{key:"_snapshotSlugChanged",value:function(e){var t=this;e&&"update"!==e&&this.hass.callApi("get","hassio/snapshots/"+e+"/info").then(function(e){e.data.folders=t._computeFolders(e.data.folders),e.data.addons=t._computeAddons(e.data.addons),t.snapshot=e.data,t.$.dialog.open()},function(){t.snapshot=null})}},{key:"_computeFolders",value:function(e){var t=[];return e.includes("homeassistant")&&t.push({slug:"homeassistant",name:"Home Assistant configuration",checked:!0}),e.includes("ssl")&&t.push({slug:"ssl",name:"SSL",checked:!0}),e.includes("share")&&t.push({slug:"share",name:"Share",checked:!0}),e.includes("addons/local")&&t.push({slug:"addons/local",name:"Local add-ons",checked:!0}),t}},{key:"_computeAddons",value:function(e){return e.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})}},{key:"_isFullSnapshot",value:function(e){return"full"===e}},{key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this.snapshot.addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),n=this.snapshot.folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),i={homeassistant:this.restoreHass,addons:t,folders:n};this.snapshot.protected&&(i.password=this.snapshotPassword),this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/partial",i).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(t){e.error=t.body.message})}}},{key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this.snapshot.protected?{password:this.snapshotPassword}:null;this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/full",t).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(t){e.error=t.body.message})}}},{key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/remove").then(function(){e.$.dialog.close(),e.snapshotDeleted=!0},function(t){e.error=t.body.message})}},{key:"_computeDownloadUrl",value:function(e){return"/api/hassio/snapshots/"+e+"/download?api_password="+encodeURIComponent(this.hass.connection.options.authToken)}},{key:"_computeDownloadName",value:function(e){return"Hass_io_"+this._computeName(e).replace(/[^a-z0-9]+/gi,"_")+".tar"}},{key:"_computeName",value:function(e){return e.name||e.slug}},{key:"_computeType",value:function(e){return"full"===e?"Full snapshot":"Partial snapshot"}},{key:"_computeSize",value:function(e){return Math.ceil(10*e)/10+" MB"}},{key:"_sortAddons",value:function(e,t){return e.name\n\n
    \n
    \n
    \n
    \n\n
    \n \n\n \n',document.head.appendChild(Fl.content),to({is:"paper-radio-button",behaviors:[bs],hostAttributes:{role:"radio","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},ready:function(){this._rippleContainer=this.$.radioContainer},attached:function(){xi(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-radio-button-ink-size").trim()){var e=parseFloat(this.getComputedStyleValue("--calculated-paper-radio-button-size").trim()),t=Math.floor(3*e);t%2!=e%2&&t++,this.updateStyles({"--paper-radio-button-ink-size":t+"px"})}})}});var Ml=Object.freeze(Object.defineProperties(["\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Ml),is:"paper-radio-group",behaviors:[pl],hostAttributes:{role:"radiogroup"},properties:{attrForSelected:{type:String,value:"name"},selectedAttribute:{type:String,value:"checked"},selectable:{type:String,value:"paper-radio-button"},allowEmptySelection:{type:Boolean,value:!1}},select:function(e){var t=this._valueToItem(e);if(!t||!t.hasAttribute("disabled")){if(this.selected){var n=this._valueToItem(this.selected);if(this.selected==e){if(!this.allowEmptySelection)return void(n&&(n.checked=!0));e=""}n&&(n.checked=!1)}Qa.select.apply(this,[e]),this.fire("paper-radio-group-changed")}},_activateFocusedItem:function(){this._itemActivate(this._valueForItem(this.focusedItem),this.focusedItem)},_onUpKey:function(e){this._focusPrevious(),e.preventDefault(),this._activateFocusedItem()},_onDownKey:function(e){this._focusNext(),e.preventDefault(),this._activateFocusedItem()},_onLeftKey:function(e){cl._onLeftKey.apply(this,arguments),this._activateFocusedItem()},_onRightKey:function(e){cl._onRightKey.apply(this,arguments),this._activateFocusedItem()}});var Bl=function(){function e(e,t){for(var n=0;n\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'])}})),ql=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Bl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e._apiCalled(t)}),this._updateSnapshots()}},{key:"_apiCalled",value:function(e){e.detail.success&&this._updateSnapshots()}},{key:"_updateSnapshots",value:function(){var e=this;this.hass.callApi("get","hassio/snapshots").then(function(t){e.snapshots=t.data.snapshots},function(t){e.error=t.message})}},{key:"_createSnapshot",value:function(){var e=this;if(this.error="",!this.snapshotHasPassword||this.snapshotPassword.length){this.creatingSnapshot=!0;var t=this.snapshotName;t.length||(t=(new Date).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric"}));var n=void 0,i=void 0;if("full"===this.snapshotType)n={name:t},i="hassio/snapshots/new/full";else{var o=this.addonList.filter(function(e){return e.checked}).map(function(e){return e.slug});n={name:t,folders:this.folderList.filter(function(e){return e.checked}).map(function(e){return e.slug}),addons:o},i="hassio/snapshots/new/partial"}this.snapshotHasPassword&&(n.password=this.snapshotPassword),this.hass.callApi("post",i,n).then(function(){e.creatingSnapshot=!1,e.fire("hass-api-called",{success:!0})},function(t){e.creatingSnapshot=!1,e.error=t.message})}else this.error="Please enter a password."}},{key:"_installedAddonsChanged",value:function(e){this.addonList=e.map(function(e){return{slug:e.slug,name:e.name,checked:!0}})}},{key:"_sortAddons",value:function(e,t){return e.name\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n paper-button.info {\n max-width: 50%;\n }\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'])}})),Kl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ul(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===$l(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"computeRebootAvailable",value:function(e){return e.features&&e.features.includes("reboot")}},{key:"computeShutdownAvailable",value:function(e){return e.features&&e.features.includes("shutdown")}},{key:"_showHardware",value:function(){var e=this;this.hass.callApi("get","hassio/hardware/info").then(function(t){return e._objectToMarkdown(t.data)},function(){return"Error getting hardware info"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Hardware",content:t})})}},{key:"_objectToMarkdown",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i="";return Object.keys(e).forEach(function(o){"object"!==$l(e[o])?i+=n+"- "+o+": "+e[o]+"\n":(i+=n+"- "+o+":\n",Array.isArray(e[o])?e[o].length&&(i+=n+" - "+e[o].join("\n"+n+" - ")+"\n"):i+=t._objectToMarkdown(e[o]," "+n))}),i}}],[{key:"template",get:function(){return l(Vl)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String}}}]),t}();customElements.define("hassio-host-info",Kl);var Wl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yl=function(){function e(e,t){for(var n=0;n\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'])}})),Xl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Yl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===Wl(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"_equals",value:function(e,t){return e===t}},{key:"_joinBeta",value:function(){var e=this;if(confirm("WARNING:\nBeta releases are for testers and early adopters and can contain unstable code changes. Make sure you have backups of your data before you activate this feature.\n\nThis inludes beta releases for:\n- Home Assistant (Release Candidates)\n- Hass.io supervisor\n- Host system")){var t="hassio/supervisor/options",n={channel:"beta"},i={method:"post",path:t,data:n};this.hass.callApi("post",t,n).then(function(e){i.success=!0,i.response=e},function(e){i.success=!1,i.response=e}).then(function(){e.fire("hass-api-called",i)})}}}],[{key:"template",get:function(){return l(Zl)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String,leaveBeta:{type:Object,value:{channel:"stable"}}}}}]),t}();customElements.define("hassio-supervisor-info",Xl);var Gl=function(){function e(e,t){for(var n=0;n\n paper-card {\n display: block;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),Ql=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Gl(t,[{key:"ready",value:function(){(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.loadData()}},{key:"loadData",value:function(){var e=this;this.hass.callApi("get","hassio/supervisor/logs").then(function(t){e.log=t},function(){e.log="Error fetching logs"})}},{key:"refreshTapped",value:function(){this.loadData()}}],[{key:"template",get:function(){return l(Jl)}},{key:"properties",get:function(){return{hass:Object,log:String}}}]),t}();customElements.define("hassio-supervisor-log",Ql);var ec=function(){function e(e,t){for(var n=0;n\n .content {\n margin: 4px;\n }\n .title {\n margin-top: 24px;\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'])}})),nc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),ec(t,null,[{key:"template",get:function(){return l(tc)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hostInfo:Object}}}]),t}();customElements.define("hassio-system",nc);var ic=function(){function e(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #FFF;\n text-transform: uppercase;\n }\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'])}})),rc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ic(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hassio-markdown-dialog",function(t){return e.openMarkdown(t)})}},{key:"handlePageSelected",value:function(e){var t=e.detail.item.getAttribute("page-name");t!==this.page&&this.navigate("/hassio/"+t)}},{key:"equals",value:function(e,t){return e===t}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return l(oc)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,page:String,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,snapshotSlug:String,snapshotDeleted:Boolean,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),t}();customElements.define("hassio-pages-with-tabs",rc);var ac=function(){function e(e,t){for(var n=0;n\n \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n\n \n'])}})),cc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ac(t,[{key:"ready",value:function(){var e=this;sc(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var o=t.default_theme;("default"===n||n&&t.themes[n])&&(o=n);var r=Object.assign({},e._themes);if("default"!==o){var a=t.themes[o];Object.keys(a).forEach(function(t){var n="--"+t;e._themes[n]="",r[n]=a[t]})}if(e.updateStyles?e.updateStyles(r):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,r),i){var s=document.querySelector("meta[name=theme-color]");if(s){s.hasAttribute("default-content")||s.setAttribute("default-content",s.getAttribute("content"));var l=r["--primary-color"]||s.getAttribute("default-content");s.setAttribute("content",l)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"connectedCallback",value:function(){sc(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var t=this;if(e.detail.success){var n=1;!function e(){t.$.data.refresh().catch(function(){n+=1,setTimeout(e,1e3*Math.min(n,5))})}()}}},{key:"computeIsLoaded",value:function(e,t,n){return null!==e&&null!==t&&null!==n}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0)}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}],[{key:"template",get:function(){return l(lc)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:{type:Object,value:{prefix:"/hassio",path:"/dashboard",__queryParams:{}},observer:"routeChanged"},routeData:Object,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo)"}}}}]),t}();customElements.define("hassio-main",cc);var pc=function(){function e(e,t){for(var n=0;n\n \n \n'],{raw:{value:Object.freeze(['\n \n'])}})),yc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),fc(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),window.setProperties=this.setProperties.bind(this),this.addEventListener("location-changed",function(){return e._locationChanged()}),this.addEventListener("hass-open-menu",function(){return e._menuEvent(!0)}),this.addEventListener("hass-close-menu",function(){return e._menuEvent(!1)})}},{key:"_menuEvent",value:function(e){this.hassioPanel.fire(e?"hass-open-menu":"hass-close-menu")}},{key:"_locationChanged",value:function(){this.hassioPanel.navigate(window.location.pathname)}}],[{key:"template",get:function(){return l(mc)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:Object,hassioPanel:{type:Object,value:window.parent.hassioPanel}}}}]),t}();customElements.define("hassio-app",yc)},function(e,t,n){"use strict";t.default=function(){function e(t,n,i,o){this.message=t,this.expected=n,this.found=i,this.location=o,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,e)}return function(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}(e,Error),{SyntaxError:e,parse:function(t){var n,i=arguments.length>1?arguments[1]:{},o={},r={start:Te},a=Te,s=function(e){return{type:"messageFormatPattern",elements:e,location:Ce()}},l=function(e){var t,n,i,o,r,a="";for(t=0,i=e.length;tke&&(ke=ge,xe=[]),xe.push(e))}function Te(){return Ae()}function Ae(){var e,t,n;for(e=ge,t=[],n=je();n!==o;)t.push(n),n=je();return t!==o&&(_e=e,t=s(t)),t}function je(){var e;return(e=function(){var e,n;return e=ge,(n=function(){var e,n,i,r,a,s;if(e=ge,n=[],i=ge,(r=ze())!==o&&(a=Be())!==o&&(s=ze())!==o?i=r=[r,a,s]:(ge=i,i=o),i!==o)for(;i!==o;)n.push(i),i=ge,(r=ze())!==o&&(a=Be())!==o&&(s=ze())!==o?i=r=[r,a,s]:(ge=i,i=o);else n=o;return n!==o&&(_e=e,n=l(n)),(e=n)===o&&(e=ge,e=(n=Le())!==o?t.substring(e,ge):n),e}())!==o&&(_e=e,n=c(n)),n}())===o&&(e=function(){var e,n,i,r,a,s,l;return e=ge,123===t.charCodeAt(ge)?(n=d,ge++):(n=o,0===Oe&&Ee(h)),n!==o&&ze()!==o&&(i=function(){var e,n,i;if((e=Fe())===o){if(e=ge,n=[],p.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=o,0===Oe&&Ee(u)),i!==o)for(;i!==o;)n.push(i),p.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=o,0===Oe&&Ee(u));else n=o;e=n!==o?t.substring(e,ge):n}return e}())!==o&&ze()!==o?(r=ge,44===t.charCodeAt(ge)?(a=f,ge++):(a=o,0===Oe&&Ee(m)),a!==o&&(s=ze())!==o&&(l=function(){var e;return(e=function(){var e,n,i,r,a,s;return e=ge,t.substr(ge,6)===g?(n=g,ge+=6):(n=o,0===Oe&&Ee(_)),n===o&&(t.substr(ge,4)===w?(n=w,ge+=4):(n=o,0===Oe&&Ee(k)),n===o&&(t.substr(ge,4)===x?(n=x,ge+=4):(n=o,0===Oe&&Ee(O)))),n!==o&&ze()!==o?(i=ge,44===t.charCodeAt(ge)?(r=f,ge++):(r=o,0===Oe&&Ee(m)),r!==o&&(a=ze())!==o&&(s=Be())!==o?i=r=[r,a,s]:(ge=i,i=o),i===o&&(i=null),i!==o?(_e=e,e=n=C(n,i)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r;return e=ge,t.substr(ge,6)===S?(n=S,ge+=6):(n=o,0===Oe&&Ee(P)),n!==o&&ze()!==o?(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Ee(m)),i!==o&&ze()!==o&&(r=Re())!==o?(_e=e,e=n=E(r)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r;return e=ge,t.substr(ge,13)===T?(n=T,ge+=13):(n=o,0===Oe&&Ee(A)),n!==o&&ze()!==o?(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Ee(m)),i!==o&&ze()!==o&&(r=Re())!==o?(_e=e,e=n=j(r)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r,a;if(e=ge,t.substr(ge,6)===I?(n=I,ge+=6):(n=o,0===Oe&&Ee(R)),n!==o)if(ze()!==o)if(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Ee(m)),i!==o)if(ze()!==o){if(r=[],(a=Ie())!==o)for(;a!==o;)r.push(a),a=Ie();else r=o;r!==o?(_e=e,e=n=L(r)):(ge=e,e=o)}else ge=e,e=o;else ge=e,e=o;else ge=e,e=o;else ge=e,e=o;return e}()),e}())!==o?r=a=[a,s,l]:(ge=r,r=o),r===o&&(r=null),r!==o&&(a=ze())!==o?(125===t.charCodeAt(ge)?(s=y,ge++):(s=o,0===Oe&&Ee(v)),s!==o?(_e=e,e=n=b(i,r)):(ge=e,e=o)):(ge=e,e=o)):(ge=e,e=o),e}()),e}function Ie(){var e,n,i,r,a;return e=ge,ze()!==o&&(n=function(){var e,n,i,r;return e=ge,n=ge,61===t.charCodeAt(ge)?(i=z,ge++):(i=o,0===Oe&&Ee(N)),i!==o&&(r=Fe())!==o?n=i=[i,r]:(ge=n,n=o),(e=n!==o?t.substring(e,ge):n)===o&&(e=Be()),e}())!==o&&ze()!==o?(123===t.charCodeAt(ge)?(i=d,ge++):(i=o,0===Oe&&Ee(h)),i!==o&&ze()!==o&&(r=Ae())!==o&&ze()!==o?(125===t.charCodeAt(ge)?(a=y,ge++):(a=o,0===Oe&&Ee(v)),a!==o?(_e=e,e=D(n,r)):(ge=e,e=o)):(ge=e,e=o)):(ge=e,e=o),e}function Re(){var e,n,i,r;if(e=ge,(n=function(){var e,n,i;return e=ge,t.substr(ge,7)===F?(n=F,ge+=7):(n=o,0===Oe&&Ee(M)),n!==o&&ze()!==o&&(i=Fe())!==o?(_e=e,e=n=B(i)):(ge=e,e=o),e}())===o&&(n=null),n!==o)if(ze()!==o){if(i=[],(r=Ie())!==o)for(;r!==o;)i.push(r),r=Ie();else i=o;i!==o?(_e=e,e=n=H(n,i)):(ge=e,e=o)}else ge=e,e=o;else ge=e,e=o;return e}function Le(){var e,n;if(Oe++,e=[],$.test(t.charAt(ge))?(n=t.charAt(ge),ge++):(n=o,0===Oe&&Ee(U)),n!==o)for(;n!==o;)e.push(n),$.test(t.charAt(ge))?(n=t.charAt(ge),ge++):(n=o,0===Oe&&Ee(U));else e=o;return Oe--,e===o&&(n=o,0===Oe&&Ee(q)),e}function ze(){var e,n,i;for(Oe++,e=ge,n=[],i=Le();i!==o;)n.push(i),i=Le();return e=n!==o?t.substring(e,ge):n,Oe--,e===o&&(n=o,0===Oe&&Ee(V)),e}function Ne(){var e;return K.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Ee(W)),e}function De(){var e;return Y.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Ee(Z)),e}function Fe(){var e,n,i,r,a,s;if(e=ge,48===t.charCodeAt(ge)?(n=X,ge++):(n=o,0===Oe&&Ee(G)),n===o){if(n=ge,i=ge,J.test(t.charAt(ge))?(r=t.charAt(ge),ge++):(r=o,0===Oe&&Ee(Q)),r!==o){for(a=[],s=Ne();s!==o;)a.push(s),s=Ne();a!==o?i=r=[r,a]:(ge=i,i=o)}else ge=i,i=o;n=i!==o?t.substring(n,ge):i}return n!==o&&(_e=e,n=ee(n)),n}function Me(){var e,n,i,r,a,s,l,c;return te.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Ee(ne)),e===o&&(e=ge,t.substr(ge,2)===ie?(n=ie,ge+=2):(n=o,0===Oe&&Ee(oe)),n!==o&&(_e=e,n=re()),(e=n)===o&&(e=ge,t.substr(ge,2)===ae?(n=ae,ge+=2):(n=o,0===Oe&&Ee(se)),n!==o&&(_e=e,n=le()),(e=n)===o&&(e=ge,t.substr(ge,2)===ce?(n=ce,ge+=2):(n=o,0===Oe&&Ee(pe)),n!==o&&(_e=e,n=ue()),(e=n)===o&&(e=ge,t.substr(ge,2)===de?(n=de,ge+=2):(n=o,0===Oe&&Ee(he)),n!==o&&(_e=e,n=fe()),(e=n)===o&&(e=ge,t.substr(ge,2)===me?(n=me,ge+=2):(n=o,0===Oe&&Ee(ye)),n!==o?(i=ge,r=ge,(a=De())!==o&&(s=De())!==o&&(l=De())!==o&&(c=De())!==o?r=a=[a,s,l,c]:(ge=r,r=o),(i=r!==o?t.substring(i,ge):r)!==o?(_e=e,e=n=ve(i)):(ge=e,e=o)):(ge=e,e=o)))))),e}function Be(){var e,t,n;if(e=ge,t=[],(n=Me())!==o)for(;n!==o;)t.push(n),n=Me();else t=o;return t!==o&&(_e=e,t=be(t)),t}if((n=a())!==o&&ge===t.length)return n;throw n!==o&&get.description?1:0});t1?i.slice(0,-1).join(", ")+" or "+i[e.length-1]:i[0])+" but "+(t?'"'+function(e){function n(e){return e.charCodeAt(0).toString(16).toUpperCase()}return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(e){return"\\x0"+n(e)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(e){return"\\x"+n(e)}).replace(/[\u0100-\u0FFF]/g,function(e){return"\\u0"+n(e)}).replace(/[\u1000-\uFFFF]/g,function(e){return"\\u"+n(e)})}()+'"':"end of input")+" found."}(n,i),n,i,o)}(null,xe,ke1||n<0||n>1?d:function(o){function r(e,t,n){return 3*e*(1-n)*(1-n)*n+3*t*(1-n)*n*n+n*n*n}if(o<=0){var a=0;return e>0?a=t/e:!t&&n>0&&(a=i/n),a*o}if(o>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&e<1&&(s=(t-1)/(e-1)),1+s*(o-1)}for(var l=0,c=1;l=1)return 1;var i=1/e;return(n+=t*i)-n%i}}function s(e){v||(v=document.createElement("div").style),v.animationTimingFunction="",v.animationTimingFunction=e;var t=v.animationTimingFunction;if(""==t&&i())throw new TypeError(e+" is not a valid value for easing");return t}function l(e){if("linear"==e)return d;var t=g.exec(e);if(t)return r.apply(this,t.slice(1).map(Number));var n=_.exec(e);return n?a(Number(n[1]),{start:h,middle:f,end:m}[n[2]]):y[e]||d}function c(e,t,n){if(null==t)return w;var i=n.delay+e+n.endDelay;return t=Math.min(n.delay+e,i)?x:O}var p="backwards|forwards|both|none".split("|"),u="reverse|alternate|alternate-reverse".split("|"),d=function(e){return e};n.prototype={_setMember:function(t,n){this["_"+t]=n,this._effect&&(this._effect._timingInput[t]=n,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=l(s(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var h=1,f=.5,m=0,y={ease:r(.25,.1,.25,1),"ease-in":r(.42,0,1,1),"ease-out":r(0,0,.58,1),"ease-in-out":r(.42,0,.58,1),"step-start":a(1,h),"step-middle":a(1,f),"step-end":a(1,m)},v=null,b="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",g=new RegExp("cubic-bezier\\("+b+","+b+","+b+","+b+"\\)"),_=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,w=0,k=1,x=2,O=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var n in e)t[n]=e[n];return t},e.makeTiming=o,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,n){return o(t=e.numericTimingToObject(t),n)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,n){var i=c(e,t,n),o=function(e,t,n,i,o){switch(i){case k:return"backwards"==t||"both"==t?0:null;case O:return n-o;case x:return"forwards"==t||"both"==t?e:null;case w:return null}}(e,n.fill,t,i,n.delay);if(null===o)return null;var r=function(e,t,n,i,o){var r=o;return 0===e?t!==k&&(r+=n):r+=i/e,r}(n.duration,i,n.iterations,o,n.iterationStart),a=function(e,t,n,i,o,r){var a=e===1/0?t%1:e%1;return 0!==a||n!==x||0===i||0===o&&0!==r||(a=1),a}(r,n.iterationStart,i,n.iterations,o,n.duration),s=function(e,t,n,i){return e===x&&t===1/0?1/0:1===a?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,0,r),l=function(e,t,n){var i=e;if("normal"!==e&&"reverse"!==e){var o=s;"alternate-reverse"===e&&(o+=1),i="normal",o!==1/0&&o%2!=0&&(i="reverse")}return"normal"===i?a:1-a}(n.direction);return n._easingFunction(l)},e.calculatePhase=c,e.normalizeEasing=s,e.parseEasingFunction=l}(i={}),function(e,t){function n(e,t){return e in l&&l[e][t]||t}function i(e,t,i){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var o=r[e];if(o)for(var s in a.style[e]=t,o){var l=o[s],c=a.style[l];i[l]=n(l,c)}else i[e]=n(e,t)}}function o(e){var t=[];for(var n in e)if(!(n in["easing","offset","composite"])){var i=e[n];Array.isArray(i)||(i=[i]);for(var o,r=i.length,a=0;a1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==o){if("add"==r||"accumulate"==r)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=r)throw new TypeError("Invalid composite mode "+r+".")}else r="easing"==o?e.normalizeEasing(r):""+r;i(o,r,n)}return void 0==n.offset&&(n.offset=null),void 0==n.easing&&(n.easing="linear"),n}),r=!0,a=-1/0,s=0;s=0&&e.offset<=1}),r||function(){var e=n.length;null==n[e-1].offset&&(n[e-1].offset=1),e>1&&null==n[0].offset&&(n[0].offset=0);for(var t=0,i=n[0].offset,o=1;o=e.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var n=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=n&&(this.currentTime=n)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var n=this._finishHandlers.indexOf(t);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new function(e,t,n){this.target=e,this.currentTime=t,this.timelineTime=n,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,this._currentTime,e),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){n.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(i,o),function(e,t,n){function i(e){var t=c;c=[],ei?n%=i:i%=n;return e*t/(n+i)}(i.length,o.length),c=0;c=1?t:"visible"}]},["visibility"]),function(e,t){function n(e){e=e.trim(),r.fillStyle="#000",r.fillStyle=e;var t=r.fillStyle;if(r.fillStyle="#fff",r.fillStyle=e,t==r.fillStyle){r.fillRect(0,0,1,1);var n=r.getImageData(0,0,1,1).data;r.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(t,n){return[t,n,function(t){function n(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var i=0;i<3;i++)t[i]=Math.round(n(t[i]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var o=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");o.width=o.height=1;var r=o.getContext("2d");e.addPropertiesHandler(n,i,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,n),e.mergeColors=i}(o),function(e,t){function n(e){function t(){var t=a.exec(e);r=t?t[0]:void 0}function n(){if("("!==r)return function(){var e=Number(r);return t(),e}();t();var e=o();return")"!==r?NaN:(t(),e)}function i(){for(var e=n();"*"===r||"/"===r;){var i=r;t();var o=n();"*"===i?e*=o:e/=o}return e}function o(){for(var e=i();"+"===r||"-"===r;){var n=r;t();var o=i();"+"===n?e+=o:e-=o}return e}var r,a=/([\+\-\w\.]+|[\(\)\*\/])/g;return t(),o()}function i(e,t){if("0"==(t=t.trim().toLowerCase())&&"px".search(e)>=0)return{px:0};if(/^[^(]*$|^calc/.test(t)){var i={};t=(t=t.replace(/calc\(/g,"(")).replace(e,function(e){return i[e]=null,"U"+e});for(var o="U("+e.source+")",r=t.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+o,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),a=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],s=0;s1?"calc("+n+")":n}]}var a="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",s=i.bind(null,new RegExp(a,"g")),l=i.bind(null,new RegExp(a+"|%","g")),c=i.bind(null,/deg|rad|grad|turn/g);e.parseLength=s,e.parseLengthOrPercent=l,e.consumeLengthOrPercent=e.consumeParenthesised.bind(null,l),e.parseAngle=c,e.mergeDimensions=r;var p=e.consumeParenthesised.bind(null,s),u=e.consumeRepeated.bind(void 0,p,/^/),d=e.consumeRepeated.bind(void 0,u,/^,/);e.consumeSizePairList=d;var h=e.mergeNestedRepeated.bind(void 0,o," "),f=e.mergeNestedRepeated.bind(void 0,h,",");e.mergeNonNegativeSizePair=h,e.addPropertiesHandler(function(e){var t=d(e);if(t&&""==t[1])return t[0]},f,["background-size"]),e.addPropertiesHandler(l,o,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),e.addPropertiesHandler(l,r,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(o),function(e,t){function n(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function i(t){var i=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,n,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(i&&4==i[0].length)return i[0]}var o=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,n){return"auto"==t||"auto"==n?[!0,!1,function(i){var o=i?t:n;if("auto"==o)return"auto";var r=e.mergeDimensions(o,o);return r[2](r[0])}]:e.mergeDimensions(t,n)},", ");e.parseBox=i,e.mergeBoxes=o,e.addPropertiesHandler(i,o,["clip"])}(o),function(e,t){function n(e){return function(t){var n=0;return e.map(function(e){return e===c?t[n++]:e})}}function i(e){return e}function o(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,o=[],r=0;n=i.exec(t);){if(n.index!=r)return;r=n.index+n[0].length;var a=n[1],s=d[a];if(!s)return;var l=n[2].split(","),c=s[0];if(c.length=0&&this._cancelHandlers.splice(n,1)}else s.call(this,e,t)},o}}}(),function(e){var t=document.documentElement,n=null,i=!1;try{var o="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(n=t.animate({opacity:[o,o]},{duration:1})).currentTime=0,i=getComputedStyle(t).getPropertyValue("opacity")==o}catch(e){}finally{n&&n.cancel()}if(!i){var r=window.Element.prototype.animate;window.Element.prototype.animate=function(t,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),r.call(this,t,n)}}}(i),function(e,t,n){function i(e){var n=t.timeline;n.currentTime=e,n._discardAnimations(),0==n._animations.length?r=!1:requestAnimationFrame(i)}var o=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return o(function(n){t.timeline._updateAnimationsPromises(),e(n),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var n=new t.Animation(e,this);return this._animations.push(n),t.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(e){return e&&e.remove(),this._play(e)}};var r=!1;t.restartWebAnimationsNextTick=function(){r||(r=!0,requestAnimationFrame(i))};var a=new t.AnimationTimeline;t.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(e){}try{window.document.timeline=a}catch(e){}}(0,r),function(e,t,n){t.animationsWithPromises=[],t.Animation=function(t,n){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,n,i,o,r=!!this._animation;r&&(e=this.playbackRate,n=this._paused,i=this.startTime,o=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),r&&(1!=e&&(this.playbackRate=e),null!==i?this.startTime=i:null!==o?this.currentTime=o:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t\n \n",document.head.appendChild(n.content)},function(e,t){function n(){document.body.removeAttribute("unresolved")}"interactive"===document.readyState||"complete"===document.readyState?n():window.addEventListener("DOMContentLoaded",n)}]);(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[,,,,,,,,,function(t,e){t.exports={indexOf:function(t,e){var r,n;if(Array.prototype.indexOf)return t.indexOf(e);for(r=0,n=t.length;r0;e--){var r=t[e];if(" "!==r)return"="===r?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,r){"user strict";var n="",s=0,a=!1,l=!1,c=0,p=t.length,u="",g="";for(c=0;c"===h){n+=r(t.slice(s,a)),u=i(g=t.slice(a,c+1)),n+=e(a,n.length,u,g,o(g)),s=c+1,a=!1;continue}if(('"'===h||"'"===h)&&"="===t.charAt(c-1)){l=h;continue}}else if(h===l){l=!1;continue}}return s/g,p=/"/g,u=/"/g,g=/&#([a-zA-Z0-9]*);?/gim,h=/:?/gim,d=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,m=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,b=/u\s*r\s*l\s*\(.*/gi;function x(t){return t.replace(p,""")}function k(t){return t.replace(u,'"')}function y(t){return t.replace(g,function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))})}function w(t){return t.replace(h,":").replace(d," ")}function v(t){for(var e="",r=0,n=t.length;r/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=function(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}},e.onTag=function(t,e,r){},e.onIgnoreTag=function(t,e,r){},e.onTagAttr=function(t,e,r){},e.onIgnoreTagAttr=function(t,e,r){},e.safeAttrValue=function(t,e,r,n){if(r=A(r),"href"===e||"src"===e){if("#"===(r=o.trim(r)))return"#";if("http://"!==r.substr(0,7)&&"https://"!==r.substr(0,8)&&"mailto:"!==r.substr(0,7)&&"tel:"!==r.substr(0,4)&&"#"!==r[0]&&"/"!==r[0])return""}else if("background"===e){if(f.lastIndex=0,f.test(r))return""}else if("style"===e){if(m.lastIndex=0,m.test(r))return"";if(b.lastIndex=0,b.test(r)&&(f.lastIndex=0,f.test(r)))return"";!1!==n&&(r=(n=n||s).process(r))}return _(r)},e.escapeHtml=a,e.escapeQuote=x,e.unescapeQuote=k,e.escapeHtmlEntities=y,e.escapeDangerHtml5Entities=w,e.clearNonPrintableCharacter=v,e.friendlyAttrValue=A,e.escapeAttrValue=_,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var r=!Array.isArray(t),n=[],i=!1;return{onIgnoreTag:function(s,a,l){if(function(e){return!!r||-1!==o.indexOf(t,e)}(s)){if(l.isClosing){var c="[/removed]",p=l.position+c.length;return n.push([!1!==i?i:l.position,p]),i=!1,c}return i||(i=l.position),"[removed]"}return e(s,a,l)},remove:function(t){var e="",r=0;return o.forEach(n,function(n){e+=t.slice(r,n[0]),r=n[1]}),e+=t.slice(r)}}},e.stripCommentTag=function(t){return t.replace(S,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter(function(t){var e=t.charCodeAt(0);return!(127===e||e<=31&&10!==e&&13!==e)})).join("")},e.cssFilter=s,e.getDefaultCSSWhiteList=i},function(t,e,r){var n=r(10).FilterCSS,i=r(14),o=r(11),s=o.parseTag,a=o.parseAttr,l=r(9);function c(t){return void 0===t||null===t}function p(t){(t=function(t){var e={};for(var r in t)e[r]=t[r];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=i.onIgnoreTagStripAll),t.whiteList=t.whiteList||i.whiteList,t.onTag=t.onTag||i.onTag,t.onTagAttr=t.onTagAttr||i.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||i.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||i.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,t.escapeHtml=t.escapeHtml||i.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new n(t.css))}p.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,r=e.whiteList,n=e.onTag,o=e.onIgnoreTag,p=e.onTagAttr,u=e.onIgnoreTagAttr,g=e.safeAttrValue,h=e.escapeHtml,d=this.cssFilter;e.stripBlankChar&&(t=i.stripBlankChar(t)),e.allowCommentTag||(t=i.stripCommentTag(t));var f=!1;e.stripIgnoreTagBody&&(f=i.StripTagBody(e.stripIgnoreTagBody,o),o=f.onIgnoreTag);var m=s(t,function(t,e,i,s,f){var m,b={sourcePosition:t,position:e,isClosing:f,isWhite:r.hasOwnProperty(i)};if(!c(m=n(i,s,b)))return m;if(b.isWhite){if(b.isClosing)return"";var x=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var r="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return r&&(t=l.trim(t.slice(0,-1))),{html:t,closing:r}}(s),k=r[i],y=a(x.html,function(t,e){var r,n=-1!==l.indexOf(k,t);return c(r=p(i,t,e,n))?n?(e=g(i,t,e,d))?t+'="'+e+'"':t:c(r=u(i,t,e,n))?void 0:r:r});return s="<"+i,y&&(s+=" "+y),x.closing&&(s+=" /"),s+">"}return c(m=o(i,s,b))?h(s):m},h);return f&&(m=f.remove(m)),m},t.exports=p},function(t,e,r){var n=r(12);t.exports=function(t,e){";"!==(t=n.trimRight(t))[t.length-1]&&(t+=";");var r=t.length,i=!1,o=0,s=0,a="";function l(){if(!i){var r=n.trim(t.slice(o,s)),l=r.indexOf(":");if(-1!==l){var c=n.trim(r.slice(0,l)),p=n.trim(r.slice(l+1));if(c){var u=e(o,a.length,c,p,r);u&&(a+=u+"; ")}}}o=s+1}for(;s ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:k,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/,text:/^[^\n]+/};function a(t){this.tokens=[],this.tokens.links={},this.options=t||w.defaults,this.rules=s.normal,this.options.gfm&&(this.options.tables?this.rules=s.tables:this.rules=s.gfm)}s._label=/(?:\\[\[\]]|[^\[\]])+/,s._title=/(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/,s.def=f(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d+\.)/,s.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,s.item=f(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=f(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b",s.html=f(s.html).replace("comment",//).replace("closed",/<(tag)[\s\S]+?<\/\1>/).replace("closing",/\s]*)*?\/?>/).replace(/tag/g,s._tag).getRegex(),s.paragraph=f(s.paragraph).replace("hr",s.hr).replace("heading",s.heading).replace("lheading",s.lheading).replace("tag","<"+s._tag).getRegex(),s.blockquote=f(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=y({},s),s.gfm=y({},s.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),s.gfm.paragraph=f(s.paragraph).replace("(?!","(?!"+s.gfm.fences.source.replace("\\1","\\2")+"|"+s.list.source.replace("\\1","\\3")+"|").getRegex(),s.tables=y({},s.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),a.rules=s,a.lex=function(t,e){return new a(e).lex(t)},a.prototype.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(t,!0)},a.prototype.token=function(t,e){var r,n,i,o,a,l,c,p,u,g,h;for(t=t.replace(/^ +$/gm,"");t;)if((i=this.rules.newline.exec(t))&&(t=t.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(t))t=t.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=this.rules.fences.exec(t))t=t.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=this.rules.heading.exec(t))t=t.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(e&&(i=this.rules.nptable.exec(t))){for(t=t.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},p=0;p ?/gm,""),this.token(i,e),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(t)){for(t=t.substring(i[0].length),h=(o=i[2]).length>1,this.tokens.push({type:"list_start",ordered:h,start:h?+o:""}),r=!1,g=(i=i[0].match(this.rules.item)).length,p=0;p1&&a.length>1||(t=i.slice(p+1).join("\n")+t,p=g-1)),n=r||/\n\n(?!\s*$)/.test(l),p!==g-1&&(r="\n"===l.charAt(l.length-1),n||(n=r)),this.tokens.push({type:n?"loose_item_start":"list_item_start"}),this.token(l,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(t))t=t.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(e&&(i=this.rules.def.exec(t)))t=t.substring(i[0].length),i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),u=i[1].toLowerCase(),this.tokens.links[u]||(this.tokens.links[u]={href:i[2],title:i[3]});else if(e&&(i=this.rules.table.exec(t))){for(t=t.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/(?: *\| *)?\n$/,"").split("\n")},p=0;p])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:k,tag:/^|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:k,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function d(t){return t.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}function f(t,e){return t=t.source,e=e||"",{replace:function(e,r){return r=(r=r.source||r).replace(/(^|[^\[])\^/g,"$1"),t=t.replace(e,r),this},getRegex:function(){return new RegExp(t,e)}}}function m(t,e){return b[" "+t]||(/^[^:]+:\/*[^/]*$/.test(t)?b[" "+t]=t+"/":b[" "+t]=t.replace(/[^/]*$/,"")),t=b[" "+t],"//"===e.slice(0,2)?t.replace(/:[\s\S]*/,":")+e:"/"===e.charAt(0)?t.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+e:t+e}l._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,l._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,l.autolink=f(l.autolink).replace("scheme",l._scheme).replace("email",l._email).getRegex(),l._inside=/(?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/,l._href=/\s*?(?:\s+['"]([\s\S]*?)['"])?\s*/,l.link=f(l.link).replace("inside",l._inside).replace("href",l._href).getRegex(),l.reflink=f(l.reflink).replace("inside",l._inside).getRegex(),l.normal=y({},l),l.pedantic=y({},l.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),l.gfm=y({},l.normal,{escape:f(l.escape).replace("])","~|])").getRegex(),url:f(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",l._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:f(l.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),l.breaks=y({},l.gfm,{br:f(l.br).replace("{2,}","*").getRegex(),text:f(l.gfm.text).replace("{2,}","*").getRegex()}),c.rules=l,c.output=function(t,e,r){return new c(e,r).output(t)},c.prototype.output=function(t){for(var e,r,n,i,o="";t;)if(i=this.rules.escape.exec(t))t=t.substring(i[0].length),o+=i[1];else if(i=this.rules.autolink.exec(t))t=t.substring(i[0].length),n="@"===i[2]?"mailto:"+(r=h(this.mangle(i[1]))):r=h(i[1]),o+=this.renderer.link(n,null,r);else if(this.inLink||!(i=this.rules.url.exec(t))){if(i=this.rules.tag.exec(t))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),t=t.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):h(i[0]):i[0];else if(i=this.rules.link.exec(t))t=t.substring(i[0].length),this.inLink=!0,o+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(t))||(i=this.rules.nolink.exec(t))){if(t=t.substring(i[0].length),e=(i[2]||i[1]).replace(/\s+/g," "),!(e=this.links[e.toLowerCase()])||!e.href){o+=i[0].charAt(0),t=i[0].substring(1)+t;continue}this.inLink=!0,o+=this.outputLink(i,e),this.inLink=!1}else if(i=this.rules.strong.exec(t))t=t.substring(i[0].length),o+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(t))t=t.substring(i[0].length),o+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(t))t=t.substring(i[0].length),o+=this.renderer.codespan(h(i[2].trim(),!0));else if(i=this.rules.br.exec(t))t=t.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(t))t=t.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(t))t=t.substring(i[0].length),o+=this.renderer.text(h(this.smartypants(i[0])));else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}else i[0]=this.rules._backpedal.exec(i[0])[0],t=t.substring(i[0].length),"@"===i[2]?n="mailto:"+(r=h(i[0])):(r=h(i[0]),n="www."===i[1]?"http://"+r:r),o+=this.renderer.link(n,null,r);return o},c.prototype.outputLink=function(t,e){var r=h(e.href),n=e.title?h(e.title):null;return"!"!==t[0].charAt(0)?this.renderer.link(r,n,this.output(t[1])):this.renderer.image(r,n,h(t[1]))},c.prototype.smartypants=function(t){return this.options.smartypants?t.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):t},c.prototype.mangle=function(t){if(!this.options.mangle)return t;for(var e,r="",n=t.length,i=0;i.5&&(e="x"+e.toString(16)),r+="&#"+e+";";return r},p.prototype.code=function(t,e,r){if(this.options.highlight){var n=this.options.highlight(t,e);null!=n&&n!==t&&(r=!0,t=n)}return e?'
    '+(r?t:h(t,!0))+"\n
    \n":"
    "+(r?t:h(t,!0))+"\n
    "},p.prototype.blockquote=function(t){return"
    \n"+t+"
    \n"},p.prototype.html=function(t){return t},p.prototype.heading=function(t,e,r){return"'+t+"\n"},p.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},p.prototype.list=function(t,e,r){var n=e?"ol":"ul";return"<"+n+(e&&1!==r?' start="'+r+'"':"")+">\n"+t+"\n"},p.prototype.listitem=function(t){return"
  • "+t+"
  • \n"},p.prototype.paragraph=function(t){return"

    "+t+"

    \n"},p.prototype.table=function(t,e){return"\n\n"+t+"\n\n"+e+"\n
    \n"},p.prototype.tablerow=function(t){return"\n"+t+"\n"},p.prototype.tablecell=function(t,e){var r=e.header?"th":"td";return(e.align?"<"+r+' style="text-align:'+e.align+'">':"<"+r+">")+t+"\n"},p.prototype.strong=function(t){return""+t+""},p.prototype.em=function(t){return""+t+""},p.prototype.codespan=function(t){return""+t+""},p.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},p.prototype.del=function(t){return""+t+""},p.prototype.link=function(t,e,r){if(this.options.sanitize){try{var n=decodeURIComponent(d(t)).replace(/[^\w:]/g,"").toLowerCase()}catch(t){return r}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return r}this.options.baseUrl&&!x.test(t)&&(t=m(this.options.baseUrl,t));var i='
    "+r+""},p.prototype.image=function(t,e,r){this.options.baseUrl&&!x.test(t)&&(t=m(this.options.baseUrl,t));var n=''+r+'":">")},p.prototype.text=function(t){return t},u.prototype.strong=u.prototype.em=u.prototype.codespan=u.prototype.del=u.prototype.text=function(t){return t},u.prototype.link=u.prototype.image=function(t,e,r){return""+r},u.prototype.br=function(){return""},g.parse=function(t,e){return new g(e).parse(t)},g.prototype.parse=function(t){this.inline=new c(t.links,this.options),this.inlineText=new c(t.links,y({},this.options,{renderer:new u})),this.tokens=t.reverse();for(var e="";this.next();)e+=this.tok();return e},g.prototype.next=function(){return this.token=this.tokens.pop()},g.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},g.prototype.parseText=function(){for(var t=this.token.text;"text"===this.peek().type;)t+="\n"+this.next().text;return this.inline.output(t)},g.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,d(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,e,r,n,i="",o="";for(r="",t=0;tAn error occurred:

    "+h(t.message+"",!0)+"
    ";throw t}}k.exec=k,w.options=w.setOptions=function(t){return y(w.defaults,t),w},w.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new p,xhtml:!1,baseUrl:null},w.Parser=g,w.parser=g.parse,w.Renderer=p,w.TextRenderer=u,w.Lexer=a,w.lexer=a.lex,w.InlineLexer=c,w.inlineLexer=c.output,w.parse=w,void 0!==t&&"object"===o(e)?t.exports=w:void 0===(i=function(){return w}.call(e,r,e,t))||(t.exports=i)}(this||"undefined"!=typeof window&&window)}).call(this,r(19))}]]);(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{21:function(n,r,t){"use strict";t.r(r),t.d(r,"marked",function(){return a}),t.d(r,"filterXSS",function(){return c});var e=t(20),i=t.n(e),o=t(18),u=t.n(o),a=i.a,c=u.a}}]); +!function(e){function t(t){for(var n,o,r=t[0],a=t[1],s=0,c=[];s1?n-1:0),o=1;o=0}function M(e){var t=e.indexOf(".");return-1===t?e:e.slice(0,t)}function B(e,t){return 0===e.indexOf(t+".")}function H(e,t){return 0===t.indexOf(e+".")}function q(e,t,n){return t+n.slice(e.length)}function $(e){if(Array.isArray(e)){for(var t=[],n=0;n1){for(var a=0;a=0){if(!ee[t])throw new Error("invalid async handle: "+e);ee[t]=null}}},se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},le=function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0},ce=function(){function e(e,t){for(var n=0;nc.source.length&&"property"==l.kind&&!l.isCompound&&s.__isPropertyEffectsClient&&s.__dataHasAccessor&&s.__dataHasAccessor[l.target]){var p=n[t];t=q(c.source,l.target,t),s._setPendingPropertyOrPath(t,p,!1,!0)&&e._enqueueClient(s)}else!function(e,t,n,i,o){if(o=function(e,t,n,i){if(n.isCompound){var o=e.__dataCompoundStorage[n.target];o[i.compoundIndex]=t,t=o.join("")}return"attribute"!==n.kind&&("textContent"!==n.target&&("value"!==n.target||"input"!==e.localName&&"textarea"!==e.localName)||(t=void 0==t?"":t)),t}(t,o,n,i),b&&(o=b(o,n.target,n.kind,t)),"attribute"==n.kind)e._valueToNodeAttribute(t,o,n.target);else{var r=n.target;t.__isPropertyEffectsClient&&t.__dataHasAccessor&&t.__dataHasAccessor[r]?t[Le.READ_ONLY]&&t[Le.READ_ONLY][r]||t._setPendingProperty(r,o)&&e._enqueueClient(t):e._setUnmanagedPropertyToNode(t,r,o)}}(e,s,l,c,o.evaluator._evaluateBinding(e,c,t,n,i,r))}function Ze(e,t){if(t.isCompound){for(var n=e.__dataCompoundStorage||(e.__dataCompoundStorage={}),i=t.parts,o=new Array(i.length),r=0;r="0"&&i<="9"&&(i="#"),i){case"'":case'"':n.value=t.slice(1,-1),n.literal=!0;break;case"#":n.value=Number(t),n.literal=!0}return n.literal||(n.rootProperty=M(t),n.structured=F(t),n.structured&&(n.wildcard=".*"==t.slice(-2),n.wildcard&&(n.name=t.slice(0,-2)))),n}function ot(e,t,n,i){var o=n+".splices";e.notifyPath(o,{indexSplices:i}),e.notifyPath(n+".length",t.length),e.__data[o]={indexSplices:null}}function rt(e,t,n,i,o,r){ot(e,t,n,[{index:i,addedCount:o,removed:r,object:t,type:"splice"}])}var at=k(function(e){var t=Ee(_e(e)),n=function(e){function n(){!function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return e.__isPropertyEffectsClient=!0,e.__dataCounter=0,e.__dataClientsReady,e.__dataPendingClients,e.__dataToNotify,e.__dataLinkedPaths,e.__dataHasPaths,e.__dataCompoundStorage,e.__dataHost,e.__dataTemp,e.__dataClientsInitialized,e.__data,e.__dataPending,e.__dataOld,e.__computeEffects,e.__reflectEffects,e.__notifyEffects,e.__propagateEffects,e.__observeEffects,e.__readOnly,e.__templateInfo,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),Te(n,[{key:"_initializeProperties",value:function(){Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_initializeProperties",this).call(this),st.registerHost(this),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}},{key:"_initializeProtoProperties",value:function(e){this.__data=Object.create(e),this.__dataPending=Object.create(e),this.__dataOld={}}},{key:"_initializeInstanceProperties",value:function(e){var t=this[Le.READ_ONLY];for(var n in e)t&&t[n]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[n]=this.__dataPending[n]=e[n])}},{key:"_addPropertyEffect",value:function(e,t,n){this._createPropertyAccessor(e,t==Le.READ_ONLY);var i=Ne(this,t)[e];i||(i=this[t][e]=[]),i.push(n)}},{key:"_removePropertyEffect",value:function(e,t,n){var i=Ne(this,t)[e],o=i.indexOf(n);o>=0&&i.splice(o,1)}},{key:"_hasPropertyEffect",value:function(e,t){var n=this[t];return Boolean(n&&n[e])}},{key:"_hasReadOnlyEffect",value:function(e){return this._hasPropertyEffect(e,Le.READ_ONLY)}},{key:"_hasNotifyEffect",value:function(e){return this._hasPropertyEffect(e,Le.NOTIFY)}},{key:"_hasReflectEffect",value:function(e){return this._hasPropertyEffect(e,Le.REFLECT)}},{key:"_hasComputedEffect",value:function(e){return this._hasPropertyEffect(e,Le.COMPUTE)}},{key:"_setPendingPropertyOrPath",value:function(e,t,i,o){if(o||M(Array.isArray(e)?e[0]:e)!==e){if(!o){var r=V(this,e);if(!(e=K(this,e,t))||!Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_shouldPropertyChange",this).call(this,e,t,r))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(e,t,i))return function(e,t,n){var i=e.__dataLinkedPaths;if(i){var o=void 0;for(var r in i){var a=i[r];H(r,t)?(o=q(r,a,t),e._setPendingPropertyOrPath(o,n,!0,!0)):H(a,t)&&(o=q(a,r,t),e._setPendingPropertyOrPath(o,n,!0,!0))}}}(this,e,t),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[e])return this._setPendingProperty(e,t,i);this[e]=t}return!1}},{key:"_setUnmanagedPropertyToNode",value:function(e,t,n){n===e[t]&&"object"!=(void 0===n?"undefined":je(n))||(e[t]=n)}},{key:"_setPendingProperty",value:function(e,t,n){var i=this.__dataHasPaths&&F(e),o=i?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(e,t,o[e])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),e in this.__dataOld||(this.__dataOld[e]=this.__data[e]),i?this.__dataTemp[e]=t:this.__data[e]=t,this.__dataPending[e]=t,(i||this[Le.NOTIFY]&&this[Le.NOTIFY][e])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[e]=n),!0)}},{key:"_setProperty",value:function(e,t){this._setPendingProperty(e,t,!0)&&this._invalidateProperties()}},{key:"_invalidateProperties",value:function(){this.__dataReady&&this._flushProperties()}},{key:"_enqueueClient",value:function(e){this.__dataPendingClients=this.__dataPendingClients||[],e!==this&&this.__dataPendingClients.push(e)}},{key:"_flushProperties",value:function(){this.__dataCounter++,Ae(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"_flushProperties",this).call(this),this.__dataCounter--}},{key:"_flushClients",value:function(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}},{key:"__enableOrFlushClients",value:function(){var e=this.__dataPendingClients;if(e){this.__dataPendingClients=null;for(var t=0;t1?o-1:0),a=1;a3?i-3:0),r=3;r1?i-1:0),r=1;ri&&n.push({literal:e.slice(i,o.index)});var r=o[1][0],a=Boolean(o[2]),s=o[3].trim(),l=!1,c="",p=-1;"{"==r&&(p=s.indexOf("::"))>0&&(c=s.substring(p+2),s=s.substring(0,p),l=!0);var u=nt(s),d=[];if(u){for(var h=u.args,f=u.methodName,m=0;m2&&void 0!==arguments[2]?arguments[2]:"",o="";if(t.cssText||t.rules){var r=t.rules;if(r&&!function(e){var t=r[0];return Boolean(t)&&Boolean(t.selector)&&0===t.selector.indexOf(St)}())for(var a,s=0,l=r.length;s1&&void 0!==arguments[1]?arguments[1]:"",n=Dt(e);return this.transformRules(n,t),e.textContent=Nt(n),n}},{key:"transformCustomStyle",value:function(e){var t=this,n=Dt(e);return Ft(n,function(e){":root"===e.selector&&(e.selector="html"),t.transformRule(e)}),e.textContent=Nt(n),n}},{key:"transformRules",value:function(e,t){var n=this;this._currentElement=t,Ft(e,function(e){n.transformRule(e)}),this._currentElement=null}},{key:"transformRule",value:function(e){e.cssText=this.transformCssText(e.parsedCssText),":root"===e.selector&&(e.selector=":host > *")}},{key:"transformCssText",value:function(e){var t=this;return e=e.replace(Tt,function(e,n,i,o){return t._produceCssProperties(e,n,i,o)}),this._consumeCssProperties(e)}},{key:"_getInitialValueForProperty",value:function(e){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(e)}},{key:"_consumeCssProperties",value:function(e){for(var t=null;t=At.exec(e);){var n=t[0],i=t[1],o=t.index,r=o+n.indexOf("@apply"),a=o+n.length,s=e.slice(0,r),l=e.slice(a),c=this._cssTextToMap(s),p=this._atApplyToCssProperties(i,c);e=""+s+p+l,At.lastIndex=o+p.length}return e}},{key:"_atApplyToCssProperties",value:function(e,t){e=e.replace($t,"");var n=[],i=this._map.get(e);if(i||(this._map.set(e,{}),i=this._map.get(e)),i){this._currentElement&&(i.dependants[this._currentElement]=!0);var o=void 0,r=void 0,a=void 0,s=i.properties;for(o in s)r=[o,": var(",e,"_-_",o],(a=t&&t[o])&&r.push(",",a.replace(Vt,"")),r.push(")"),Vt.test(s[o])&&r.push(" !important"),n.push(r.join(""))}return n.join("; ")}},{key:"_replaceInitialOrInherit",value:function(e,t){var n=Ut.exec(t);return n&&(t=n[1]?this._getInitialValueForProperty(e):"apply-shim-inherit"),t}},{key:"_cssTextToMap",value:function(e){for(var t,n,i=e.split(";"),o=void 0,r=void 0,a={},s=0;s1&&(o=n[0].trim(),r=this._replaceInitialOrInherit(o,n.slice(1).join(":")),a[o]=r);return a}},{key:"_invalidateMixinEntry",value:function(e){if(Wt)for(var t in e.dependants)t!==this._currentElement&&Wt(t)}},{key:"_produceCssProperties",value:function(e,t,n,i){var o=this;if(n&&function e(t,n){var i=t.indexOf("var(");if(-1===i)return n(t,"","","");var o=function(e,t){for(var n=0,i=t,o=e.length;i-1?n=t:(i=t,n=e.getAttribute&&e.getAttribute("is")||""):(n=e.is,i=e.extends),{is:n,typeExtension:i}}(e).is,n=Xt[t];if(n&&!nn(n)){(function(e){return!nn(e)&&e[Qt]===e[Jt]})(n)||(this.prepareTemplate(n,t),function(e){e[Qt]=e[Jt],e._validating||(e._validating=!0,en.then(function(){e[Gt]=e[Jt],e._validating=!1}))}(n));var i=e.shadowRoot;if(i){var o=i.querySelector("style");o&&(o.__cssRules=n._styleAst,o.textContent=Nt(n._styleAst))}}}},{key:"styleDocument",value:function(e){this.ensure(),this.styleSubtree(document.body,e)}}]),e}();if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){var vn=new yn,bn=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate:function(e,t,n){vn.flushCustomStyles(),vn.prepareTemplate(e,t)},styleSubtree:function(e,t){vn.flushCustomStyles(),vn.styleSubtree(e,t)},styleElement:function(e){vn.flushCustomStyles(),vn.styleElement(e)},styleDocument:function(e){vn.flushCustomStyles(),vn.styleDocument(e)},getComputedStyleValue:function(e,t){return Bt(e,t)},flushCustomStyles:function(){vn.flushCustomStyles()},nativeCss:gt,nativeShadow:yt},bn&&(window.ShadyCSS.CustomStyleInterface=bn)}window.ShadyCSS.ApplyShim=mn;var gn=function(){function e(e,t){for(var n=0;n-1}var Tn=!1;function An(e){if(!En(e)&&"touchend"!==e)return wn&&Tn&&g?{passive:!0}:void 0}!function(){try{var e=Object.defineProperty({},"passive",{get:function(){Tn=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}}();var jn=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),In=function(){};In.prototype.reset,In.prototype.mousedown,In.prototype.mousemove,In.prototype.mouseup,In.prototype.touchstart,In.prototype.touchmove,In.prototype.touchend,In.prototype.click;var Rn=[],Ln={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0};function zn(e){var t=Array.prototype.slice.call(e.labels||[]);if(!t.length){t=[];var n=e.getRootNode();if(e.id)for(var i=n.querySelectorAll("label[for = "+e.id+"]"),o=0;o-1;if(o[r]===Mn.mouse.target)return}if(i)return;e.preventDefault(),e.stopPropagation()}};function Dn(e){for(var t,n=jn?["click"]:Cn,i=0;i0?t[0]:e.target}return e.target}function Kn(e){var t=void 0,n=e.type,i=e.currentTarget[kn];if(i){var o=i[n];if(o){if(!e[xn]&&(e[xn]={},"touch"===n.slice(0,5))){var r=(e=e).changedTouches[0];if("touchstart"===n&&1===e.touches.length&&(Mn.touch.id=r.identifier),Mn.touch.id!==r.identifier)return;wn||"touchstart"!==n&&"touchmove"!==n||function(e){var t=e.changedTouches[0],n=e.type;if("touchstart"===n)Mn.touch.x=t.clientX,Mn.touch.y=t.clientY,Mn.touch.scrollDecided=!1;else if("touchmove"===n){if(Mn.touch.scrollDecided)return;Mn.touch.scrollDecided=!0;var i=function(e){var t="auto",n=e.composedPath&&e.composedPath();if(n)for(var i,o=0;or:"pan-y"===i&&(o=r>a)),o?e.preventDefault():o("track")}}(e)}if(!(t=e[xn]).skip){for(var a,s=0;s<$n.length;s++)o[(a=$n[s]).name]&&!t[a.name]&&a.flow&&a.flow.start.indexOf(e.type)>-1&&a.reset&&a.reset();for(var l,c=0;c<$n.length;c++)o[(l=$n[c]).name]&&!t[l.name]&&(t[l.name]=!0,l[n](e))}}}}function Wn(e,t,n){return!!qn[t]&&(function(e,t,n){var i=qn[t],o=i.deps,r=i.name,a=e[kn];a||(e[kn]=a={});for(var s,l,c=0;c2&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,Hn(this.info)},hasMovedEnough:function(e,t){if(this.info.prevent)return!1;if(this.info.started)return!0;var n=Math.abs(this.info.x-e),i=Math.abs(this.info.y-t);return n>=5||i>=5},mousedown:function(e){if(Fn(e)){var t=Vn(e),n=this,i=function(e){var i=e.clientX,o=e.clientY;n.hasMovedEnough(i,o)&&(n.info.state=n.info.started?"mouseup"===e.type?"end":"track":"start","start"===n.info.state&&Jn("tap"),n.info.addMove({x:i,y:o}),Fn(e)||(n.info.state="end",Hn(n.info)),n._fire(t,e),n.info.started=!0)};Bn(this.info,i,function(e){n.info.started&&i(e),Hn(n.info)}),this.info.x=e.clientX,this.info.y=e.clientY}},touchstart:function(e){var t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove:function(e){var t=Vn(e),n=e.changedTouches[0],i=n.clientX,o=n.clientY;this.hasMovedEnough(i,o)&&("start"===this.info.state&&Jn("tap"),this.info.addMove({x:i,y:o}),this._fire(t,n),this.info.state="track",this.info.started=!0)},touchend:function(e){var t=Vn(e),n=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:n.clientX,y:n.clientY}),this._fire(t,n,e))},_fire:function(e,t){var n=this.info.moves[this.info.moves.length-2],i=this.info.moves[this.info.moves.length-1],o=i.x-this.info.x,r=i.y-this.info.y,a=void 0,s=0;n&&(a=i.x-n.x,s=i.y-n.y),Gn(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,dy:r,ddx:a,ddy:s,sourceEvent:t,hover:function(){return Un(t.clientX,t.clientY)}})}}),Zn({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},save:function(e){this.info.x=e.clientX,this.info.y=e.clientY},mousedown:function(e){Fn(e)&&this.save(e)},click:function(e){Fn(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[0],e)},touchend:function(e){this.forward(e.changedTouches[0],e)},forward:function(e,t){var n=Math.abs(e.clientX-this.info.x),i=Math.abs(e.clientY-this.info.y),o=Vn(t||e);o&&!o.disabled&&(isNaN(n)||isNaN(i)||n<=25&&i<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;var t=Vn(e);if(!t.nodeType||t.nodeType!==Node.ELEMENT_NODE)return!0;var n=t.getBoundingClientRect(),i=e.pageX,o=e.pageY;return!(i>=n.left&&i<=n.right&&o>=n.top&&o<=n.bottom)}return!1}(e))&&(this.info.prevent||Gn(o,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:t}))}});var ei=Vn,ti=Wn,ni=Yn,ii=function(){function e(e,t){for(var n=0;n-1&&ui.splice(e,1)}}}]),n}();return n.__activateDir=!1,n}),bi=!1,gi=[],_i=[];function wi(){bi=!0,requestAnimationFrame(function(){bi=!1,function(e){for(;e.length;)ki(e.shift())}(gi),setTimeout(function(){!function(e){for(var t=0,n=e.length;t0||n>0;)if(0!=t)if(0!=n){var r,a=e[t-1][n-1],s=e[t-1][n],l=e[t][n-1];(r=s0?ie.after(n):ae,t.bind(this))}},{key:"isDebouncerActive",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];return!(!t||!t.isActive())}},{key:"flushDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.flush()}},{key:"cancelDebouncer",value:function(e){this._debouncers=this._debouncers||{};var t=this._debouncers[e];t&&t.cancel()}},{key:"async",value:function(e,t){return t>0?ie.run(e.bind(this),t):~ae.run(e.bind(this))}},{key:"cancelAsync",value:function(e){e<0?ae.cancel(~e):ie.cancel(e)}},{key:"create",value:function(e,t){var n=document.createElement(e);if(t)if(n.setProperties)n.setProperties(t);else for(var i in t)n[i]=t[i];return n}},{key:"elementMatches",value:function(e,t){return qi(t||this,e)}},{key:"toggleAttribute",value:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.hasAttribute(e)),t?n.setAttribute(e,""):n.removeAttribute(e)}},{key:"toggleClass",value:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.classList.contains(e)),t?n.classList.add(e):n.classList.remove(e)}},{key:"transform",value:function(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e}},{key:"translate3d",value:function(e,t,n,i){i=i||this,this.transform("translate3d("+e+","+t+","+n+")",i)}},{key:"arrayDelete",value:function(e,t){var n=void 0;if(Array.isArray(e)){if((n=e.indexOf(t))>=0)return e.splice(n,1)}else if((n=V(this,e).indexOf(t))>=0)return this.splice(e,n,1);return null}},{key:"_logger",value:function(e,t){var n;switch(Array.isArray(t)&&1===t.length&&Array.isArray(t[0])&&(t=t[0]),e){case"log":case"warn":case"error":(n=console)[e].apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?t-1:0),i=1;i=0;o--){var r=t[o];r?Array.isArray(r)?e(r,n):n.indexOf(r)<0&&(!i||i.indexOf(r)<0)&&n.unshift(r):console.warn("behavior is null, check for missing or 404 import")}return n}(e,null,n),t),n&&(e=n.concat(e)),t.prototype.behaviors=e,t}function eo(e,t){var n=function(n){function i(){return function(e,t){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(i.__proto__||Object.getPrototypeOf(i)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,t),Xi(i,[{key:"created",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"created",this).call(this),e.created&&e.created.call(this)}},{key:"_registered",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_registered",this).call(this),e.beforeRegister&&e.beforeRegister.call(Object.getPrototypeOf(this)),e.registered&&e.registered.call(Object.getPrototypeOf(this))}},{key:"_applyListeners",value:function(){if(Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_applyListeners",this).call(this),e.listeners)for(var t in e.listeners)this._addMethodEventListenerToNode(this,t,e.listeners[t])}},{key:"_ensureAttributes",value:function(){if(e.hostAttributes)for(var t in e.hostAttributes)this._ensureAttribute(t,e.hostAttributes[t]);Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"_ensureAttributes",this).call(this)}},{key:"ready",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"ready",this).call(this),e.ready&&e.ready.call(this)}},{key:"attached",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"attached",this).call(this),e.attached&&e.attached.call(this)}},{key:"detached",value:function(){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"detached",this).call(this),e.detached&&e.detached.call(this)}},{key:"attributeChanged",value:function(t,n,o){Gi(i.prototype.__proto__||Object.getPrototypeOf(i.prototype),"attributeChanged",this).call(this,t,n,o),e.attributeChanged&&e.attributeChanged.call(this,t,n,o)}}],[{key:"properties",get:function(){return e.properties}},{key:"observers",get:function(){return e.observers}},{key:"template",get:function(){return e._template||D&&D.import(this.is,"template")||t.template||this.prototype._template||null}}]),i}();for(var i in n.generatedFrom=e,e)if(!(i in Ji)){var o=Object.getOwnPropertyDescriptor(e,i);o&&Object.defineProperty(n.prototype,i,o)}return n}var to=function e(t){var n;return n="function"==typeof t?t:e.Class(t),customElements.define(n.is,n),n};to.Class=function(e){e||console.warn("Polymer's Class function requires `info` argument");var t=eo(e,e.behaviors?Qi(e.behaviors,HTMLElement):Zi(HTMLElement));return t.is=e.is,t};var no=function(){function e(e,t){for(var n=0;n can only be templatized once");e.__templatizeOwner=t;var i=(t?t.constructor:_o)._parseTemplate(e),o=i.templatizeInstanceClass;o||(o=function(e,t,n){var i=n.mutableData?wo:_o,o=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,i),t}();return o.prototype.__templatizeOptions=n,o.prototype._bindTemplate(e),function(e,t,n,i){var o=n.hostProps||{};for(var r in i.instanceProps){delete o[r];var a=i.notifyInstanceProp;a&&e.prototype._addPropertyEffect(r,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:xo(0,a)})}if(i.forwardHostProp&&t.__dataHost)for(var s in o)e.prototype._addPropertyEffect(s,e.prototype.PROPERTY_EFFECT_TYPES.NOTIFY,{fn:function(e,t,n){e.__dataHost._setPendingPropertyOrPath("_host_"+t,n[t],!0,!0)}})}(o,e,t,n),o}(e,i,n),i.templatizeInstanceClass=o),function(e,t,n){var i=n.forwardHostProp;if(i){var o=t.templatizeTemplateClass;if(!o){var r=n.mutableData?bo:vo;o=t.templatizeTemplateClass=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,r),t}();var a=t.hostProps;for(var s in a)o.prototype._addPropertyEffect("_host_"+s,o.prototype.PROPERTY_EFFECT_TYPES.PROPAGATE,{fn:ko(0,i)}),o.prototype._createNotifyingProperty("_host_"+s)}!function(e,t){mo=e,Object.setPrototypeOf(e,t.prototype),new t,mo=null}(e,o),e.__dataProto&&Object.assign(e.__data,e.__dataProto),e.__dataTemp={},e.__dataPending=null,e.__dataOld=null,e._enableProperties()}}(e,i,n);var r=function(e){function t(){return fo(this,t),uo(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return ho(t,o),t}();return r.prototype._methodHost=function(e){var t=e.__dataHost;return t&&t._methodHost||t}(e),r.prototype.__dataHost=e,r.prototype.__templatizeOwner=t,r.prototype.__hostProps=i.hostProps,r}var Co=function(){function e(e,t){for(var n=0;n child");n.disconnect(),e.render()});return void n.observe(this,{childList:!0})}this.root=this._stampTemplate(t),this.$=this.root.$,this.__children=[];for(var i=this.root.firstChild;i;i=i.nextSibling)this.__children[this.__children.length]=i;this._enableProperties()}this.__insertChildren(),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0}))}}]),t}();customElements.define("dom-bind",Po);var Eo=function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0},To=function(){function e(e,t){for(var n=0;n child");n.disconnect(),e.__render()});return n.observe(this,{childList:!0}),!1}var i={};i[this.as]=!0,i[this.indexAs]=!0,i[this.itemsIndexAs]=!0,this.__ctor=Oo(t,this,{mutableData:this.mutableData,parentModel:!0,instanceProps:i,forwardHostProp:function(e,t){for(var n,i=this.__instances,o=0;o1&&void 0!==arguments[1]?arguments[1]:0;this.__renderDebouncer=_n.debounce(this.__renderDebouncer,t>0?ie.after(t):ae,e.bind(this)),zi(this.__renderDebouncer)}},{key:"render",value:function(){this.__debounceRender(this.__render),Di()}},{key:"__render",value:function(){this.__ensureTemplatized()&&(this.__applyFullRefresh(),this.__pool.length=0,this._setRenderedItemCount(this.__instances.length),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0})),this.__tryRenderChunk())}},{key:"__applyFullRefresh",value:function(){for(var e=this,t=this.items||[],n=new Array(t.length),i=0;i=r;p--)this.__detachAndRemoveInstance(p)}},{key:"__detachInstance",value:function(e){for(var t=this.__instances[e],n=0;n child");i.disconnect(),e.__render()});return i.observe(this,{childList:!0}),!1}this.__ctor=Oo(n,this,{mutableData:!0,forwardHostProp:function(e,t){this.__instance&&(this.if?this.__instance.forwardHostProp(e,t):(this.__invalidProps=this.__invalidProps||Object.create(null),this.__invalidProps[M(e)]=!0))}})}if(this.__instance){this.__syncHostProperties();var o=this.__instance.children;if(o&&o.length&&this.previousSibling!==o[o.length-1])for(var r,a=0;a=o.index+o.removed.length?n.set(t,e+o.addedCount-o.removed.length):n.set(t,-1))});for(var r=0;r=0&&e.linkPaths("items."+n,"selected."+t++)})}else this.__selectedMap.forEach(function(t){e.linkPaths("selected","items."+t),e.linkPaths("selectedItem","items."+t)})}},{key:"clearSelection",value:function(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}},{key:"isSelected",value:function(e){return this.__selectedMap.has(e)}},{key:"isIndexSelected",value:function(e){return this.isSelected(this.items[e])}},{key:"__deselectChangedIdx",value:function(e){var t=this,n=this.__selectedIndexForItemIndex(e);if(n>=0){var i=0;this.__selectedMap.forEach(function(e,o){n==i++&&t.deselect(o)})}}},{key:"__selectedIndexForItemIndex",value:function(e){var t=this.__dataLinkedPaths["items."+e];if(t)return parseInt(t.slice("selected.".length),10)}},{key:"deselect",value:function(e){var t=this.__selectedMap.get(e);if(t>=0){this.__selectedMap.delete(e);var n=void 0;this.multi&&(n=this.__selectedIndexForItemIndex(t)),this.__updateLinks(),this.multi?this.splice("selected",n,1):this.selected=this.selectedItem=null}}},{key:"deselectIndex",value:function(e){this.deselect(this.items[e])}},{key:"select",value:function(e){this.selectIndex(this.items.indexOf(e))}},{key:"selectIndex",value:function(e){var t=this.items[e];this.isSelected(t)?this.toggle&&this.deselectIndex(e):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(t,e),this.__updateLinks(),this.multi?this.push("selected",t):this.selected=this.selectedItem=t)}}]),n}()})(mt),Bo=function(e){function t(){return No(this,t),Do(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return Fo(t,Mo),zo(t,null,[{key:"is",get:function(){return"array-selector"}}]),t}();customElements.define(Bo.is,Bo);var Ho=new hn;window.ShadyCSS||(window.ShadyCSS={prepareTemplate:function(e,t,n){},styleSubtree:function(e,t){Ho.processStyles(),Mt(e,t)},styleElement:function(e){Ho.processStyles()},styleDocument:function(e){Ho.processStyles(),Mt(document.body,e)},getComputedStyleValue:function(e,t){return Bt(e,t)},flushCustomStyles:function(){},nativeCss:gt,nativeShadow:yt}),window.ShadyCSS.CustomStyleInterface=Ho;var qo=function(){function e(e,t){for(var n=0;n0&&(u="/"+u),this.tail&&this.tail.prefix===p&&this.tail.path===u||(c.tail={prefix:p,path:u,__queryParams:this.route.__queryParams}),c.data=r,this._dataInUrl={},r)this._dataInUrl[d]=r[d];this.setProperties?this.setProperties(c,!0):this.__setMulti(c)}else this.__resetProperties()}},__tailPathChanged:function(e){if(this.active){var t=e,n=this._matched;t&&("/"!==t.charAt(0)&&(t="/"+t),n+=t),this.set("route.path",n)}},__updatePathOnDataChange:function(){if(this.route&&this.active){var e=this.__getLink({});e!==this.__getLink(this._dataInUrl)&&this.set("route.path",e)}},__getLink:function(e){var t={tail:null};for(var n in this.data)t[n]=this.data[n];for(var n in e)t[n]=e[n];var i=this.pattern.split("/").map(function(e){return":"==e[0]&&(e=t[e.slice(1)]),e},this);return t.tail&&t.tail.path&&(i.length>0&&"/"===t.tail.path.charAt(0)?i.push(t.tail.path.slice(1)):i.push(t.tail.path)),i.join("/")},__setMulti:function(e){for(var t in e)this._propertySetter(t,e[t]);void 0!==e.data&&(this._pathEffector("data",this.data),this._notifyChange("data")),void 0!==e.active&&(this._pathEffector("active",this.active),this._notifyChange("active")),void 0!==e.tail&&(this._pathEffector("tail",this.tail),this._notifyChange("tail"))}});var Ko=document.createElement("template");Ko.setAttribute("style","display: none;"),Ko.innerHTML='\n \n\n \n',document.head.appendChild(Ko.content);var Wo=document.createElement("style");Wo.textContent="[hidden] { display: none !important; }",document.head.appendChild(Wo);var Yo,Zo,Xo=(Yo=["\n \n\n \n"],Zo=["\n \n\n \n"],Object.freeze(Object.defineProperties(Yo,{raw:{value:Object.freeze(Zo)}})));to({_template:l(Xo),is:"app-toolbar"});var Go=document.createElement("template");Go.setAttribute("style","display: none;"),Go.innerHTML='\n \n\n \n\n \n\n \n\n \n',document.head.appendChild(Go.content);var Jo=document.createElement("template");Jo.setAttribute("style","display: none;"),Jo.innerHTML='\n \n',document.head.appendChild(Jo.content);var Qo={properties:{active:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"__activeChanged"},alt:{type:String,value:"loading",observer:"__altChanged"},__coolingDown:{type:Boolean,value:!1}},__computeContainerClasses:function(e,t){return[e||t?"active":"",t?"cooldown":""].join(" ")},__activeChanged:function(e,t){this.__setAriaHidden(!e),this.__coolingDown=!e&&t},__altChanged:function(e){"loading"===e?this.alt=this.getAttribute("aria-label")||e:(this.__setAriaHidden(""===e),this.setAttribute("aria-label",e))},__setAriaHidden:function(e){e?this.setAttribute("aria-hidden","true"):this.removeAttribute("aria-hidden")},__reset:function(){this.active=!1,this.__coolingDown=!1}},er=(n(7),document.createElement("template"));er.setAttribute("style","display: none;"),er.innerHTML='\n \n\n \n',document.head.appendChild(er.content),to({is:"paper-spinner",behaviors:[Qo]});var tr=function e(t){e[" "](t),this.type=t&&t.type||"default",this.key=t&&t.key,t&&"value"in t&&(this.value=t.value)};tr[" "]=function(){},tr.types={},tr.prototype={get value(){var e=this.type,t=this.key;if(e&&t)return tr.types[e]&&tr.types[e][t]},set value(e){var t=this.type,n=this.key;t&&n&&(t=tr.types[t]=tr.types[t]||{},null==e?delete t[n]:t[n]=e)},get list(){if(this.type){var e=tr.types[this.type];return e?Object.keys(e).map(function(e){return nr[this.type][e]},this):[]}},byKey:function(e){return this.key=e,this.value}};var nr=tr.types;to({is:"iron-meta",properties:{type:{type:String,value:"default"},key:{type:String},value:{type:String,notify:!0},self:{type:Boolean,observer:"_selfChanged"},__meta:{type:Boolean,computed:"__computeMeta(type, key, value)"}},hostAttributes:{hidden:!0},__computeMeta:function(e,t,n){var i=new tr({type:e,key:t});return void 0!==n&&n!==i.value?i.value=n:this.value!==i.value&&(this.value=i.value),i},get list(){return this.__meta&&this.__meta.list},_selfChanged:function(e){e&&(this.value=this)},byKey:function(e){return new tr({type:this.type,key:e}).value}});var ir=Object.freeze(Object.defineProperties(["\n \n"],{raw:{value:Object.freeze(["\n \n"])}}));to({_template:l(ir),is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:Vo.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Vi(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.removeIcon(this),this._img||(this._img=document.createElement("img"),this._img.style.width="100%",this._img.style.height="100%",this._img.draggable=!1),this._img.src=this.src,Vi(this.root).appendChild(this._img))}});var or={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},rr={8:"backspace",9:"tab",13:"enter",27:"esc",33:"pageup",34:"pagedown",35:"end",36:"home",32:"space",37:"left",38:"up",39:"right",40:"down",46:"del",106:"*"},ar={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},sr=/[a-z0-9*]/,lr=/U\+/,cr=/^arrow/,pr=/^space(bar)?/,ur=/^escape$/;function dr(e,t){var n="";if(e){var i=e.toLowerCase();" "===i||pr.test(i)?n="space":ur.test(i)?n="esc":1==i.length?t&&!sr.test(i)||(n=i):n=cr.test(i)?i.replace("arrow",""):"multiply"==i?"*":i}return n}function hr(e,t){return n=t,i=e.hasModifiers,(n.key?dr(n.key,i):n.detail&&n.detail.key?dr(n.detail.key,i):(r="",(o=n.keyIdentifier)&&(o in or?r=or[o]:lr.test(o)?(o=parseInt(o.replace("U+","0x"),16),r=String.fromCharCode(o).toLowerCase()):r=o.toLowerCase()),r||function(e){var t="";return Number(e)&&(t=e>=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112+1):e>=48&&e<=57?String(e-48):e>=96&&e<=105?String(e-96):rr[e]),t}(n.keyCode)||""))===e.key&&(!e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKey==!!e.metaKey);var n,i,o,r}function fr(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),i=n[0],o=n[1];return i in ar?(e[ar[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=o||"keydown"),e},{combo:e.split(":").shift()})}(e)})}var mr={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var n=fr(t),i=0;i\n :host {\n display: block;\n position: absolute;\n border-radius: inherit;\n overflow: hidden;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n /* See PolymerElements/paper-behaviors/issues/34. On non-Chrome browsers,\n * creating a node (with a position:absolute) in the middle of an event\n * handler "interrupts" that event handler (which happens when the\n * ripple is created on demand) */\n pointer-events: none;\n }\n\n :host([animating]) {\n /* This resolves a rendering issue in Chrome (as of 40) where the\n ripple is not properly clipped by its parent (which may have\n rounded corners). See: http://jsbin.com/temexa/4\n\n Note: We only apply this style conditionally. Otherwise, the browser\n will create a new compositing layer for every ripple element on the\n page, and that would be bad. */\n -webkit-transform: translate(0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n #background,\n #waves,\n .wave-container,\n .wave {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n #background,\n .wave {\n opacity: 0;\n }\n\n #waves,\n .wave {\n overflow: hidden;\n }\n\n .wave-container,\n .wave {\n border-radius: 50%;\n }\n\n :host(.circle) #background,\n :host(.circle) #waves {\n border-radius: 50%;\n }\n\n :host(.circle) .wave-container {\n overflow: hidden;\n }\n \n\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n
    \n'])}})),_r={distance:function(e,t,n,i){var o=e-n,r=t-i;return Math.sqrt(o*o+r*r)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function wr(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function kr(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Vi(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}wr.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var n=_r.distance(e,t,0,0),i=_r.distance(e,t,this.width,0),o=_r.distance(e,t,0,this.height),r=_r.distance(e,t,this.width,this.height);return Math.max(n,i,o,r)}},kr.MAX_RADIUS=300,kr.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=_r.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?_r.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),kr.MAX_RADIUS)+5,i=1.1-n/kr.MAX_RADIUS*.2,o=this.mouseInteractionSeconds/i,r=n*(1-Math.pow(80,-o));return Math.abs(r)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,kr.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,kr.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new wr(this.element)},draw:function(){var e,t,n;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,n=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+n+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+n+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(e){var t=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=_r.now(),this.center?(this.xStart=t,this.yStart=n,this.slideDistance=_r.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=e?e.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=e?e.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=t,this.yEnd=n,this.slideDistance=_r.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(e){this.isMouseDown&&(this.mouseUpStart=_r.now())},remove:function(){Vi(this.waveContainer.parentNode).removeChild(this.waveContainer)}},to({_template:l(gr),is:"paper-ripple",behaviors:[mr],properties:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Vi(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new kr(this);return Vi(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e\n .invisible {\n visibility: hidden;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),Ir=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ar(t,[{key:"computeMenuButtonClass",value:function(e,t){return!e&&t?"invisible":""}},{key:"toggleMenu",value:function(e){e.stopPropagation(),this.fire("hass-open-menu")}},{key:"_getIcon",value:function(e){return(e?"hassio":"hass")+":menu"}}],[{key:"template",get:function(){return l(jr)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},hassio:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-menu-button",Ir);var Rr=function(){function e(e,t){for(var n=0;n\n .placeholder {\n height: 100%;\n }\n\n .layout {\n height: calc(100% - 64px);\n }\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'])}})),zr=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Rr(t,null,[{key:"template",get:function(){return l(Lr)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}}}]),t}();customElements.define("hass-loading-screen",zr);var Nr={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this)},attached:function(){this._requestResizeNotifications()},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):window.removeEventListener("resize",this._boundNotifyResize),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable=e},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this.unlisten(e,"iron-resize","_onDescendantIronResize"))},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():y||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Vi(e).rootTarget;t!==this&&(-1===this._interestedResizables.indexOf(t)&&(this._interestedResizables.push(t),this.listen(t,"iron-resize","_onDescendantIronResize")),t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)},_requestResizeNotifications:function(){if(this.isAttached)if("loading"===document.readyState){var e=this._requestResizeNotifications.bind(this);document.addEventListener("readystatechange",function t(){document.removeEventListener("readystatechange",t),e()})}else this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable||(window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())}},Dr=[Nr,{listeners:{"app-reset-layout":"_appResetLayoutHandler","iron-resize":"resetLayout"},attached:function(){this.fire("app-reset-layout")},_appResetLayoutHandler:function(e){Vi(e).path[0]!==this&&(this.resetLayout(),e.stopPropagation())},_updateLayoutStates:function(){console.error("unimplemented")},resetLayout:function(){var e=this._updateLayoutStates.bind(this);o&&oe?(this._layoutDebouncer=_n.debounce(this._layoutDebouncer,oe,e),zi(this._layoutDebouncer)):this.debounce("resetLayout",e),this._notifyDescendantResize()},_notifyLayoutChanged:function(){var e=this;requestAnimationFrame(function(){e.fire("app-reset-layout")})},_notifyDescendantResize:function(){this.isAttached&&this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this)}}],Fr=Object.freeze(Object.defineProperties(['\n \n\n
    \n \n\n
    \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n\n
    \n \n
    \n
    \n'])}}));to({_template:l(Fr),is:"app-header-layout",behaviors:[Dr],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Vi(this.$.headerSlot).getDistributedNodes()[0]},_updateLayoutStates:function(){var e=this.header;if(this.isAttached&&e){this.$.wrapper.classList.remove("initializing"),e.scrollTarget=this.hasScrollingRegion?this.$.contentContainer:this.ownerDocument.documentElement;var t=e.offsetHeight;this.hasScrollingRegion?(e.style.left="",e.style.right=""):requestAnimationFrame(function(){var t=this.getBoundingClientRect(),n=document.documentElement.clientWidth-t.right;e.style.left=t.left+"px",e.style.right=n+"px"}.bind(this));var n=this.$.contentContainer.style;e.fixed&&!e.condenses&&this.hasScrollingRegion?(n.marginTop=t+"px",n.paddingTop=""):(n.paddingTop=t+"px",n.marginTop="")}}});var Mr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Br={},Hr=[{properties:{scrollTarget:{type:HTMLElement,value:function(){return this._defaultScrollTarget}}},observers:["_scrollTargetChanged(scrollTarget, isAttached)"],_shouldHaveListener:!0,_scrollTargetChanged:function(e,t){if(this._oldScrollTarget&&(this._toggleScrollListener(!1,this._oldScrollTarget),this._oldScrollTarget=null),t)if("document"===e)this.scrollTarget=this._doc;else if("string"==typeof e){var n=this.domHost;this.scrollTarget=n&&n.$?n.$[e]:Vi(this.ownerDocument).querySelector("#"+e)}else this._isValidScrollTarget()&&(this._oldScrollTarget=e,this._toggleScrollListener(this._shouldHaveListener,e))},_scrollHandler:function(){},get _defaultScrollTarget(){return this._doc},get _doc(){return this.ownerDocument.documentElement},get _scrollTop(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageYOffset:this.scrollTarget.scrollTop:0},get _scrollLeft(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageXOffset:this.scrollTarget.scrollLeft:0},set _scrollTop(e){this.scrollTarget===this._doc?window.scrollTo(window.pageXOffset,e):this._isValidScrollTarget()&&(this.scrollTarget.scrollTop=e)},set _scrollLeft(e){this.scrollTarget===this._doc?window.scrollTo(e,window.pageYOffset):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=e)},scroll:function(e,t){var n;"object"===(void 0===e?"undefined":Mr(e))?(n=e.left,t=e.top):n=e,n=n||0,t=t||0,this.scrollTarget===this._doc?window.scrollTo(n,t):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=n,this.scrollTarget.scrollTop=t)},get _scrollTargetWidth(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerWidth:this.scrollTarget.offsetWidth:0},get _scrollTargetHeight(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerHeight:this.scrollTarget.offsetHeight:0},_isValidScrollTarget:function(){return this.scrollTarget instanceof HTMLElement},_toggleScrollListener:function(e,t){var n=t===this._doc?window:t;e?this._boundScrollHandler||(this._boundScrollHandler=this._scrollHandler.bind(this),n.addEventListener("scroll",this._boundScrollHandler)):this._boundScrollHandler&&(n.removeEventListener("scroll",this._boundScrollHandler),this._boundScrollHandler=null)},toggleScrollListener:function(e){this._shouldHaveListener=e,this._toggleScrollListener(e,this.scrollTarget)}},{properties:{effects:{type:String},effectsConfig:{type:Object,value:function(){return{}}},disabled:{type:Boolean,reflectToAttribute:!0,value:!1},threshold:{type:Number,value:0},thresholdTriggered:{type:Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_effectsChanged(effects, effectsConfig, isAttached)"],_updateScrollState:function(e){},isOnScreen:function(){return!1},isContentBelow:function(){return!1},_effectsRunFn:null,_effects:null,get _clampedScrollTop(){return Math.max(0,this._scrollTop)},detached:function(){this._tearDownEffects()},createEffect:function(e,t){var n=Br[e];if(!n)throw new ReferenceError(this._getUndefinedMsg(e));var i=this._boundEffect(n,t||{});return i.setUp(),i},_effectsChanged:function(e,t,n){this._tearDownEffects(),e&&n&&(e.split(" ").forEach(function(e){var n;""!==e&&((n=Br[e])?this._effects.push(this._boundEffect(n,t[e])):console.warn(this._getUndefinedMsg(e)))},this),this._setUpEffect())},_layoutIfDirty:function(){return this.offsetWidth},_boundEffect:function(e,t){t=t||{};var n=parseFloat(t.startsAt||0),i=parseFloat(t.endsAt||1),o=i-n,r=function(){},a=0===n&&1===i?e.run:function(t,i){e.run.call(this,Math.max(0,(t-n)/o),i)};return{setUp:e.setUp?e.setUp.bind(this,t):r,run:e.run?a.bind(this):r,tearDown:e.tearDown?e.tearDown.bind(this):r}},_setUpEffect:function(){this.isAttached&&this._effects&&(this._effectsRunFn=[],this._effects.forEach(function(e){!1!==e.setUp()&&this._effectsRunFn.push(e.run)},this))},_tearDownEffects:function(){this._effects&&this._effects.forEach(function(e){e.tearDown()}),this._effectsRunFn=[],this._effects=[]},_runEffects:function(e,t){this._effectsRunFn&&this._effectsRunFn.forEach(function(n){n(e,t)})},_scrollHandler:function(){if(!this.disabled){var e=this._clampedScrollTop;this._updateScrollState(e),this.threshold>0&&this._setThresholdTriggered(e>=this.threshold)}},_getDOMRef:function(e){console.warn("_getDOMRef","`"+e+"` is undefined")},_getUndefinedMsg:function(e){return"Scroll effect `"+e+"` is undefined. Did you forget to import app-layout/app-scroll-effects/effects/"+e+".html ?"}}],qr=Object.freeze(Object.defineProperties(['\n \n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n
    \n'])}}));to({_template:l(qr),is:"app-header",behaviors:[Hr,Dr],properties:{condenses:{type:Boolean,value:!1},fixed:{type:Boolean,value:!1},reveals:{type:Boolean,value:!1},shadow:{type:Boolean,reflectToAttribute:!0,value:!1}},observers:["_configChanged(isAttached, condenses, fixed)"],_height:0,_dHeight:0,_stickyElTop:0,_stickyElRef:null,_top:0,_progress:0,_wasScrollingDown:!1,_initScrollTop:0,_initTimestamp:0,_lastTimestamp:0,_lastScrollTop:0,get _maxHeaderTop(){return this.fixed?this._dHeight:this._height+5},get _stickyEl(){if(this._stickyElRef)return this._stickyElRef;for(var e,t=Vi(this.$.slot).getDistributedNodes(),n=0;e=t[n];n++)if(e.nodeType===Node.ELEMENT_NODE){if(e.hasAttribute("sticky")){this._stickyElRef=e;break}this._stickyElRef||(this._stickyElRef=e)}return this._stickyElRef},_configChanged:function(){this.resetLayout(),this._notifyLayoutChanged()},_updateLayoutStates:function(){if(0!==this.offsetWidth||0!==this.offsetHeight){var e=this._clampedScrollTop,t=0===this._height||0===e,n=this.disabled;this._height=this.offsetHeight,this._stickyElRef=null,this.disabled=!0,t||this._updateScrollState(0,!0),this._mayMove()?this._dHeight=this._stickyEl?this._height-this._stickyEl.offsetHeight:0:this._dHeight=0,this._stickyElTop=this._stickyEl?this._stickyEl.offsetTop:0,this._setUpEffect(),t?this._updateScrollState(e,!0):(this._updateScrollState(this._lastScrollTop,!0),this._layoutIfDirty()),this.disabled=n}},_updateScrollState:function(e,t){if(0!==this._height){var n,i=0,o=this._top,r=(this._lastScrollTop,this._maxHeaderTop),a=e-this._lastScrollTop,s=Math.abs(a),l=e>this._lastScrollTop,c=performance.now();if(this._mayMove()&&(i=this._clamp(this.reveals?o+a:e,0,r)),e>=this._dHeight&&(i=this.condenses&&!this.fixed?Math.max(this._dHeight,i):i,this.style.transitionDuration="0ms"),this.reveals&&!this.disabled&&s<100&&((c-this._initTimestamp>300||this._wasScrollingDown!==l)&&(this._initScrollTop=e,this._initTimestamp=c),e>=r))if(Math.abs(this._initScrollTop-e)>30||s>10){l&&e>=r?i=r:!l&&e>=this._dHeight&&(i=this.condenses&&!this.fixed?this._dHeight:0);var p=a/(c-this._lastTimestamp);this.style.transitionDuration=this._clamp((i-o)/p,0,300)+"ms"}else i=this._top;n=0===this._dHeight?e>0?1:0:i/this._dHeight,t||(this._lastScrollTop=e,this._top=i,this._wasScrollingDown=l,this._lastTimestamp=c),(t||n!==this._progress||o!==i||0===e)&&(this._progress=n,this._runEffects(n,i),this._transformHeader(i))}},_mayMove:function(){return this.condenses||!this.fixed},willCondense:function(){return this._dHeight>0&&this.condenses},isOnScreen:function(){return 0!==this._height&&this._top0:this._clampedScrollTop-this._maxHeaderTop>=0},_transformHeader:function(e){this.translate3d(0,-e+"px",0),this._stickyEl&&this.translate3d(0,this.condenses&&e>=this._stickyElTop?Math.min(e,this._dHeight)-this._stickyElTop+"px":0,0,this._stickyEl)},_clamp:function(e,t,n){return Math.min(n,Math.max(t,e))},_ensureBgContainers:function(){this._bgContainer||(this._bgContainer=document.createElement("div"),this._bgContainer.id="background",this._bgRear=document.createElement("div"),this._bgRear.id="backgroundRearLayer",this._bgContainer.appendChild(this._bgRear),this._bgFront=document.createElement("div"),this._bgFront.id="backgroundFrontLayer",this._bgContainer.appendChild(this._bgFront),Vi(this.root).insertBefore(this._bgContainer,this.$.contentContainer))},_getDOMRef:function(e){switch(e){case"backgroundFrontLayer":return this._ensureBgContainers(),this._bgFront;case"backgroundRearLayer":return this._ensureBgContainers(),this._bgRear;case"background":return this._ensureBgContainers(),this._bgContainer;case"mainTitle":return Vi(this).querySelector("[main-title]");case"condensedTitle":return Vi(this).querySelector("[condensed-title]")}return null},getScrollState:function(){return{progress:this._progress,top:this._top}}});var $r=document.createElement("template");$r.setAttribute("style","display: none;"),$r.innerHTML='\n \n',document.head.appendChild($r.content),n(6);var Ur=document.createElement("template");Ur.setAttribute("style","display: none;"),Ur.innerHTML="\n \n",document.head.appendChild(Ur.content);var Vr=document.createElement("template");Vr.setAttribute("style","display: none;"),Vr.innerHTML='\n \n\n \n\n \n\n \n',document.head.appendChild(Vr.content);var Kr={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Vi(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},get __shouldPosition(){return(this.horizontalAlign||this.verticalAlign)&&("center"!==this.horizontalAlign||"middle"!==this.verticalAlign)},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):(window.ShadyDOM&&ShadyDOM.flush(),this.fit()))},detached:function(){this.__deferredFit&&(clearTimeout(this.__deferredFit),this.__deferredFit=null)},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"",position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.__shouldPosition){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),n=this.__getNormalizedRect(this.fitInto),i=this._fitInfo.margin,o={width:e.width+i.left+i.right,height:e.height+i.top+i.bottom},r=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,o,e,t,n),a=r.left+i.left,s=r.top+i.top,l=Math.min(n.right-i.right,a+e.width),c=Math.min(n.bottom-i.bottom,s+e.height);a=Math.max(n.left+i.left,Math.min(a,l-this._fitInfo.sizedBy.minWidth)),s=Math.max(n.top+i.top,Math.min(s,c-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(l-a,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(c-s,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=a-e.left+"px",this.style.top=s-e.top+"px"}},constrain:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,n,i,o){this.__sizeDimension(e,t,n,i,o)},__sizeDimension:function(e,t,n,i,o){var r=this._fitInfo,a=this.__getNormalizedRect(this.fitInto),s="Width"===o?a.width:a.height,l=t===i,c=l?s-e[i]:e[n],p=r.margin[l?n:i],u="offset"+o,d=this[u]-this.sizingTarget[u];this.sizingTarget.style["max"+o]=s-p-c-d+"px"},center:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),n=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var i=n.top-t.top+(n.height-t.height)/2;this.style.top=i+"px"}if(!e.horizontally){var o=n.left-t.left+(n.width-t.width)/2;this.style.left=o+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getOffscreenArea:function(e,t,n){var i=Math.min(0,e.top)+Math.min(0,n.bottom-(e.top+t.height)),o=Math.min(0,e.left)+Math.min(0,n.right-(e.left+t.width));return Math.abs(i)*t.width+Math.abs(o)*t.height},__getPosition:function(e,t,n,i,o,r){var a,s=[{verticalAlign:"top",horizontalAlign:"left",top:o.top+this.verticalOffset,left:o.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:o.top+this.verticalOffset,left:o.right-n.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:o.bottom-n.height-this.verticalOffset,left:o.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:o.bottom-n.height-this.verticalOffset,left:o.right-n.width-this.horizontalOffset}];if(this.noOverlap){for(var l=0,c=s.length;l\n :host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--iron-overlay-backdrop-background-color, #000);\n opacity: 0;\n transition: opacity 0.2s;\n pointer-events: none;\n @apply --iron-overlay-backdrop;\n }\n\n :host(.opened) {\n opacity: var(--iron-overlay-backdrop-opacity, 0.6);\n pointer-events: auto;\n @apply --iron-overlay-backdrop-opened;\n }\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Wr),is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Vi(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Vi(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}});var Yr=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,ti(document.documentElement,"tap",function(){}),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)};Yr.prototype={constructor:Yr,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){var e=document.activeElement;for(e&&e instanceof Element!=0||(e=document.body);e.root&&Vi(e.root).activeElement;)e=Vi(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var n=this._overlays.length-1,i=this._overlays[n];if(i&&this._shouldBeBehindOverlay(t,i)&&n--,!(e>=n)){var o=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=o&&this._applyOverlayZ(t,o);e=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var n=this._overlays.length,i=this._overlays[n-1],o=Math.max(this._getZ(i),this._minimumZ),r=this._getZ(e);if(i&&this._shouldBeBehindOverlay(e,i)){this._applyOverlayZ(i,o),n--;var a=this._overlays[n-1];o=Math.max(this._getZ(a),this._minimumZ)}r<=o&&this._applyOverlayZ(e,o),this._overlays.splice(n,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e,this.backdropElement.prepare())},getBackdrops:function(){for(var e=[],t=0;t=0;e--)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var n=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);n==n&&(t=n)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t0;o>=0&&t.push(i),n="content"===i.localName||"slot"===i.localName?Vi(i).getDistributedNodes():Vi(i.root||i).children;for(var a=0;a0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?n.push(t.shift()):n.push(e.shift());return n.concat(e,t)},_hasLowerTabOrder:function(e,t){var n=Math.max(e.tabIndex,0),i=Math.max(t.tabIndex,0);return 0===n||0===i?i>n:n>i}},aa={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},allowClickThrough:{type:Boolean},alwaysOnTop:{type:Boolean},scrollAction:{type:String},_manager:{type:Object,value:Gr},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},observers:["__updateScrollObservers(isAttached, opened, scrollAction)"],get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Vi(this).querySelector("[autofocus]")||this},get _focusableNodes(){return ra.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__rafs={},this.__restoreFocusNode=null,this.__scrollTop=this.__scrollLeft=null,this.__onCaptureScroll=this.__onCaptureScroll.bind(this),this.__rootNodes=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Vi(this).observeNodes(this._onNodesChange)},detached:function(){for(var e in Vi(this).unobserveNodes(this._observer),this._observer=null,this.__rafs)null!==this.__rafs[e]&&cancelAnimationFrame(this.__rafs[e]);this.__rafs={},this._manager.removeOverlay(this),this.__isAnimating&&(this.opened?this._finishRenderOpened():(this._applyFocus(),this._finishRenderClosed()))},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).defaultPrevented||(this._setCanceled(!0),this.opened=!1)},invalidateTabbables:function(){this.__firstFocusableNode=this.__lastFocusableNode=null},_ensureSetup:function(){this._overlaySetup||(this._overlaySetup=!0,this.style.outline="none",this.style.display="none")},_openedChanged:function(e){e?this.removeAttribute("aria-hidden"):this.setAttribute("aria-hidden","true"),this.isAttached&&(this.__isAnimating=!0,this.__deraf("__openedChanged",this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-closed",this.closingReason)},_preparePositioning:function(){this.style.transition=this.style.webkitTransition="none",this.style.transform=this.style.webkitTransform="none",this.style.display=""},_finishPositioning:function(){this.style.display="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{if(this.restoreFocusOnClose&&this.__restoreFocusNode){var e=this._manager.deepActiveElement;(e===document.body||Vi(this).deepContains(e))&&this.__restoreFocusNode.focus()}this.__restoreFocusNode=null,this._focusNode.blur(),this._focusedChild=null}},_onCaptureClick:function(e){this.noCancelOnOutsideClick||this.cancel(e)},_onCaptureFocus:function(e){if(this.withBackdrop){var t=Vi(e).path;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,n=t?this.__firstFocusableNode:this.__lastFocusableNode,i=t?this.__lastFocusableNode:this.__firstFocusableNode,o=!1;if(n===i)o=!0;else{var r=this._manager.deepActiveElement;o=r===n||r===this}o&&(e.preventDefault(),this._focusedChild=i,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__deraf("refit",this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__deraf:function(e,t){var n=this.__rafs;null!==n[e]&&cancelAnimationFrame(n[e]),n[e]=requestAnimationFrame(function(){n[e]=null,t.call(this)}.bind(this))},__updateScrollObservers:function(e,t,n){var i;e&&t&&this.__isValidScrollAction(n)?("lock"===n&&(this.__saveScrollPosition(),i=this,na.indexOf(i)>=0||(0===na.length&&function(){Zr=Zr||function(e){if(e.cancelable&&function(e){var t=Vi(e).rootTarget;if("touchmove"!==e.type&&Qr!==t&&(Qr=t,ea=function(e){for(var t=[],n=e.indexOf(Xr),i=0;i<=n;i++)if(e[i].nodeType===Node.ELEMENT_NODE){var o=e[i],r=o.style;"scroll"!==r.overflow&&"auto"!==r.overflow&&(r=window.getComputedStyle(o)),"scroll"!==r.overflow&&"auto"!==r.overflow||t.push(o)}return t}(Vi(e).path)),!ea.length)return!0;if("touchstart"===e.type)return!1;var n=function(e){var t={deltaX:e.deltaX,deltaY:e.deltaY};if("deltaX"in e);else if("wheelDeltaX"in e&&"wheelDeltaY"in e)t.deltaX=-e.wheelDeltaX,t.deltaY=-e.wheelDeltaY;else if("wheelDelta"in e)t.deltaX=0,t.deltaY=-e.wheelDelta;else if("axis"in e)t.deltaX=1===e.axis?e.detail:0,t.deltaY=2===e.axis?e.detail:0;else if(e.targetTouches){var n=e.targetTouches[0];t.deltaX=Jr.pageX-n.pageX,t.deltaY=Jr.pageY-n.pageY}return t}(e);return!function(e,t,n){if(t||n)for(var i=Math.abs(n)>=Math.abs(t),o=0;o0:r.scrollTop0:r.scrollLeft=0))switch(this.scrollAction){case"lock":this.__restoreScrollPosition();break;case"refit":this.__deraf("refit",this.refit);break;case"cancel":this.cancel(e)}},__saveScrollPosition:function(){document.scrollingElement?(this.__scrollTop=document.scrollingElement.scrollTop,this.__scrollLeft=document.scrollingElement.scrollLeft):(this.__scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this.__scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},__restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this.__scrollTop,document.scrollingElement.scrollLeft=this.__scrollLeft):(document.documentElement.scrollTop=document.body.scrollTop=this.__scrollTop,document.documentElement.scrollLeft=document.body.scrollLeft=this.__scrollLeft)}},sa=[Kr,Nr,aa],la={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1},__readied:{type:Boolean,value:!1}},observers:["_modalChanged(modal, __readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.__readied=!0},_modalChanged:function(e,t){t&&(e?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(e){this.closingReason=this.closingReason||{},this.closingReason.confirmed=e},_onDialogClick:function(e){for(var t=Vi(e).path,n=0,i=t.indexOf(this);n\n\n :host {\n display: block;\n @apply --layout-relative;\n }\n\n :host(.is-scrolled:not(:first-child))::before {\n content: \'\';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n :host(.can-scroll:not(.scrolled-to-bottom):not(:last-child))::after {\n content: \'\';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--divider-color);\n }\n\n .scrollable {\n padding: 0 24px;\n\n @apply --layout-scroll;\n @apply --paper-dialog-scrollable;\n }\n\n .fit {\n @apply --layout-fit;\n }\n \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n'])}}));to({_template:l(pa),is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget(),this.classList.add("no-padding")},attached:function(){this._ensureTarget(),requestAnimationFrame(this.updateScrollState.bind(this))},updateScrollState:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||this.parentElement,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(la)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}});var ua=[{properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var n in t)e[n]=t[n]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,n){var i;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(i=e?this.animationConfig[e]:this.animationConfig,Array.isArray(i)||(i=[i]),i)for(var o,r=0;o=i[r];r++)if(o.animatable)o.animatable._getAnimationConfigRecursive(o.type||e,t,n);else if(o.id){var a=t[o.id];a?(a.isClone||(t[o.id]=this._cloneConfig(a),a=t[o.id]),this._copyProperties(a,o)):t[o.id]=o}else n.push(o)},getAnimationConfig:function(e){var t={},n=[];for(var i in this._getAnimationConfigRecursive(e,t,n),t)n.push(t[i]);return n}},{_configureAnimations:function(e){var t=[],n=[];if(e.length>0)for(var i=0;s=e[i];i++){var o=document.createElement(s.name);if(o.isNeonAnimation){var r=null;o.configure||(o.configure=function(e){return null}),r=o.configure(s),n.push({result:r,config:s})}else console.warn(this.is+":",s.name,"not found!")}for(var a=0;a\n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(ha),is:"paper-dialog",behaviors:[ca,ua],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}});var fa=function(){function e(e,t){for(var n=0;n\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n }\n paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'])}})),ga=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),va(t,[{key:"openDialog",value:function(){this.$.dialog.open()}}],[{key:"template",get:function(){return l(ba)}},{key:"properties",get:function(){return{title:String,content:String}}}]),t}();customElements.define("hassio-markdown-dialog",ga),n(5);var _a={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){vr._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){vr._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},wa=[br,yr,xr,_a],ka=document.createElement("template");ka.setAttribute("style","display: none;"),ka.innerHTML='\n \n',document.head.appendChild(ka.content);var xa=document.createElement("template");xa.setAttribute("style","display: none;"),xa.innerHTML='\n \n\n \n',document.head.appendChild(xa.content),to({is:"paper-button",behaviors:[wa],properties:{raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){this.raised?_a._calculateElevation.apply(this):this._setElevation(0)}});var Oa=Object.freeze(Object.defineProperties(['\n \n\n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n \n \n \n
    \n'])}}));to({_template:l(Oa),is:"iron-image",properties:{src:{type:String,value:""},alt:{type:String,value:null},crossorigin:{type:String,value:null},preventLoad:{type:Boolean,value:!1},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)","_loadStateObserver(src, preventLoad)"],created:function(){this._resolvedSrc=""},_imgOnLoad:function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))},_imgOnError:function(){this.$.img.src===this._resolveSrc(this.src)&&(this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!0))},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){return null!==this.alt?this.alt:""===this.src?"":this._resolveSrc(this.src).replace(/[?|#].*/g,"").split("/").pop()},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_loadStateObserver:function(e,t){var n=this._resolveSrc(e);n!==this._resolvedSrc&&(this._resolvedSrc="",this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",""===e||t?(this._setLoading(!1),this._setLoaded(!1),this._setError(!1)):(this._resolvedSrc=n,this.$.img.src=this._resolvedSrc,this.$.sizedImgDiv.style.backgroundImage='url("'+this._resolvedSrc+'")',this._setLoading(!0),this._setLoaded(!1),this._setError(!1)))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=h(e,this.$.baseURIAnchor.href);return"/"===t[0]&&(t=(location.origin||location.protocol+"//"+location.host)+t),t}});var Ca=Object.freeze(Object.defineProperties(['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n'])}}));to({_template:l(Ca),is:"paper-card",properties:{heading:{type:String,value:"",observer:"_headingChanged"},image:{type:String,value:""},alt:{type:String},preloadImage:{type:Boolean,value:!1},fadeImage:{type:Boolean,value:!1},placeholderImage:{type:String,value:null},elevation:{type:Number,value:1,reflectToAttribute:!0},animatedShadow:{type:Boolean,value:!1},animated:{type:Boolean,reflectToAttribute:!0,readOnly:!0,computed:"_computeAnimated(animatedShadow)"}},_isHidden:function(e){return e?"false":"true"},_headingChanged:function(e){var t=this.getAttribute("heading"),n=this.getAttribute("aria-label");"string"==typeof n&&n!==t||this.setAttribute("aria-label",e)},_computeHeadingClass:function(e){return e?" over-image":""},_computeAnimated:function(e){return e}});var Sa={properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boolean,value:!1},_parentForm:{type:Object}},attached:function(){mt||this.fire("iron-form-element-register")},detached:function(){!mt&&this._parentForm&&this._parentForm.fire("iron-form-element-unregister",{target:this})}},Pa=null,Ea={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1,observer:"_invalidChanged"}},registered:function(){Pa=new tr({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},get _validator(){return Pa&&Pa.byKey(this.validator)},hasValidator:function(){return null!=this._validator},validate:function(e){return void 0===e&&void 0!==this.value?this.invalid=!this._getValidity(this.value):this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)}},Ta=Object.freeze(Object.defineProperties(['\n \n
    [[_text]]
    \n'],{raw:{value:Object.freeze(['\n \n
    [[_text]]
    \n'])}})),Aa=to({_template:l(Ta),is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){Aa.instance||(Aa.instance=this),document.body.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async(function(){this._text=e},100)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}});Aa.instance=null,Aa.requestAvailability=function(){Aa.instance||(Aa.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(Aa.instance)};var ja=Object.freeze(Object.defineProperties(['\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(ja),is:"iron-input",behaviors:[Ea],properties:{bindValue:{type:String,value:""},value:{type:String,computed:"_computeValue(bindValue)"},allowedPattern:{type:String},autoValidate:{type:Boolean,value:!1},_inputElement:Object},observers:["_bindValueChanged(bindValue, _inputElement)"],listeners:{input:"_onInput",keypress:"_onKeypress"},created:function(){Aa.requestAvailability(),this._previousValidInput="",this._patternAlreadyChecked=!1},attached:function(){this._observer=Vi(this).observeNodes(function(e){this._initSlottedInput()}.bind(this))},detached:function(){this._observer&&(Vi(this).unobserveNodes(this._observer),this._observer=null)},get inputElement(){return this._inputElement},_initSlottedInput:function(){this._inputElement=this.getEffectiveChildren()[0],this.inputElement&&this.inputElement.value&&(this.bindValue=this.inputElement.value),this.fire("iron-input-ready")},get _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else switch(this.inputElement.type){case"number":e=/[0-9.,e-]/}return e},_bindValueChanged:function(e,t){t&&(void 0===e?t.value=null:e!==t.value&&(this.inputElement.value=e),this.autoValidate&&this.validate(),this.fire("bind-value-changed",{value:e}))},_onInput:function(){this.allowedPattern&&!this._patternAlreadyChecked&&(this._checkPatternValidity()||(this._announceInvalidCharacter("Invalid string of characters not entered."),this.inputElement.value=this._previousValidInput)),this.bindValue=this._previousValidInput=this.inputElement.value,this._patternAlreadyChecked=!1},_isPrintable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,n=19==e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode||145==e.keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return!(t||0==e.charCode&&n)},_onKeypress:function(e){if(this.allowedPattern||"number"===this.inputElement.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){this._patternAlreadyChecked=!0;var n=String.fromCharCode(e.charCode);this._isPrintable(e)&&!t.test(n)&&(e.preventDefault(),this._announceInvalidCharacter("Invalid character "+n+" not entered."))}}},_checkPatternValidity:function(){var e=this._patternRegExp;if(!e)return!0;for(var t=0;t\n :host {\n display: inline-block;\n float: right;\n\n @apply --paper-font-caption;\n @apply --paper-input-char-counter;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n :host(:dir(rtl)) {\n float: left;\n }\n \n\n [[_charCounterStr]]\n"],{raw:{value:Object.freeze(["\n \n\n [[_charCounterStr]]\n"])}}));to({_template:l(Na),is:"paper-input-char-counter",behaviors:[za],properties:{_charCounterStr:{type:String,value:"0"}},update:function(e){if(e.inputElement){e.value=e.value||"";var t=e.value.toString().length.toString();e.inputElement.hasAttribute("maxlength")&&(t+="/"+e.inputElement.getAttribute("maxlength")),this._charCounterStr=t}}});var Da=Object.freeze(Object.defineProperties(['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n'])}})),Fa=document.createElement("template");Fa.setAttribute("style","display: none;"),Fa.innerHTML='\n \n',document.head.appendChild(Fa.content),to({_template:l(Da),is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,iron-input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return X(this.attrForValue)},get _inputElement(){return Vi(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[this._propertyForValue]||this._inputElement.value},ready:function(){this.__isFirstValueUpdate=!0,this._addons||(this._addons=[]),this.addEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this._boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),this._inputElementValue&&""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(e){this._addons||(this._addons=[]);var t=e.target;-1===this._addons.indexOf(t)&&(this._addons.push(t),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(e){this._handleValueAndAutoValidate(e.target)},_onValueChanged:function(e){var t=e.target;this.__isFirstValueUpdate&&(this.__isFirstValueUpdate=!1,void 0===t.value)||this._handleValueAndAutoValidate(e.target)},_handleValue:function(e){var t=this._inputElementValue;t||0===t||"number"===e.type&&!e.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:e,value:t,invalid:this.invalid})},_handleValueAndAutoValidate:function(e){var t;this.autoValidate&&e&&(t=e.validate?e.validate(this._inputElementValue):e.checkValidity(),this.invalid=!t),this._handleValue(e)},_onIronInputValidate:function(e){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(e){for(var t,n=0;t=this._addons[n];n++)t.update(e)},_computeInputContentClass:function(e,t,n,i,o){var r="input-content";if(e)o&&(r+=" label-is-hidden"),i&&(r+=" is-invalid");else{var a=this.querySelector("label");t||o?(r+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",i?r+=" is-invalid":n&&(r+=" label-is-highlighted")):(a&&(this.$.labelAndInputContainer.style.position="relative"),i&&(r+=" is-invalid"))}return n&&(r+=" focused"),r},_computeUnderlineClass:function(e,t){var n="underline";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n},_computeAddOnContentClass:function(e,t){var n="add-on-content";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n}});var Ma=Object.freeze(Object.defineProperties(["\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Ma),is:"paper-input-error",behaviors:[za],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}});var Ba=document.createElement("template");Ba.setAttribute("style","display: none;"),Ba.innerHTML='\n \n\n \x3c!-- This is a fresh new hell to make this element hybrid. Basically, in 2.0\n we lost is=, so the example same template can\'t be used with iron-input 1.0 and 2.0.\n Expect some conditional code (especially in the tests).\n --\x3e\n \n\n \n\n',document.head.appendChild(Ba.content),to({is:"paper-input",behaviors:[La,Sa],properties:{value:{type:String}},beforeRegister:function(){var e="function"==typeof document.createElement("iron-input")._initSlottedInput?"v1":"v0",t=D.import("paper-input","template"),n=D.import("paper-input","template#"+e),i=t.content.querySelector("#template-placeholder");i&&i.parentNode.replaceChild(n.content,i)},get _focusableElement(){return mt?this.inputElement._inputElement:this.inputElement},listeners:{"iron-input-ready":"_onIronInputReady"},_onIronInputReady:function(){this.$.nativeInput||(this.$.nativeInput=this.$$("input")),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.$.nativeInput.type)&&(this.alwaysFloatLabel=!0),this.inputElement.bindValue&&this.$.container._handleValueAndAutoValidate(this.inputElement)}});var Ha=Object.freeze(Object.defineProperties(['\n \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n'])}}));to({_template:l(Ha),is:"iron-dropdown",behaviors:[yr,mr,sa,ua],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1,observer:"_allowOutsideScrollChanged"}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n :host {\n display: inline-block;\n position: relative;\n padding: 8px;\n outline: none;\n\n @apply --paper-menu-button;\n }\n\n :host([disabled]) {\n cursor: auto;\n color: var(--disabled-text-color);\n\n @apply --paper-menu-button-disabled;\n }\n\n iron-dropdown {\n @apply --paper-menu-button-dropdown;\n }\n\n .dropdown-content {\n @apply --shadow-elevation-2dp;\n\n position: relative;\n border-radius: 2px;\n background-color: var(--paper-menu-button-dropdown-background, var(--primary-background-color));\n\n @apply --paper-menu-button-content;\n }\n\n :host([vertical-align="top"]) .dropdown-content {\n margin-bottom: 20px;\n margin-top: -10px;\n top: 10px;\n }\n\n :host([vertical-align="bottom"]) .dropdown-content {\n bottom: 10px;\n margin-bottom: -10px;\n margin-top: 20px;\n }\n\n #trigger {\n cursor: pointer;\n }\n \n\n
    \n \n
    \n\n \n \n \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n\n \n \n \n'])}})),Ua={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},Va=to({_template:l($a),is:"paper-menu-button",behaviors:[mr,yr],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:Ua.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:Ua.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:Ua.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t-1&&e.preventDefault()}});Object.keys(Ua).forEach(function(e){Va[e]=Ua[e]}),to({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!1},useGlobalRtlAttribute:{type:Boolean,value:!1}},created:function(){this._meta=new tr({type:"iconset",key:null,value:null})},attached:function(){this.style.display="none"},getIconNames:function(){return this._icons=this._createIconMap(),Object.keys(this._icons).map(function(e){return this.name+":"+e},this)},applyIcon:function(e,t){this.removeIcon(e);var n=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(n){var i=Vi(e.root||e);return i.insertBefore(n,i.childNodes[0]),e._svgIcon=n}return null},removeIcon:function(e){e._svgIcon&&(Vi(e.root||e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){if(null==this.__targetIsRTL)if(this.useGlobalRtlAttribute){var t=document.body&&document.body.hasAttribute("dir")?document.body:document.documentElement;this.__targetIsRTL="rtl"===t.getAttribute("dir")}else e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction;return this.__targetIsRTL},_nameChanged:function(){this._meta.value=null,this._meta.key=this.name,this._meta.value=this,this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Vi(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,n){if(e){var i=e.cloneNode(!0),o=document.createElementNS("http://www.w3.org/2000/svg","svg"),r=i.getAttribute("viewBox")||"0 0 "+t+" "+t,a="pointer-events: none; display: block; width: 100%; height: 100%;";return n&&i.hasAttribute("mirror-in-rtl")&&(a+="-webkit-transform:scale(-1,1);transform:scale(-1,1);transform-origin:center;"),o.setAttribute("viewBox",r),o.setAttribute("preserveAspectRatio","xMidYMid meet"),o.setAttribute("focusable","false"),o.style.cssText=a,o.appendChild(i).removeAttribute("id"),o}return null}});var Ka=document.createElement("template");Ka.setAttribute("style","display: none;"),Ka.innerHTML='\n\n\n\n',document.head.appendChild(Ka.content);var Wa=document.createElement("template");Wa.setAttribute("style","display: none;"),Wa.innerHTML='\n \n',document.head.appendChild(Wa.content);var Ya=Object.freeze(Object.defineProperties(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n'],{raw:{value:Object.freeze(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n'])}}));to({_template:l(Ya),is:"paper-dropdown-menu",behaviors:[br,yr,Sa,Ea],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=Vi(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n \n",document.head.appendChild(Xa.content);var Ga=Object.freeze(Object.defineProperties(['\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}}));to({_template:l(Ga),is:"paper-item",behaviors:[Za]});var Ja=function(e){this.selection=[],this.selectCallback=e};Ja.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.push(e);else{var n=this.selection.indexOf(e);n>=0&&this.selection.splice(n,1)}this.selectCallback&&this.selectCallback(e,t)}},select:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}};var Qa={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1,"dom-bind":1,"dom-if":1,"dom-repeat":1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Ja(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._addListener(this.activateEvent)},detached:function(){this._observer&&Vi(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items?this.items.indexOf(e):-1},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._observer&&"function"==typeof this._observer.flush?this._observer.flush():this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Vi(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this.selectedItem&&(this.selected=this._valueForItem(this.selectedItem))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){if(this.items){var t=this._valueToItem(this.selected);t?this._selection.select(t):this._selection.clear(),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)}},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,n=0;t=this.items[n];n++)if(this._valueForItem(t)==e)return n},_indexToValue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e){if(!e)return null;if(!this.attrForSelected){var t=this.indexOf(e);return-1===t?null:t}var n=e[X(this.attrForSelected)];return void 0!=n?n:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.get())},_observeItems:function(e){return Vi(e).observeNodes(function(e){this._updateItems(),this._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})})},_activateHandler:function(e){for(var t=e.target,n=this.items;t&&t!=this;){var i=n.indexOf(t);if(i>=0){var o=this._indexToValue(i);return void this._itemActivate(o,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}},es={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0,value:function(){return[]}},selectedItems:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this._toggleSelected(e):this.selected=e},multiChanged:function(e){this._selection.multi=e,this._updateSelected()},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:function(){this.multi?this.selectedItems&&this.selectedItems.length>0&&(this.selectedValues=this.selectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).filter(function(e){return null!=e},this)):Qa._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){e=e||[];var t=(this._valuesToItems(e)||[]).filter(function(e){return null!==e&&void 0!==e});this._selection.clear(t);for(var n=0;n\n :host {\n display: block;\n padding: 8px 0;\n\n background: var(--paper-listbox-background-color, var(--primary-background-color));\n color: var(--paper-listbox-color, var(--primary-text-color));\n\n @apply --paper-listbox;\n }\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(is),is:"paper-listbox",behaviors:[ns],hostAttributes:{role:"listbox"}});var os=function(){function e(e,t){for(var n=0;n\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'])}})),as=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),os(t,[{key:"addonChanged",value:function(e){var t=this;if(this.setProperties({selectedInput:e.audio_input||"null",selectedOutput:e.audio_output||"null"}),!this.outputDevices){var n=[{device:"null",name:"-"}];this.hass.callApi("get","hassio/hardware/audio").then(function(e){var i=e.data.audio,o=Object.keys(i.input).map(function(e){return{device:e,name:i.input[e]}}),r=Object.keys(i.output).map(function(e){return{device:e,name:i.output[e]}});t.setProperties({inputDevices:n.concat(o),outputDevices:n.concat(r)})},function(){t.setProperties({inputDevices:n,outputDevices:n})})}}},{key:"_saveSettings",value:function(){var e=this;this.error=null;var t="hassio/addons/"+this.addon.slug+"/options";this.hass.callApi("post",t,{audio_input:"null"===this.selectedInput?null:this.selectedInput,audio_output:"null"===this.selectedOutput?null:this.selectedOutput}).then(function(){e.fire("hass-api-called",{success:!0,path:t})},function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(rs)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},inputDevices:Array,outputDevices:Array,selectedInput:String,selectedOutput:String,error:String}}}]),t}();customElements.define("hassio-addon-audio",as);var ss=Object.freeze(Object.defineProperties(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n'])}}));to({_template:l(ss),is:"iron-autogrow-textarea",behaviors:[Ea,yr],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(e){this.$.textarea.selectionStart=e},set selectionEnd(e){this.$.textarea.selectionEnd=e},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var e=this.$.textarea.validity.valid;return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=Ea.validate.call(this,this.value))),this.invalid=!e,this.fire("iron-input-validate"),e},_bindValueChanged:function(e){this.value=e},_valueChanged:function(e){var t=this.textarea;t&&(t.value!==e&&(t.value=e||0===e?e:""),this.bindValue=e,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(e){var t=Vi(e).path;this.value=t?t[0].value:e.target.value},_constrain:function(e){var t;for(e=e||[""],t=this.maxRows>0&&e.length>this.maxRows?e.slice(0,this.maxRows):e.slice(0);this.rows>0&&t.length")+" "},_valueForMirror:function(){var e=this.textarea;if(e)return this.tokens=e&&e.value?e.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}});var ls=function(){function e(e,t){for(var n=0;n\n .container {\n position: relative;\n display: inline-block;\n }\n\n paper-button {\n transition: all 1s;\n }\n\n .success paper-button {\n color: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error paper-button {\n color: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n paper-button[disabled] {\n color: #c8c8c8;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
    \n \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n \n \n
    \n'])}})),ps=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),ls(t,[{key:"tempClass",value:function(e){var t=this.$.container.classList;t.add(e),setTimeout(function(){t.remove(e)},1e3)}},{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("click",function(t){return e.buttonTapped(t)})}},{key:"buttonTapped",value:function(e){this.progress&&e.stopPropagation()}},{key:"actionSuccess",value:function(){this.tempClass("success")}},{key:"actionError",value:function(){this.tempClass("error")}},{key:"computeDisabled",value:function(e,t){return e||t}}],[{key:"template",get:function(){return l(cs)}},{key:"properties",get:function(){return{hass:{type:Object},progress:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-progress-button",ps);var us=function(){function e(e,t){for(var n=0;n\n'],{raw:{value:Object.freeze(['\n \n'])}})),hs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),us(t,[{key:"buttonTapped",value:function(){var e=this;this.progress=!0;var t={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(n){e.progress=!1,e.$.progress.actionSuccess(),t.success=!0,t.response=n},function(n){e.progress=!1,e.$.progress.actionError(),t.success=!1,t.response=n}).then(function(){e.fire("hass-api-called",t)})}}],[{key:"template",get:function(){return l(ds)}},{key:"properties",get:function(){return{hass:Object,progress:{type:Boolean,value:!1},path:String,method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}}}}]),t}();customElements.define("ha-call-api-button",hs);var fs=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),ys=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),fs(t,[{key:"addonChanged",value:function(e){this.config=e?JSON.stringify(e.options,null,2):""}},{key:"configChanged",value:function(e){try{this.$.config.classList.remove("syntaxerror"),this.configParsed=JSON.parse(e)}catch(e){this.$.config.classList.add("syntaxerror"),this.configParsed=null}}},{key:"saveTapped",value:function(){var e=this;this.error=null,this.hass.callApi("post","hassio/addons/"+this.addonSlug+"/options",{options:this.configParsed}).catch(function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(ms)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},addonSlug:String,config:{type:String,observer:"configChanged"},configParsed:Object,error:String,resetData:{type:Object,value:{options:null}}}}}]),t}();customElements.define("hassio-addon-config",ys);var vs={properties:{checked:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}},observers:["_requiredChanged(required)"],created:function(){this._hasIronCheckedElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.required||this.checked},_requiredChanged:function(){this.required?this.setAttribute("aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:function(){this.active=this.checked,this.fire("iron-change")},_valueChanged:function(){void 0!==this.value&&null!==this.value||(this.value="on")}},bs=[Cr,[Sa,Ea,vs],{_checkedChanged:function(){vs._checkedChanged.call(this),this.hasRipple()&&(this.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("checked"))},_buttonStateChanged:function(){xr._buttonStateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}}],gs=document.createElement("template");gs.setAttribute("style","display: none;"),gs.innerHTML='\n \n\n \n',document.head.appendChild(gs.content),to({is:"paper-toggle-button",behaviors:[bs],hostAttributes:{role:"button","aria-pressed":"false",tabindex:0},properties:{},listeners:{track:"_ontrack"},attached:function(){xi(this,function(){Xn(this,"pan-y")})},_ontrack:function(e){var t=e.detail;"start"===t.state?this._trackStart(t):"track"===t.state?this._trackMove(t):"end"===t.state&&this._trackEnd(t)},_trackStart:function(e){this._width=this.$.toggleBar.offsetWidth/2,this._trackChecked=this.checked,this.$.toggleButton.classList.add("dragging")},_trackMove:function(e){var t=e.dx;this._x=Math.min(this._width,Math.max(0,this._trackChecked?this._width+t:t)),this.translate3d(this._x+"px",0,0,this.$.toggleButton),this._userActivate(this._x>this._width/2)},_trackEnd:function(e){this.$.toggleButton.classList.remove("dragging"),this.transform("",this.$.toggleButton)},_createRipple:function(){this._rippleContainer=this.$.toggleButton;var e=xr._createRipple();return e.id="ink",e.setAttribute("recenters",""),e.classList.add("circle","toggle-ink"),e}});var _s=[60,"second",60,"minute",24,"hour",7,"day"];to({is:"iron-request",hostAttributes:{hidden:!0},properties:{xhr:{type:Object,notify:!0,readOnly:!0,value:function(){return new XMLHttpRequest}},response:{type:Object,notify:!0,readOnly:!0,value:function(){return null}},status:{type:Number,notify:!0,readOnly:!0,value:0},statusText:{type:String,notify:!0,readOnly:!0,value:""},completes:{type:Object,readOnly:!0,notify:!0,value:function(){return new Promise(function(e,t){this.resolveCompletes=e,this.rejectCompletes=t}.bind(this))}},progress:{type:Object,notify:!0,readOnly:!0,value:function(){return{}}},aborted:{type:Boolean,notify:!0,readOnly:!0,value:!1},errored:{type:Boolean,notify:!0,readOnly:!0,value:!1},timedOut:{type:Boolean,notify:!0,readOnly:!0,value:!1}},get succeeded(){if(this.errored||this.aborted||this.timedOut)return!1;var e=this.xhr.status||0;return 0===e||e>=200&&e<300},send:function(e){var t=this.xhr;if(t.readyState>0)return null;t.addEventListener("progress",function(e){this._setProgress({lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total}),this.fire("iron-request-progress-changed",{value:this.progress})}.bind(this)),t.addEventListener("error",function(t){this._setErrored(!0),this._updateStatus();var n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("timeout",function(t){this._setTimedOut(!0),this._updateStatus();var n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("abort",function(){this._setAborted(!0),this._updateStatus();var t=new Error("Request aborted."),n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}.bind(this)),t.addEventListener("loadend",function(){if(this._updateStatus(),this._setResponse(this.parseResponse()),this.succeeded)this.resolveCompletes(this);else{var t=new Error("The request failed with status code: "+this.xhr.status),n=e.rejectWithRequest?{error:t,request:this}:t;this.rejectCompletes(n)}}.bind(this)),this.url=e.url;var n=!1!==e.async;t.open(e.method||"GET",e.url,n);var i={json:"application/json",text:"text/plain",html:"text/html",xml:"application/xml",arraybuffer:"application/octet-stream"}[e.handleAs],o=e.headers||Object.create(null),r=Object.create(null);for(var a in o)r[a.toLowerCase()]=o[a];if(o=r,i&&!o.accept&&(o.accept=i),Object.keys(o).forEach(function(e){/[A-Z]/.test(e)&&Vo._error("Headers must be lower case, got",e),t.setRequestHeader(e,o[e])},this),n){t.timeout=e.timeout;var s=e.handleAs;!e.jsonPrefix&&s||(s="text"),t.responseType=t._responseType=s,e.jsonPrefix&&(t._jsonPrefix=e.jsonPrefix)}t.withCredentials=!!e.withCredentials;var l=this._encodeBodyObject(e.body,o["content-type"]);return t.send(l),this.completes},parseResponse:function(){var e=this.xhr,t=e.responseType||e._responseType,n=!this.xhr.responseType,i=e._jsonPrefix&&e._jsonPrefix.length||0;try{switch(t){case"json":if(n||void 0===e.response)try{return JSON.parse(e.responseText)}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.response;case"xml":return e.responseXML;case"blob":case"document":case"arraybuffer":return e.response;case"text":default:if(i)try{return JSON.parse(e.responseText.substring(i))}catch(t){return console.warn("Failed to parse JSON sent from "+e.responseURL),null}return e.responseText}}catch(e){this.rejectCompletes(new Error("Could not parse response. "+e.message))}},abort:function(){this._setAborted(!0),this.xhr.abort()},_encodeBodyObject:function(e,t){if("string"==typeof e)return e;var n=e;switch(t){case"application/json":return JSON.stringify(n);case"application/x-www-form-urlencoded":return this._wwwFormUrlEncode(n)}return e},_wwwFormUrlEncode:function(e){if(!e)return"";var t=[];return Object.keys(e).forEach(function(n){t.push(this._wwwFormUrlEncodePiece(n)+"="+this._wwwFormUrlEncodePiece(e[n]))},this),t.join("&")},_wwwFormUrlEncodePiece:function(e){return null!==e&&void 0!==e&&e.toString?encodeURIComponent(e.toString().replace(/\r?\n/g,"\r\n")).replace(/%20/g,"+"):""},_updateStatus:function(){this._setStatus(this.xhr.status),this._setStatusText(void 0===this.xhr.statusText?"":this.xhr.statusText)}});var ws="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};to({is:"iron-ajax",hostAttributes:{hidden:!0},properties:{url:{type:String},params:{type:Object,value:function(){return{}}},method:{type:String,value:"GET"},headers:{type:Object,value:function(){return{}}},contentType:{type:String,value:null},body:{type:Object,value:null},sync:{type:Boolean,value:!1},handleAs:{type:String,value:"json"},withCredentials:{type:Boolean,value:!1},timeout:{type:Number,value:0},auto:{type:Boolean,value:!1},verbose:{type:Boolean,value:!1},lastRequest:{type:Object,notify:!0,readOnly:!0},lastProgress:{type:Object,notify:!0,readOnly:!0},loading:{type:Boolean,notify:!0,readOnly:!0},lastResponse:{type:Object,notify:!0,readOnly:!0},lastError:{type:Object,notify:!0,readOnly:!0},activeRequests:{type:Array,notify:!0,readOnly:!0,value:function(){return[]}},debounceDuration:{type:Number,value:0,notify:!0},jsonPrefix:{type:String,value:""},bubbles:{type:Boolean,value:!1},rejectWithRequest:{type:Boolean,value:!1},_boundHandleResponse:{type:Function,value:function(){return this._handleResponse.bind(this)}}},observers:["_requestOptionsChanged(url, method, params.*, headers, contentType, body, sync, handleAs, jsonPrefix, withCredentials, timeout, auto)"],created:function(){this._boundOnProgressChanged=this._onProgressChanged.bind(this)},get queryString(){var e,t,n=[];for(e in this.params)if(t=this.params[e],e=window.encodeURIComponent(e),Array.isArray(t))for(var i=0;i=0?"&":"?")+e:t},get requestHeaders(){var e,t={},n=this.contentType;if(null==n&&"string"==typeof this.body&&(n="application/x-www-form-urlencoded"),n&&(t["content-type"]=n),"object"===ws(this.headers))for(e in this.headers)t[e]=this.headers[e].toString();return t},_onProgressChanged:function(e){this._setLastProgress(e.detail.value)},toRequestOptions:function(){return{url:this.requestUrl||"",method:this.method,headers:this.requestHeaders,body:this.body,async:!this.sync,handleAs:this.handleAs,jsonPrefix:this.jsonPrefix,withCredentials:this.withCredentials,timeout:this.timeout,rejectWithRequest:this.rejectWithRequest}},generateRequest:function(){var e=document.createElement("iron-request"),t=this.toRequestOptions();return this.push("activeRequests",e),e.completes.then(this._boundHandleResponse).catch(this._handleError.bind(this,e)).then(this._discardRequest.bind(this,e)),this.fire("iron-ajax-presend",{request:e,options:t},{bubbles:this.bubbles,cancelable:!0}).defaultPrevented?(e.abort(),e.rejectCompletes(e),e):(this.lastRequest&&this.lastRequest.removeEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.addEventListener("iron-request-progress-changed",this._boundOnProgressChanged),e.send(t),this._setLastProgress(null),this._setLastRequest(e),this._setLoading(!0),this.fire("request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-request",{request:e,options:t},{bubbles:this.bubbles,composed:!0}),e)},_handleResponse:function(e){e===this.lastRequest&&(this._setLastResponse(e.response),this._setLastError(null),this._setLoading(!1)),this.fire("response",e,{bubbles:this.bubbles,composed:!0}),this.fire("iron-ajax-response",e,{bubbles:this.bubbles,composed:!0})},_handleError:function(e,t){this.verbose&&Vo._error(t),e===this.lastRequest&&(this._setLastError({request:e,error:t,status:e.xhr.status,statusText:e.xhr.statusText,response:e.xhr.response}),this._setLastResponse(null),this._setLoading(!1)),this.fire("iron-ajax-error",{request:e,error:t},{bubbles:this.bubbles,composed:!0}),this.fire("error",{request:e,error:t},{bubbles:this.bubbles,composed:!0})},_discardRequest:function(e){var t=this.activeRequests.indexOf(e);t>-1&&this.splice("activeRequests",t,1)},_requestOptionsChanged:function(){this.debounce("generate-request",function(){null!=this.url&&this.auto&&this.generateRequest()},this.debounceDuration)}});var ks=Object.prototype.hasOwnProperty;function xs(e){var t,n,i,o,r=Array.prototype.slice.call(arguments,1);for(t=0,n=r.length;t=0?"past":"future";t=Math.abs(t);for(var i=0;i<_s.length;i+=2){if(t<_s[i])return{tense:n,value:t=Math.floor(t),unit:_s[i+1]};t/=_s[i]}return{tense:n,value:t=Math.floor(t),unit:"week"}}(this.parsedDateTime),n=this.localize("ui.duration."+t.unit,"count",t.value),i=this.localize("ui.components.relative_time."+t.tense,"time",n);e.innerHTML=i}else e.innerHTML=this.localize("ui.components.relative_time.never")}}]),t}();customElements.define("ha-relative-time",Us);var Vs=function(){function e(e,t){for(var n=0;n\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'])}})),Ws=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Vs(t,null,[{key:"template",get:function(){return l(Ks)}},{key:"properties",get:function(){return{hass:Object,title:String,description:String,datetime:String,icon:{type:String,value:"hass:help-circle"},iconTitle:String,iconClass:String}}}]),t}();customElements.define("hassio-card-content",Ws);var Ys=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div{\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n ha-markdown img {\n max-width: 100%;\n }\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'])}})),Xs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ys(t,[{key:"computeIsRunning",value:function(e){return e&&"started"===e.state}},{key:"computeUpdateAvailable",value:function(e){return e&&!e.detached&&e.version&&e.version!==e.last_version}},{key:"pathWebui",value:function(e){return e&&e.replace("[HOST]",document.location.hostname)}},{key:"computeShowWebUI",value:function(e,t){return e&&t}},{key:"computeStartOnBoot",value:function(e){return"auto"===e}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/changelog").then(function(e){return e},function(){return"Error getting changelog"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Changelog",content:t})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var t="hassio/addons/"+this.addonSlug+"/uninstall",n={path:t};this.hass.callApi("post",t).then(function(e){n.success=!0,n.response=e},function(e){n.success=!1,n.response=e}).then(function(){e.fire("hass-api-called",n)})}}}],[{key:"template",get:function(){return l(Zs)}},{key:"properties",get:function(){return{hass:Object,addon:Object,addonSlug:String,isRunning:{type:Boolean,computed:"computeIsRunning(addon)"}}}}]),t}();customElements.define("hassio-addon-info",Xs);var Gs=function(){function e(e,t){for(var n=0;n\n :host,\n paper-card {\n display: block;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),Qs=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Gs(t,[{key:"addonSlugChanged",value:function(e){var t=this;this.hass?this.refresh():setTimeout(function(){t.addonChanged(e)},0)}},{key:"refresh",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/logs").then(function(t){e.log=t})}}],[{key:"template",get:function(){return l(Js)}},{key:"properties",get:function(){return{hass:Object,addonSlug:{type:String,observer:"addonSlugChanged"},log:String}}}]),t}();customElements.define("hassio-addon-logs",Qs);var el=function(){function e(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),nl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),el(t,[{key:"addonChanged",value:function(e){if(e){var t=e.network||{},n=Object.keys(t).map(function(e){return{container:e,host:t[e]}});this.config=n.sort(function(e,t){return e.host-t.host})}}},{key:"saveTapped",value:function(){var e=this;this.error=null;var t={};this.config.forEach(function(e){t[e.container]=parseInt(e.host)});var n="hassio/addons/"+this.addonSlug+"/options";this.hass.callApi("post",n,{network:t}).then(function(){e.fire("hass-api-called",{success:!0,path:n})},function(t){e.error=t.body.message})}}],[{key:"template",get:function(){return l(tl)}},{key:"properties",get:function(){return{hass:Object,addonSlug:String,config:Object,addon:{type:Object,observer:"addonChanged"},error:String,resetData:{type:Object,value:{network:null}}}}}]),t}();customElements.define("hassio-addon-network",nl);var il=function(){function e(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n width: 600px;\n }\n hassio-addon-logs {\n min-width: 600px;\n }\n @media only screen and (max-width: 600px) {\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config,\n hassio-addon-logs {\n max-width: 100%;\n }\n }\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'])}})),rl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),il(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)}),this.addEventListener("hassio-markdown-dialog",function(t){return e.openMarkdown(t)})}},{key:"apiCalled",value:function(e){var t=e.detail.path;t&&("uninstall"===t.substr(t.lastIndexOf("/")+1)?this.backTapped():this.routeDataChanged(this.routeData))}},{key:"routeDataChanged",value:function(e){var t=this;this.routeMatches&&e&&e.slug&&this.hass.callApi("get","hassio/addons/"+e.slug+"/info").then(function(e){t.addon=e.data},function(){t.addon=null})}},{key:"backTapped",value:function(){history.back()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return l(ol)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,route:Object,routeData:{type:Object,observer:"routeDataChanged"},routeMatches:Boolean,addon:Object,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),t}();customElements.define("hassio-addon-view",rl);var al=function(){function e(e,t){for(var n=0;n\n :host {\n @apply --layout-inline;\n @apply --layout-center;\n @apply --layout-center-justified;\n @apply --layout-flex-auto;\n\n position: relative;\n padding: 0 12px;\n overflow: hidden;\n cursor: pointer;\n vertical-align: middle;\n\n @apply --paper-font-common-base;\n @apply --paper-tab;\n }\n\n :host(:focus) {\n outline: none;\n }\n\n :host([link]) {\n padding: 0;\n }\n\n .tab-content {\n height: 100%;\n transform: translateZ(0);\n -webkit-transform: translateZ(0);\n transition: opacity 0.1s cubic-bezier(0.4, 0.0, 1, 1);\n @apply --layout-horizontal;\n @apply --layout-center-center;\n @apply --layout-flex-auto;\n @apply --paper-tab-content;\n }\n\n :host(:not(.iron-selected)) > .tab-content {\n opacity: 0.8;\n\n @apply --paper-tab-content-unselected;\n }\n\n :host(:focus) .tab-content {\n opacity: 1;\n font-weight: 700;\n }\n\n paper-ripple {\n color: var(--paper-tab-ink, var(--paper-yellow-a100));\n }\n\n .tab-content > ::slotted(a) {\n @apply --layout-flex-auto;\n\n height: 100%;\n }\n \n\n
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n
    \n'])}}));to({_template:l(ll),is:"paper-tab",behaviors:[yr,br,xr],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},get _parentNoink(){var e=Vi(this).parentNode;return!!e&&!!e.noink},_updateNoink:function(){this.noink=!!this.noink||!!this._parentNoink},_onTap:function(e){if(this.link){var t=this.queryEffectiveChildren("a");if(!t)return;if(e.target===t)return;t.click()}}});var cl={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?this._focusNext():this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onRightKey:function(e){this._isRTL?this._focusPrevious():this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},pl=[ns,cl],ul=document.createElement("template");ul.setAttribute("style","display: none;"),ul.innerHTML='\n\n\n\n\n',document.head.appendChild(ul.content);var dl=Object.freeze(Object.defineProperties(['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n'])}}));to({_template:l(dl),is:"paper-tabs",behaviors:[Nr,pl],properties:{noink:{type:Boolean,value:!1,observer:"_noinkChanged"},noBar:{type:Boolean,value:!1},noSlide:{type:Boolean,value:!1},scrollable:{type:Boolean,value:!1},fitContainer:{type:Boolean,value:!1},disableDrag:{type:Boolean,value:!1},hideScrollButtons:{type:Boolean,value:!1},alignBottom:{type:Boolean,value:!1},selectable:{type:String,value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:Number,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_leftHidden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousTab:{type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onTabSizingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIronSelect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyup":"_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHandler=this._delayedActivationHandler.bind(this),this.addEventListener("blur",this._onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",this.$.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noinkChanged:function(e){Vi(this).querySelectorAll("paper-tab").forEach(e?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:function(e){e.setAttribute("noink","")},_removeNoinkAttribute:function(e){e.removeAttribute("noink")},_computeScrollButtonClass:function(e,t,n){return!t||n?"hidden":e?"not-visible":""},_computeTabsContentClass:function(e,t){return e?"scrollable"+(t?" fit-container":""):" fit-container"},_computeSelectionBarClass:function(e,t){return e?"hidden":t?"align-bottom":""},_onTabSizingChanged:function(){this.debounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this.selectedItem)},10)},_onIronSelect:function(e){this._tabChanged(e.detail.item,this._previousTab),this._previousTab=e.detail.item,this.cancelDebouncer("tab-changed")},_onIronDeselect:function(e){this.debounce("tab-changed",function(){this._tabChanged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:function(){this._cancelPendingActivation(),ts._activateHandler.apply(this,arguments)},_scheduleActivation:function(e,t){this._pendingActivationItem=e,this._pendingActivationTimeout=this.async(this._bindDelayedActivationHandler,t)},_delayedActivationHandler:function(){var e=this._pendingActivationItem;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,e.fire(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivation:function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._pendingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0)},_onArrowKeyup:function(e){this.autoselect&&this._scheduleActivation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(e){e.target===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabContainerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tabsContainer.offsetWidth)},_scroll:function(e,t){if(this.scrollable){var n=t&&-t.ddx||0;this._affectScroll(n)}},_down:function(e){this.async(function(){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null)},1)},_affectScroll:function(e){this.$.tabsContainer.scrollLeft+=e;var t=this.$.tabsContainer.scrollLeft;this._leftHidden=0===t,this._rightHidden=t===this._tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft(),this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_onRightScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval(this._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){clearInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._affectScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._step)},_tabChanged:function(e,t){if(!e)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(0,0);var n=this.$.tabsContent.getBoundingClientRect(),i=n.width,o=e.getBoundingClientRect(),r=o.left-n.left;if(this._pos={width:this._calcPercent(o.width,i),left:this._calcPercent(r,i)},this.noSlide||null==t)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(this._pos.width,this._pos.left);var a=t.getBoundingClientRect(),s=this.items.indexOf(t),l=this.items.indexOf(e);this.$.selectionBar.classList.add("expand");var c=s0&&(this.$.tabsContainer.scrollLeft+=n)},_calcPercent:function(e,t){return 100*e/t},_positionBar:function(e,t){e=e||0,t=t||0,this._width=e,this._left=t,this.transform("translateX("+t+"%) scaleX("+e/100+")",this.$.selectionBar)},_onBarTransitionEnd:function(e){var t=this.$.selectionBar.classList;t.contains("expand")?(t.remove("expand"),t.add("contract"),this._positionBar(this._pos.width,this._pos.left)):t.contains("contract")&&t.remove("contract")}}),n(1);var hl=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]&&arguments[1]?history.replaceState(null,null,e):history.pushState(null,null,e),this.fire("location-changed")}}]),n}()}),ml=function(){function e(e,t){for(var n=0;n\n paper-card {\n cursor: pointer;\n }\n a.repo {\n display: block;\n color: var(--primary-text-color);\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),vl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ml(t,[{key:"sortAddons",value:function(e,t){return e.name\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'])}})),_l=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),bl(t,[{key:"reposChanged",value:function(e){this.repoList=e.filter(function(e){return"core"!==e.slug&&"local"!==e.slug}),this.repoUrl=""}},{key:"sortRepos",value:function(e,t){return e.name\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n'])}})),xl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),wl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)}),this.loadData()}},{key:"apiCalled",value:function(e){e.detail.success&&this.loadData()}},{key:"sortRepos",value:function(e,t){return"local"===e.slug?-1:"local"===t.slug?1:"core"===e.slug?-1:"core"===t.slug?1:e.name\n paper-card {\n cursor: pointer;\n }\n \n
    \n
    Add-ons
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Add-ons
    \n \n \n
    \n'])}})),Sl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),Ol(t,[{key:"sortAddons",value:function(e,t){return e.name\n paper-card {\n display: block;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),Al=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),El(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===Pl(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}}],[{key:"template",get:function(){return l(Tl)}},{key:"properties",get:function(){return{hass:Object,hassInfo:Object,error:String}}}]),t}();customElements.define("hassio-hass-update",Al);var jl=function(){function e(e,t){for(var n=0;n\n .content {\n margin: 0 auto;\n }\n \n
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n
    \n'])}})),Rl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),jl(t,null,[{key:"template",get:function(){return l(Il)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hassInfo:Object}}}]),t}();customElements.define("hassio-dashboard",Rl);var Ll=document.createElement("template");Ll.setAttribute("style","display: none;"),Ll.innerHTML='\n \n\n \n',document.head.appendChild(Ll.content),to({is:"paper-checkbox",behaviors:[bs],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){xi(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-checkbox-ink-size").trim()){var e=this.getComputedStyleValue("--calculated-paper-checkbox-size").trim(),t="px",n=e.match(/[A-Za-z]+$/);null!==n&&(t=n[0]);var i=parseFloat(e),o=8/3*i;"px"===t&&(o=Math.floor(o))%2!=i%2&&o++,this.updateStyles({"--paper-checkbox-ink-size":o+t})}})},_computeCheckboxClass:function(e,t){var n="";return e&&(n+="checked "),t&&(n+="invalid"),n},_computeCheckmarkClass:function(e){return e?"":"hidden"},_createRipple:function(){return this._rippleContainer=this.$.checkboxContainer,Or._createRipple.call(this)}});var zl=function(){function e(e,t){for(var n=0;n\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'])}})),Dl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),zl(t,[{key:"_snapshotSlugChanged",value:function(e){var t=this;e&&"update"!==e&&this.hass.callApi("get","hassio/snapshots/"+e+"/info").then(function(e){e.data.folders=t._computeFolders(e.data.folders),e.data.addons=t._computeAddons(e.data.addons),t.snapshot=e.data,t.$.dialog.open()},function(){t.snapshot=null})}},{key:"_computeFolders",value:function(e){var t=[];return e.includes("homeassistant")&&t.push({slug:"homeassistant",name:"Home Assistant configuration",checked:!0}),e.includes("ssl")&&t.push({slug:"ssl",name:"SSL",checked:!0}),e.includes("share")&&t.push({slug:"share",name:"Share",checked:!0}),e.includes("addons/local")&&t.push({slug:"addons/local",name:"Local add-ons",checked:!0}),t}},{key:"_computeAddons",value:function(e){return e.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})}},{key:"_isFullSnapshot",value:function(e){return"full"===e}},{key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this.snapshot.addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),n=this.snapshot.folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),i={homeassistant:this.restoreHass,addons:t,folders:n};this.snapshot.protected&&(i.password=this.snapshotPassword),this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/partial",i).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(t){e.error=t.body.message})}}},{key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this.snapshot.protected?{password:this.snapshotPassword}:null;this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/full",t).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(t){e.error=t.body.message})}}},{key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/remove").then(function(){e.$.dialog.close(),e.snapshotDeleted=!0},function(t){e.error=t.body.message})}},{key:"_computeDownloadUrl",value:function(e){return"/api/hassio/snapshots/"+e+"/download?api_password="+encodeURIComponent(this.hass.connection.options.authToken)}},{key:"_computeDownloadName",value:function(e){return"Hass_io_"+this._computeName(e).replace(/[^a-z0-9]+/gi,"_")+".tar"}},{key:"_computeName",value:function(e){return e.name||e.slug}},{key:"_computeType",value:function(e){return"full"===e?"Full snapshot":"Partial snapshot"}},{key:"_computeSize",value:function(e){return Math.ceil(10*e)/10+" MB"}},{key:"_sortAddons",value:function(e,t){return e.name\n\n
    \n
    \n
    \n
    \n\n
    \n \n\n \n',document.head.appendChild(Fl.content),to({is:"paper-radio-button",behaviors:[bs],hostAttributes:{role:"radio","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},ready:function(){this._rippleContainer=this.$.radioContainer},attached:function(){xi(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-radio-button-ink-size").trim()){var e=parseFloat(this.getComputedStyleValue("--calculated-paper-radio-button-size").trim()),t=Math.floor(3*e);t%2!=e%2&&t++,this.updateStyles({"--paper-radio-button-ink-size":t+"px"})}})}});var Ml=Object.freeze(Object.defineProperties(["\n \n\n \n"],{raw:{value:Object.freeze(["\n \n\n \n"])}}));to({_template:l(Ml),is:"paper-radio-group",behaviors:[pl],hostAttributes:{role:"radiogroup"},properties:{attrForSelected:{type:String,value:"name"},selectedAttribute:{type:String,value:"checked"},selectable:{type:String,value:"paper-radio-button"},allowEmptySelection:{type:Boolean,value:!1}},select:function(e){var t=this._valueToItem(e);if(!t||!t.hasAttribute("disabled")){if(this.selected){var n=this._valueToItem(this.selected);if(this.selected==e){if(!this.allowEmptySelection)return void(n&&(n.checked=!0));e=""}n&&(n.checked=!1)}Qa.select.apply(this,[e]),this.fire("paper-radio-group-changed")}},_activateFocusedItem:function(){this._itemActivate(this._valueForItem(this.focusedItem),this.focusedItem)},_onUpKey:function(e){this._focusPrevious(),e.preventDefault(),this._activateFocusedItem()},_onDownKey:function(e){this._focusNext(),e.preventDefault(),this._activateFocusedItem()},_onLeftKey:function(e){cl._onLeftKey.apply(this,arguments),this._activateFocusedItem()},_onRightKey:function(e){cl._onRightKey.apply(this,arguments),this._activateFocusedItem()}});var Bl=function(){function e(e,t){for(var n=0;n\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'])}})),ql=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Bl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e._apiCalled(t)}),this._updateSnapshots()}},{key:"_apiCalled",value:function(e){e.detail.success&&this._updateSnapshots()}},{key:"_updateSnapshots",value:function(){var e=this;this.hass.callApi("get","hassio/snapshots").then(function(t){e.snapshots=t.data.snapshots},function(t){e.error=t.message})}},{key:"_createSnapshot",value:function(){var e=this;if(this.error="",!this.snapshotHasPassword||this.snapshotPassword.length){this.creatingSnapshot=!0;var t=this.snapshotName;t.length||(t=(new Date).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric"}));var n=void 0,i=void 0;if("full"===this.snapshotType)n={name:t},i="hassio/snapshots/new/full";else{var o=this.addonList.filter(function(e){return e.checked}).map(function(e){return e.slug});n={name:t,folders:this.folderList.filter(function(e){return e.checked}).map(function(e){return e.slug}),addons:o},i="hassio/snapshots/new/partial"}this.snapshotHasPassword&&(n.password=this.snapshotPassword),this.hass.callApi("post",i,n).then(function(){e.creatingSnapshot=!1,e.fire("hass-api-called",{success:!0})},function(t){e.creatingSnapshot=!1,e.error=t.message})}else this.error="Please enter a password."}},{key:"_installedAddonsChanged",value:function(e){this.addonList=e.map(function(e){return{slug:e.slug,name:e.name,checked:!0}})}},{key:"_sortAddons",value:function(e,t){return e.name\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n paper-button.info {\n max-width: 50%;\n }\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'])}})),Kl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Ul(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===$l(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"computeRebootAvailable",value:function(e){return e.features&&e.features.includes("reboot")}},{key:"computeShutdownAvailable",value:function(e){return e.features&&e.features.includes("shutdown")}},{key:"_showHardware",value:function(){var e=this;this.hass.callApi("get","hassio/hardware/info").then(function(t){return e._objectToMarkdown(t.data)},function(){return"Error getting hardware info"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Hardware",content:t})})}},{key:"_objectToMarkdown",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i="";return Object.keys(e).forEach(function(o){"object"!==$l(e[o])?i+=n+"- "+o+": "+e[o]+"\n":(i+=n+"- "+o+":\n",Array.isArray(e[o])?e[o].length&&(i+=n+" - "+e[o].join("\n"+n+" - ")+"\n"):i+=t._objectToMarkdown(e[o]," "+n))}),i}}],[{key:"template",get:function(){return l(Vl)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String}}}]),t}();customElements.define("hassio-host-info",Kl);var Wl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yl=function(){function e(e,t){for(var n=0;n\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'])}})),Xl=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Tr(mt)),Yl(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var t=e.detail.response;"object"===Wl(t.body)?this.errors=t.body.message||"Unknown error":this.errors=t.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"_equals",value:function(e,t){return e===t}},{key:"_joinBeta",value:function(){var e=this;if(confirm("WARNING:\nBeta releases are for testers and early adopters and can contain unstable code changes. Make sure you have backups of your data before you activate this feature.\n\nThis inludes beta releases for:\n- Home Assistant (Release Candidates)\n- Hass.io supervisor\n- Host system")){var t="hassio/supervisor/options",n={channel:"beta"},i={method:"post",path:t,data:n};this.hass.callApi("post",t,n).then(function(e){i.success=!0,i.response=e},function(e){i.success=!1,i.response=e}).then(function(){e.fire("hass-api-called",i)})}}}],[{key:"template",get:function(){return l(Zl)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String,leaveBeta:{type:Object,value:{channel:"stable"}}}}}]),t}();customElements.define("hassio-supervisor-info",Xl);var Gl=function(){function e(e,t){for(var n=0;n\n paper-card {\n display: block;\n }\n pre {\n overflow-x: auto;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),Ql=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),Gl(t,[{key:"ready",value:function(){(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.loadData()}},{key:"loadData",value:function(){var e=this;this.hass.callApi("get","hassio/supervisor/logs").then(function(t){e.log=t},function(){e.log="Error fetching logs"})}},{key:"refreshTapped",value:function(){this.loadData()}}],[{key:"template",get:function(){return l(Jl)}},{key:"properties",get:function(){return{hass:Object,log:String}}}]),t}();customElements.define("hassio-supervisor-log",Ql);var ec=function(){function e(e,t){for(var n=0;n\n .content {\n margin: 4px;\n }\n .title {\n margin-top: 24px;\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'])}})),nc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),ec(t,null,[{key:"template",get:function(){return l(tc)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hostInfo:Object}}}]),t}();customElements.define("hassio-system",nc);var ic=function(){function e(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #FFF;\n text-transform: uppercase;\n }\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'])}})),rc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ic(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),this.addEventListener("hassio-markdown-dialog",function(t){return e.openMarkdown(t)})}},{key:"handlePageSelected",value:function(e){var t=e.detail.item.getAttribute("page-name");t!==this.page&&this.navigate("/hassio/"+t)}},{key:"equals",value:function(e,t){return e===t}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return l(oc)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,page:String,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,snapshotSlug:String,snapshotDeleted:Boolean,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),t}();customElements.define("hassio-pages-with-tabs",rc);var ac=function(){function e(e,t){for(var n=0;n\n \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n\n \n'])}})),cc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,fl(mt)),ac(t,[{key:"ready",value:function(){var e=this;sc(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var o=t.default_theme;("default"===n||n&&t.themes[n])&&(o=n);var r=Object.assign({},e._themes);if("default"!==o){var a=t.themes[o];Object.keys(a).forEach(function(t){var n="--"+t;e._themes[n]="",r[n]=a[t]})}if(e.updateStyles?e.updateStyles(r):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,r),i){var s=document.querySelector("meta[name=theme-color]");if(s){s.hasAttribute("default-content")||s.setAttribute("default-content",s.getAttribute("content"));var l=r["--primary-color"]||s.getAttribute("default-content");s.setAttribute("content",l)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)})}},{key:"connectedCallback",value:function(){sc(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var t=this;if(e.detail.success){var n=1;!function e(){t.$.data.refresh().catch(function(){n+=1,setTimeout(e,1e3*Math.min(n,5))})}()}}},{key:"computeIsLoaded",value:function(e,t,n){return null!==e&&null!==t&&null!==n}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0)}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}],[{key:"template",get:function(){return l(lc)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:{type:Object,value:{prefix:"/hassio",path:"/dashboard",__queryParams:{}},observer:"routeChanged"},routeData:Object,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo)"}}}}]),t}();customElements.define("hassio-main",cc);var pc=function(){function e(e,t){for(var n=0;n\n \n \n'],{raw:{value:Object.freeze(['\n \n'])}})),yc=function(e){function t(){return function(e,n){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,mt),fc(t,[{key:"ready",value:function(){var e=this;(function e(t,n,i){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var r=Object.getPrototypeOf(t);return null===r?void 0:e(r,n,i)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(i):void 0})(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"ready",this).call(this),window.setProperties=this.setProperties.bind(this),this.addEventListener("location-changed",function(){return e._locationChanged()}),this.addEventListener("hass-open-menu",function(){return e._menuEvent(!0)}),this.addEventListener("hass-close-menu",function(){return e._menuEvent(!1)})}},{key:"_menuEvent",value:function(e){this.hassioPanel.fire(e?"hass-open-menu":"hass-close-menu")}},{key:"_locationChanged",value:function(){this.hassioPanel.navigate(window.location.pathname)}}],[{key:"template",get:function(){return l(mc)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:Object,hassioPanel:{type:Object,value:window.parent.hassioPanel}}}}]),t}();customElements.define("hassio-app",yc)},function(e,t,n){"use strict";t.default=function(){function e(t,n,i,o){this.message=t,this.expected=n,this.found=i,this.location=o,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,e)}return function(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}(e,Error),{SyntaxError:e,parse:function(t){var n,i=arguments.length>1?arguments[1]:{},o={},r={start:Te},a=Te,s=function(e){return{type:"messageFormatPattern",elements:e,location:Ce()}},l=function(e){var t,n,i,o,r,a="";for(t=0,i=e.length;tke&&(ke=ge,xe=[]),xe.push(e))}function Te(){return Ae()}function Ae(){var e,t,n;for(e=ge,t=[],n=je();n!==o;)t.push(n),n=je();return t!==o&&(_e=e,t=s(t)),t}function je(){var e;return(e=function(){var e,n;return e=ge,(n=function(){var e,n,i,r,a,s;if(e=ge,n=[],i=ge,(r=ze())!==o&&(a=Be())!==o&&(s=ze())!==o?i=r=[r,a,s]:(ge=i,i=o),i!==o)for(;i!==o;)n.push(i),i=ge,(r=ze())!==o&&(a=Be())!==o&&(s=ze())!==o?i=r=[r,a,s]:(ge=i,i=o);else n=o;return n!==o&&(_e=e,n=l(n)),(e=n)===o&&(e=ge,e=(n=Le())!==o?t.substring(e,ge):n),e}())!==o&&(_e=e,n=c(n)),n}())===o&&(e=function(){var e,n,i,r,a,s,l;return e=ge,123===t.charCodeAt(ge)?(n=d,ge++):(n=o,0===Oe&&Ee(h)),n!==o&&ze()!==o&&(i=function(){var e,n,i;if((e=Fe())===o){if(e=ge,n=[],p.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=o,0===Oe&&Ee(u)),i!==o)for(;i!==o;)n.push(i),p.test(t.charAt(ge))?(i=t.charAt(ge),ge++):(i=o,0===Oe&&Ee(u));else n=o;e=n!==o?t.substring(e,ge):n}return e}())!==o&&ze()!==o?(r=ge,44===t.charCodeAt(ge)?(a=f,ge++):(a=o,0===Oe&&Ee(m)),a!==o&&(s=ze())!==o&&(l=function(){var e;return(e=function(){var e,n,i,r,a,s;return e=ge,t.substr(ge,6)===g?(n=g,ge+=6):(n=o,0===Oe&&Ee(_)),n===o&&(t.substr(ge,4)===w?(n=w,ge+=4):(n=o,0===Oe&&Ee(k)),n===o&&(t.substr(ge,4)===x?(n=x,ge+=4):(n=o,0===Oe&&Ee(O)))),n!==o&&ze()!==o?(i=ge,44===t.charCodeAt(ge)?(r=f,ge++):(r=o,0===Oe&&Ee(m)),r!==o&&(a=ze())!==o&&(s=Be())!==o?i=r=[r,a,s]:(ge=i,i=o),i===o&&(i=null),i!==o?(_e=e,e=n=C(n,i)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r;return e=ge,t.substr(ge,6)===S?(n=S,ge+=6):(n=o,0===Oe&&Ee(P)),n!==o&&ze()!==o?(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Ee(m)),i!==o&&ze()!==o&&(r=Re())!==o?(_e=e,e=n=E(r)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r;return e=ge,t.substr(ge,13)===T?(n=T,ge+=13):(n=o,0===Oe&&Ee(A)),n!==o&&ze()!==o?(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Ee(m)),i!==o&&ze()!==o&&(r=Re())!==o?(_e=e,e=n=j(r)):(ge=e,e=o)):(ge=e,e=o),e}())===o&&(e=function(){var e,n,i,r,a;if(e=ge,t.substr(ge,6)===I?(n=I,ge+=6):(n=o,0===Oe&&Ee(R)),n!==o)if(ze()!==o)if(44===t.charCodeAt(ge)?(i=f,ge++):(i=o,0===Oe&&Ee(m)),i!==o)if(ze()!==o){if(r=[],(a=Ie())!==o)for(;a!==o;)r.push(a),a=Ie();else r=o;r!==o?(_e=e,e=n=L(r)):(ge=e,e=o)}else ge=e,e=o;else ge=e,e=o;else ge=e,e=o;else ge=e,e=o;return e}()),e}())!==o?r=a=[a,s,l]:(ge=r,r=o),r===o&&(r=null),r!==o&&(a=ze())!==o?(125===t.charCodeAt(ge)?(s=y,ge++):(s=o,0===Oe&&Ee(v)),s!==o?(_e=e,e=n=b(i,r)):(ge=e,e=o)):(ge=e,e=o)):(ge=e,e=o),e}()),e}function Ie(){var e,n,i,r,a;return e=ge,ze()!==o&&(n=function(){var e,n,i,r;return e=ge,n=ge,61===t.charCodeAt(ge)?(i=z,ge++):(i=o,0===Oe&&Ee(N)),i!==o&&(r=Fe())!==o?n=i=[i,r]:(ge=n,n=o),(e=n!==o?t.substring(e,ge):n)===o&&(e=Be()),e}())!==o&&ze()!==o?(123===t.charCodeAt(ge)?(i=d,ge++):(i=o,0===Oe&&Ee(h)),i!==o&&ze()!==o&&(r=Ae())!==o&&ze()!==o?(125===t.charCodeAt(ge)?(a=y,ge++):(a=o,0===Oe&&Ee(v)),a!==o?(_e=e,e=D(n,r)):(ge=e,e=o)):(ge=e,e=o)):(ge=e,e=o),e}function Re(){var e,n,i,r;if(e=ge,(n=function(){var e,n,i;return e=ge,t.substr(ge,7)===F?(n=F,ge+=7):(n=o,0===Oe&&Ee(M)),n!==o&&ze()!==o&&(i=Fe())!==o?(_e=e,e=n=B(i)):(ge=e,e=o),e}())===o&&(n=null),n!==o)if(ze()!==o){if(i=[],(r=Ie())!==o)for(;r!==o;)i.push(r),r=Ie();else i=o;i!==o?(_e=e,e=n=H(n,i)):(ge=e,e=o)}else ge=e,e=o;else ge=e,e=o;return e}function Le(){var e,n;if(Oe++,e=[],$.test(t.charAt(ge))?(n=t.charAt(ge),ge++):(n=o,0===Oe&&Ee(U)),n!==o)for(;n!==o;)e.push(n),$.test(t.charAt(ge))?(n=t.charAt(ge),ge++):(n=o,0===Oe&&Ee(U));else e=o;return Oe--,e===o&&(n=o,0===Oe&&Ee(q)),e}function ze(){var e,n,i;for(Oe++,e=ge,n=[],i=Le();i!==o;)n.push(i),i=Le();return e=n!==o?t.substring(e,ge):n,Oe--,e===o&&(n=o,0===Oe&&Ee(V)),e}function Ne(){var e;return K.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Ee(W)),e}function De(){var e;return Y.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Ee(Z)),e}function Fe(){var e,n,i,r,a,s;if(e=ge,48===t.charCodeAt(ge)?(n=X,ge++):(n=o,0===Oe&&Ee(G)),n===o){if(n=ge,i=ge,J.test(t.charAt(ge))?(r=t.charAt(ge),ge++):(r=o,0===Oe&&Ee(Q)),r!==o){for(a=[],s=Ne();s!==o;)a.push(s),s=Ne();a!==o?i=r=[r,a]:(ge=i,i=o)}else ge=i,i=o;n=i!==o?t.substring(n,ge):i}return n!==o&&(_e=e,n=ee(n)),n}function Me(){var e,n,i,r,a,s,l,c;return te.test(t.charAt(ge))?(e=t.charAt(ge),ge++):(e=o,0===Oe&&Ee(ne)),e===o&&(e=ge,t.substr(ge,2)===ie?(n=ie,ge+=2):(n=o,0===Oe&&Ee(oe)),n!==o&&(_e=e,n=re()),(e=n)===o&&(e=ge,t.substr(ge,2)===ae?(n=ae,ge+=2):(n=o,0===Oe&&Ee(se)),n!==o&&(_e=e,n=le()),(e=n)===o&&(e=ge,t.substr(ge,2)===ce?(n=ce,ge+=2):(n=o,0===Oe&&Ee(pe)),n!==o&&(_e=e,n=ue()),(e=n)===o&&(e=ge,t.substr(ge,2)===de?(n=de,ge+=2):(n=o,0===Oe&&Ee(he)),n!==o&&(_e=e,n=fe()),(e=n)===o&&(e=ge,t.substr(ge,2)===me?(n=me,ge+=2):(n=o,0===Oe&&Ee(ye)),n!==o?(i=ge,r=ge,(a=De())!==o&&(s=De())!==o&&(l=De())!==o&&(c=De())!==o?r=a=[a,s,l,c]:(ge=r,r=o),(i=r!==o?t.substring(i,ge):r)!==o?(_e=e,e=n=ve(i)):(ge=e,e=o)):(ge=e,e=o)))))),e}function Be(){var e,t,n;if(e=ge,t=[],(n=Me())!==o)for(;n!==o;)t.push(n),n=Me();else t=o;return t!==o&&(_e=e,t=be(t)),t}if((n=a())!==o&&ge===t.length)return n;throw n!==o&&get.description?1:0});t1?i.slice(0,-1).join(", ")+" or "+i[e.length-1]:i[0])+" but "+(t?'"'+function(e){function n(e){return e.charCodeAt(0).toString(16).toUpperCase()}return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(e){return"\\x0"+n(e)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(e){return"\\x"+n(e)}).replace(/[\u0100-\u0FFF]/g,function(e){return"\\u0"+n(e)}).replace(/[\u1000-\uFFFF]/g,function(e){return"\\u"+n(e)})}()+'"':"end of input")+" found."}(n,i),n,i,o)}(null,xe,ke1||n<0||n>1?d:function(o){function r(e,t,n){return 3*e*(1-n)*(1-n)*n+3*t*(1-n)*n*n+n*n*n}if(o<=0){var a=0;return e>0?a=t/e:!t&&n>0&&(a=i/n),a*o}if(o>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&e<1&&(s=(t-1)/(e-1)),1+s*(o-1)}for(var l=0,c=1;l=1)return 1;var i=1/e;return(n+=t*i)-n%i}}function s(e){v||(v=document.createElement("div").style),v.animationTimingFunction="",v.animationTimingFunction=e;var t=v.animationTimingFunction;if(""==t&&i())throw new TypeError(e+" is not a valid value for easing");return t}function l(e){if("linear"==e)return d;var t=g.exec(e);if(t)return r.apply(this,t.slice(1).map(Number));var n=_.exec(e);return n?a(Number(n[1]),{start:h,middle:f,end:m}[n[2]]):y[e]||d}function c(e,t,n){if(null==t)return w;var i=n.delay+e+n.endDelay;return t=Math.min(n.delay+e,i)?x:O}var p="backwards|forwards|both|none".split("|"),u="reverse|alternate|alternate-reverse".split("|"),d=function(e){return e};n.prototype={_setMember:function(t,n){this["_"+t]=n,this._effect&&(this._effect._timingInput[t]=n,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=l(s(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var h=1,f=.5,m=0,y={ease:r(.25,.1,.25,1),"ease-in":r(.42,0,1,1),"ease-out":r(0,0,.58,1),"ease-in-out":r(.42,0,.58,1),"step-start":a(1,h),"step-middle":a(1,f),"step-end":a(1,m)},v=null,b="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",g=new RegExp("cubic-bezier\\("+b+","+b+","+b+","+b+"\\)"),_=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,w=0,k=1,x=2,O=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var n in e)t[n]=e[n];return t},e.makeTiming=o,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,n){return o(t=e.numericTimingToObject(t),n)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,n){var i=c(e,t,n),o=function(e,t,n,i,o){switch(i){case k:return"backwards"==t||"both"==t?0:null;case O:return n-o;case x:return"forwards"==t||"both"==t?e:null;case w:return null}}(e,n.fill,t,i,n.delay);if(null===o)return null;var r=function(e,t,n,i,o){var r=o;return 0===e?t!==k&&(r+=n):r+=i/e,r}(n.duration,i,n.iterations,o,n.iterationStart),a=function(e,t,n,i,o,r){var a=e===1/0?t%1:e%1;return 0!==a||n!==x||0===i||0===o&&0!==r||(a=1),a}(r,n.iterationStart,i,n.iterations,o,n.duration),s=function(e,t,n,i){return e===x&&t===1/0?1/0:1===a?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,0,r),l=function(e,t,n){var i=e;if("normal"!==e&&"reverse"!==e){var o=s;"alternate-reverse"===e&&(o+=1),i="normal",o!==1/0&&o%2!=0&&(i="reverse")}return"normal"===i?a:1-a}(n.direction);return n._easingFunction(l)},e.calculatePhase=c,e.normalizeEasing=s,e.parseEasingFunction=l}(i={}),function(e,t){function n(e,t){return e in l&&l[e][t]||t}function i(e,t,i){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var o=r[e];if(o)for(var s in a.style[e]=t,o){var l=o[s],c=a.style[l];i[l]=n(l,c)}else i[e]=n(e,t)}}function o(e){var t=[];for(var n in e)if(!(n in["easing","offset","composite"])){var i=e[n];Array.isArray(i)||(i=[i]);for(var o,r=i.length,a=0;a1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==o){if("add"==r||"accumulate"==r)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=r)throw new TypeError("Invalid composite mode "+r+".")}else r="easing"==o?e.normalizeEasing(r):""+r;i(o,r,n)}return void 0==n.offset&&(n.offset=null),void 0==n.easing&&(n.easing="linear"),n}),r=!0,a=-1/0,s=0;s=0&&e.offset<=1}),r||function(){var e=n.length;null==n[e-1].offset&&(n[e-1].offset=1),e>1&&null==n[0].offset&&(n[0].offset=0);for(var t=0,i=n[0].offset,o=1;o=e.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var n=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=n&&(this.currentTime=n)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var n=this._finishHandlers.indexOf(t);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new function(e,t,n){this.target=e,this.currentTime=t,this.timelineTime=n,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,this._currentTime,e),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){n.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(i,o),function(e,t,n){function i(e){var t=c;c=[],ei?n%=i:i%=n;return e*t/(n+i)}(i.length,o.length),c=0;c=1?t:"visible"}]},["visibility"]),function(e,t){function n(e){e=e.trim(),r.fillStyle="#000",r.fillStyle=e;var t=r.fillStyle;if(r.fillStyle="#fff",r.fillStyle=e,t==r.fillStyle){r.fillRect(0,0,1,1);var n=r.getImageData(0,0,1,1).data;r.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(t,n){return[t,n,function(t){function n(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var i=0;i<3;i++)t[i]=Math.round(n(t[i]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var o=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");o.width=o.height=1;var r=o.getContext("2d");e.addPropertiesHandler(n,i,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,n),e.mergeColors=i}(o),function(e,t){function n(e){function t(){var t=a.exec(e);r=t?t[0]:void 0}function n(){if("("!==r)return function(){var e=Number(r);return t(),e}();t();var e=o();return")"!==r?NaN:(t(),e)}function i(){for(var e=n();"*"===r||"/"===r;){var i=r;t();var o=n();"*"===i?e*=o:e/=o}return e}function o(){for(var e=i();"+"===r||"-"===r;){var n=r;t();var o=i();"+"===n?e+=o:e-=o}return e}var r,a=/([\+\-\w\.]+|[\(\)\*\/])/g;return t(),o()}function i(e,t){if("0"==(t=t.trim().toLowerCase())&&"px".search(e)>=0)return{px:0};if(/^[^(]*$|^calc/.test(t)){var i={};t=(t=t.replace(/calc\(/g,"(")).replace(e,function(e){return i[e]=null,"U"+e});for(var o="U("+e.source+")",r=t.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+o,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),a=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],s=0;s1?"calc("+n+")":n}]}var a="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",s=i.bind(null,new RegExp(a,"g")),l=i.bind(null,new RegExp(a+"|%","g")),c=i.bind(null,/deg|rad|grad|turn/g);e.parseLength=s,e.parseLengthOrPercent=l,e.consumeLengthOrPercent=e.consumeParenthesised.bind(null,l),e.parseAngle=c,e.mergeDimensions=r;var p=e.consumeParenthesised.bind(null,s),u=e.consumeRepeated.bind(void 0,p,/^/),d=e.consumeRepeated.bind(void 0,u,/^,/);e.consumeSizePairList=d;var h=e.mergeNestedRepeated.bind(void 0,o," "),f=e.mergeNestedRepeated.bind(void 0,h,",");e.mergeNonNegativeSizePair=h,e.addPropertiesHandler(function(e){var t=d(e);if(t&&""==t[1])return t[0]},f,["background-size"]),e.addPropertiesHandler(l,o,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),e.addPropertiesHandler(l,r,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(o),function(e,t){function n(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function i(t){var i=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,n,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(i&&4==i[0].length)return i[0]}var o=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,n){return"auto"==t||"auto"==n?[!0,!1,function(i){var o=i?t:n;if("auto"==o)return"auto";var r=e.mergeDimensions(o,o);return r[2](r[0])}]:e.mergeDimensions(t,n)},", ");e.parseBox=i,e.mergeBoxes=o,e.addPropertiesHandler(i,o,["clip"])}(o),function(e,t){function n(e){return function(t){var n=0;return e.map(function(e){return e===c?t[n++]:e})}}function i(e){return e}function o(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,o=[],r=0;n=i.exec(t);){if(n.index!=r)return;r=n.index+n[0].length;var a=n[1],s=d[a];if(!s)return;var l=n[2].split(","),c=s[0];if(c.length=0&&this._cancelHandlers.splice(n,1)}else s.call(this,e,t)},o}}}(),function(e){var t=document.documentElement,n=null,i=!1;try{var o="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(n=t.animate({opacity:[o,o]},{duration:1})).currentTime=0,i=getComputedStyle(t).getPropertyValue("opacity")==o}catch(e){}finally{n&&n.cancel()}if(!i){var r=window.Element.prototype.animate;window.Element.prototype.animate=function(t,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),r.call(this,t,n)}}}(i),function(e,t,n){function i(e){var n=t.timeline;n.currentTime=e,n._discardAnimations(),0==n._animations.length?r=!1:requestAnimationFrame(i)}var o=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return o(function(n){t.timeline._updateAnimationsPromises(),e(n),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var n=new t.Animation(e,this);return this._animations.push(n),t.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(e){return e&&e.remove(),this._play(e)}};var r=!1;t.restartWebAnimationsNextTick=function(){r||(r=!0,requestAnimationFrame(i))};var a=new t.AnimationTimeline;t.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(e){}try{window.document.timeline=a}catch(e){}}(0,r),function(e,t,n){t.animationsWithPromises=[],t.Animation=function(t,n){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,n,i,o,r=!!this._animation;r&&(e=this.playbackRate,n=this._paused,i=this.startTime,o=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),r&&(1!=e&&(this.playbackRate=e),null!==i?this.startTime=i:null!==o?this.currentTime=o:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t\n \n",document.head.appendChild(n.content)},function(e,t){function n(){document.body.removeAttribute("unresolved")}"interactive"===document.readyState||"complete"===document.readyState?n():window.addEventListener("DOMContentLoaded",n)}]);(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[,,,,,,,,,function(t,e){t.exports={indexOf:function(t,e){var r,n;if(Array.prototype.indexOf)return t.indexOf(e);for(r=0,n=t.length;r0;e--){var r=t[e];if(" "!==r)return"="===r?e:-1}}function c(t){return function(t){return'"'===t[0]&&'"'===t[t.length-1]||"'"===t[0]&&"'"===t[t.length-1]}(t)?t.substr(1,t.length-2):t}e.parseTag=function(t,e,r){"user strict";var n="",s=0,a=!1,l=!1,c=0,p=t.length,u="",g="";for(c=0;c"===h){n+=r(t.slice(s,a)),u=i(g=t.slice(a,c+1)),n+=e(a,n.length,u,g,o(g)),s=c+1,a=!1;continue}if(('"'===h||"'"===h)&&"="===t.charAt(c-1)){l=h;continue}}else if(h===l){l=!1;continue}}return s/g,p=/"/g,u=/"/g,g=/&#([a-zA-Z0-9]*);?/gim,h=/:?/gim,d=/&newline;?/gim,f=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,m=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,b=/u\s*r\s*l\s*\(.*/gi;function x(t){return t.replace(p,""")}function k(t){return t.replace(u,'"')}function y(t){return t.replace(g,function(t,e){return"x"===e[0]||"X"===e[0]?String.fromCharCode(parseInt(e.substr(1),16)):String.fromCharCode(parseInt(e,10))})}function w(t){return t.replace(h,":").replace(d," ")}function v(t){for(var e="",r=0,n=t.length;r/g;e.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},e.getDefaultWhiteList=function(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]}},e.onTag=function(t,e,r){},e.onIgnoreTag=function(t,e,r){},e.onTagAttr=function(t,e,r){},e.onIgnoreTagAttr=function(t,e,r){},e.safeAttrValue=function(t,e,r,n){if(r=A(r),"href"===e||"src"===e){if("#"===(r=o.trim(r)))return"#";if("http://"!==r.substr(0,7)&&"https://"!==r.substr(0,8)&&"mailto:"!==r.substr(0,7)&&"tel:"!==r.substr(0,4)&&"#"!==r[0]&&"/"!==r[0])return""}else if("background"===e){if(f.lastIndex=0,f.test(r))return""}else if("style"===e){if(m.lastIndex=0,m.test(r))return"";if(b.lastIndex=0,b.test(r)&&(f.lastIndex=0,f.test(r)))return"";!1!==n&&(r=(n=n||s).process(r))}return _(r)},e.escapeHtml=a,e.escapeQuote=x,e.unescapeQuote=k,e.escapeHtmlEntities=y,e.escapeDangerHtml5Entities=w,e.clearNonPrintableCharacter=v,e.friendlyAttrValue=A,e.escapeAttrValue=_,e.onIgnoreTagStripAll=function(){return""},e.StripTagBody=function(t,e){"function"!=typeof e&&(e=function(){});var r=!Array.isArray(t),n=[],i=!1;return{onIgnoreTag:function(s,a,l){if(function(e){return!!r||-1!==o.indexOf(t,e)}(s)){if(l.isClosing){var c="[/removed]",p=l.position+c.length;return n.push([!1!==i?i:l.position,p]),i=!1,c}return i||(i=l.position),"[removed]"}return e(s,a,l)},remove:function(t){var e="",r=0;return o.forEach(n,function(n){e+=t.slice(r,n[0]),r=n[1]}),e+=t.slice(r)}}},e.stripCommentTag=function(t){return t.replace(S,"")},e.stripBlankChar=function(t){var e=t.split("");return(e=e.filter(function(t){var e=t.charCodeAt(0);return!(127===e||e<=31&&10!==e&&13!==e)})).join("")},e.cssFilter=s,e.getDefaultCSSWhiteList=i},function(t,e,r){var n=r(10).FilterCSS,i=r(14),o=r(11),s=o.parseTag,a=o.parseAttr,l=r(9);function c(t){return void 0===t||null===t}function p(t){(t=function(t){var e={};for(var r in t)e[r]=t[r];return e}(t||{})).stripIgnoreTag&&(t.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),t.onIgnoreTag=i.onIgnoreTagStripAll),t.whiteList=t.whiteList||i.whiteList,t.onTag=t.onTag||i.onTag,t.onTagAttr=t.onTagAttr||i.onTagAttr,t.onIgnoreTag=t.onIgnoreTag||i.onIgnoreTag,t.onIgnoreTagAttr=t.onIgnoreTagAttr||i.onIgnoreTagAttr,t.safeAttrValue=t.safeAttrValue||i.safeAttrValue,t.escapeHtml=t.escapeHtml||i.escapeHtml,this.options=t,!1===t.css?this.cssFilter=!1:(t.css=t.css||{},this.cssFilter=new n(t.css))}p.prototype.process=function(t){if(!(t=(t=t||"").toString()))return"";var e=this.options,r=e.whiteList,n=e.onTag,o=e.onIgnoreTag,p=e.onTagAttr,u=e.onIgnoreTagAttr,g=e.safeAttrValue,h=e.escapeHtml,d=this.cssFilter;e.stripBlankChar&&(t=i.stripBlankChar(t)),e.allowCommentTag||(t=i.stripCommentTag(t));var f=!1;e.stripIgnoreTagBody&&(f=i.StripTagBody(e.stripIgnoreTagBody,o),o=f.onIgnoreTag);var m=s(t,function(t,e,i,s,f){var m,b={sourcePosition:t,position:e,isClosing:f,isWhite:r.hasOwnProperty(i)};if(!c(m=n(i,s,b)))return m;if(b.isWhite){if(b.isClosing)return"";var x=function(t){var e=l.spaceIndex(t);if(-1===e)return{html:"",closing:"/"===t[t.length-2]};var r="/"===(t=l.trim(t.slice(e+1,-1)))[t.length-1];return r&&(t=l.trim(t.slice(0,-1))),{html:t,closing:r}}(s),k=r[i],y=a(x.html,function(t,e){var r,n=-1!==l.indexOf(k,t);return c(r=p(i,t,e,n))?n?(e=g(i,t,e,d))?t+'="'+e+'"':t:c(r=u(i,t,e,n))?void 0:r:r});return s="<"+i,y&&(s+=" "+y),x.closing&&(s+=" /"),s+">"}return c(m=o(i,s,b))?h(s):m},h);return f&&(m=f.remove(m)),m},t.exports=p},function(t,e,r){var n=r(12);t.exports=function(t,e){";"!==(t=n.trimRight(t))[t.length-1]&&(t+=";");var r=t.length,i=!1,o=0,s=0,a="";function l(){if(!i){var r=n.trim(t.slice(o,s)),l=r.indexOf(":");if(-1!==l){var c=n.trim(r.slice(0,l)),p=n.trim(r.slice(l+1));if(c){var u=e(o,a.length,c,p,r);u&&(a+=u+"; ")}}}o=s+1}for(;s ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:k,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/,text:/^[^\n]+/};function a(t){this.tokens=[],this.tokens.links={},this.options=t||w.defaults,this.rules=s.normal,this.options.gfm&&(this.options.tables?this.rules=s.tables:this.rules=s.gfm)}s._label=/(?:\\[\[\]]|[^\[\]])+/,s._title=/(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/,s.def=f(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d+\.)/,s.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,s.item=f(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=f(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b",s.html=f(s.html).replace("comment",//).replace("closed",/<(tag)[\s\S]+?<\/\1>/).replace("closing",/\s]*)*?\/?>/).replace(/tag/g,s._tag).getRegex(),s.paragraph=f(s.paragraph).replace("hr",s.hr).replace("heading",s.heading).replace("lheading",s.lheading).replace("tag","<"+s._tag).getRegex(),s.blockquote=f(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=y({},s),s.gfm=y({},s.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),s.gfm.paragraph=f(s.paragraph).replace("(?!","(?!"+s.gfm.fences.source.replace("\\1","\\2")+"|"+s.list.source.replace("\\1","\\3")+"|").getRegex(),s.tables=y({},s.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),a.rules=s,a.lex=function(t,e){return new a(e).lex(t)},a.prototype.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(t,!0)},a.prototype.token=function(t,e){var r,n,i,o,a,l,c,p,u,g,h;for(t=t.replace(/^ +$/gm,"");t;)if((i=this.rules.newline.exec(t))&&(t=t.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(t))t=t.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:i.replace(/\n+$/,"")});else if(i=this.rules.fences.exec(t))t=t.substring(i[0].length),this.tokens.push({type:"code",lang:i[2],text:i[3]||""});else if(i=this.rules.heading.exec(t))t=t.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(e&&(i=this.rules.nptable.exec(t))){for(t=t.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/\n$/,"").split("\n")},p=0;p ?/gm,""),this.token(i,e),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(t)){for(t=t.substring(i[0].length),h=(o=i[2]).length>1,this.tokens.push({type:"list_start",ordered:h,start:h?+o:""}),r=!1,g=(i=i[0].match(this.rules.item)).length,p=0;p1&&a.length>1||(t=i.slice(p+1).join("\n")+t,p=g-1)),n=r||/\n\n(?!\s*$)/.test(l),p!==g-1&&(r="\n"===l.charAt(l.length-1),n||(n=r)),this.tokens.push({type:n?"loose_item_start":"list_item_start"}),this.token(l,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(t))t=t.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(e&&(i=this.rules.def.exec(t)))t=t.substring(i[0].length),i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),u=i[1].toLowerCase(),this.tokens.links[u]||(this.tokens.links[u]={href:i[2],title:i[3]});else if(e&&(i=this.rules.table.exec(t))){for(t=t.substring(i[0].length),l={type:"table",header:i[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3].replace(/(?: *\| *)?\n$/,"").split("\n")},p=0;p])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:k,tag:/^|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:k,text:/^[\s\S]+?(?=[\\/g,">").replace(/"/g,""").replace(/'/g,"'")}function d(t){return t.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(t,e){return"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""})}function f(t,e){return t=t.source,e=e||"",{replace:function(e,r){return r=(r=r.source||r).replace(/(^|[^\[])\^/g,"$1"),t=t.replace(e,r),this},getRegex:function(){return new RegExp(t,e)}}}function m(t,e){return b[" "+t]||(/^[^:]+:\/*[^/]*$/.test(t)?b[" "+t]=t+"/":b[" "+t]=t.replace(/[^/]*$/,"")),t=b[" "+t],"//"===e.slice(0,2)?t.replace(/:[\s\S]*/,":")+e:"/"===e.charAt(0)?t.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+e:t+e}l._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,l._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,l.autolink=f(l.autolink).replace("scheme",l._scheme).replace("email",l._email).getRegex(),l._inside=/(?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/,l._href=/\s*?(?:\s+['"]([\s\S]*?)['"])?\s*/,l.link=f(l.link).replace("inside",l._inside).replace("href",l._href).getRegex(),l.reflink=f(l.reflink).replace("inside",l._inside).getRegex(),l.normal=y({},l),l.pedantic=y({},l.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),l.gfm=y({},l.normal,{escape:f(l.escape).replace("])","~|])").getRegex(),url:f(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",l._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:f(l.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),l.breaks=y({},l.gfm,{br:f(l.br).replace("{2,}","*").getRegex(),text:f(l.gfm.text).replace("{2,}","*").getRegex()}),c.rules=l,c.output=function(t,e,r){return new c(e,r).output(t)},c.prototype.output=function(t){for(var e,r,n,i,o="";t;)if(i=this.rules.escape.exec(t))t=t.substring(i[0].length),o+=i[1];else if(i=this.rules.autolink.exec(t))t=t.substring(i[0].length),n="@"===i[2]?"mailto:"+(r=h(this.mangle(i[1]))):r=h(i[1]),o+=this.renderer.link(n,null,r);else if(this.inLink||!(i=this.rules.url.exec(t))){if(i=this.rules.tag.exec(t))!this.inLink&&/^/i.test(i[0])&&(this.inLink=!1),t=t.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):h(i[0]):i[0];else if(i=this.rules.link.exec(t))t=t.substring(i[0].length),this.inLink=!0,o+=this.outputLink(i,{href:i[2],title:i[3]}),this.inLink=!1;else if((i=this.rules.reflink.exec(t))||(i=this.rules.nolink.exec(t))){if(t=t.substring(i[0].length),e=(i[2]||i[1]).replace(/\s+/g," "),!(e=this.links[e.toLowerCase()])||!e.href){o+=i[0].charAt(0),t=i[0].substring(1)+t;continue}this.inLink=!0,o+=this.outputLink(i,e),this.inLink=!1}else if(i=this.rules.strong.exec(t))t=t.substring(i[0].length),o+=this.renderer.strong(this.output(i[2]||i[1]));else if(i=this.rules.em.exec(t))t=t.substring(i[0].length),o+=this.renderer.em(this.output(i[2]||i[1]));else if(i=this.rules.code.exec(t))t=t.substring(i[0].length),o+=this.renderer.codespan(h(i[2].trim(),!0));else if(i=this.rules.br.exec(t))t=t.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(t))t=t.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.text.exec(t))t=t.substring(i[0].length),o+=this.renderer.text(h(this.smartypants(i[0])));else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}else i[0]=this.rules._backpedal.exec(i[0])[0],t=t.substring(i[0].length),"@"===i[2]?n="mailto:"+(r=h(i[0])):(r=h(i[0]),n="www."===i[1]?"http://"+r:r),o+=this.renderer.link(n,null,r);return o},c.prototype.outputLink=function(t,e){var r=h(e.href),n=e.title?h(e.title):null;return"!"!==t[0].charAt(0)?this.renderer.link(r,n,this.output(t[1])):this.renderer.image(r,n,h(t[1]))},c.prototype.smartypants=function(t){return this.options.smartypants?t.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):t},c.prototype.mangle=function(t){if(!this.options.mangle)return t;for(var e,r="",n=t.length,i=0;i.5&&(e="x"+e.toString(16)),r+="&#"+e+";";return r},p.prototype.code=function(t,e,r){if(this.options.highlight){var n=this.options.highlight(t,e);null!=n&&n!==t&&(r=!0,t=n)}return e?'
    '+(r?t:h(t,!0))+"\n
    \n":"
    "+(r?t:h(t,!0))+"\n
    "},p.prototype.blockquote=function(t){return"
    \n"+t+"
    \n"},p.prototype.html=function(t){return t},p.prototype.heading=function(t,e,r){return"'+t+"\n"},p.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},p.prototype.list=function(t,e,r){var n=e?"ol":"ul";return"<"+n+(e&&1!==r?' start="'+r+'"':"")+">\n"+t+"\n"},p.prototype.listitem=function(t){return"
  • "+t+"
  • \n"},p.prototype.paragraph=function(t){return"

    "+t+"

    \n"},p.prototype.table=function(t,e){return"\n\n"+t+"\n\n"+e+"\n
    \n"},p.prototype.tablerow=function(t){return"\n"+t+"\n"},p.prototype.tablecell=function(t,e){var r=e.header?"th":"td";return(e.align?"<"+r+' style="text-align:'+e.align+'">':"<"+r+">")+t+"\n"},p.prototype.strong=function(t){return""+t+""},p.prototype.em=function(t){return""+t+""},p.prototype.codespan=function(t){return""+t+""},p.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},p.prototype.del=function(t){return""+t+""},p.prototype.link=function(t,e,r){if(this.options.sanitize){try{var n=decodeURIComponent(d(t)).replace(/[^\w:]/g,"").toLowerCase()}catch(t){return r}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return r}this.options.baseUrl&&!x.test(t)&&(t=m(this.options.baseUrl,t));var i='
    "+r+""},p.prototype.image=function(t,e,r){this.options.baseUrl&&!x.test(t)&&(t=m(this.options.baseUrl,t));var n=''+r+'":">")},p.prototype.text=function(t){return t},u.prototype.strong=u.prototype.em=u.prototype.codespan=u.prototype.del=u.prototype.text=function(t){return t},u.prototype.link=u.prototype.image=function(t,e,r){return""+r},u.prototype.br=function(){return""},g.parse=function(t,e){return new g(e).parse(t)},g.prototype.parse=function(t){this.inline=new c(t.links,this.options),this.inlineText=new c(t.links,y({},this.options,{renderer:new u})),this.tokens=t.reverse();for(var e="";this.next();)e+=this.tok();return e},g.prototype.next=function(){return this.token=this.tokens.pop()},g.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},g.prototype.parseText=function(){for(var t=this.token.text;"text"===this.peek().type;)t+="\n"+this.next().text;return this.inline.output(t)},g.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,d(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,e,r,n,i="",o="";for(r="",t=0;tAn error occurred:

    "+h(t.message+"",!0)+"
    ";throw t}}k.exec=k,w.options=w.setOptions=function(t){return y(w.defaults,t),w},w.defaults={gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!1,sanitizer:null,mangle:!0,smartLists:!1,silent:!1,highlight:null,langPrefix:"lang-",smartypants:!1,headerPrefix:"",renderer:new p,xhtml:!1,baseUrl:null},w.Parser=g,w.parser=g.parse,w.Renderer=p,w.TextRenderer=u,w.Lexer=a,w.lexer=a.lex,w.InlineLexer=c,w.inlineLexer=c.output,w.parse=w,void 0!==t&&"object"===o(e)?t.exports=w:void 0===(i=function(){return w}.call(e,r,e,t))||(t.exports=i)}(this||"undefined"!=typeof window&&window)}).call(this,r(19))}]]);(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{21:function(n,r,t){"use strict";t.r(r),t.d(r,"marked",function(){return a}),t.d(r,"filterXSS",function(){return c});var e=t(20),i=t.n(e),o=t(18),u=t.n(o),a=i.a,c=u.a}}]); diff --git a/hassio/api/panel/hassio-app.html.gz b/hassio/api/panel/hassio-app.html.gz index ef6857a97f5ab946fad6a8607ccc6782cfcf9c84..1418dcd3e8fee03c965e204a9d8cfbe4692df23b 100644 GIT binary patch delta 78555 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 Ch^o;5 delta 78547 zcmV(-K-|CPx(JTC2nQdF2nfm~B(VpHv46#>540yAz`kFKV5)TRs~C34l6&2uII8W0 z!cGLJfbtIWWB^t2tQ30OFA-)S&rs>`1Dy!`-x@!+6@6;#1ZHf7!g-b@uCuK8^PFYH z`m?O~e3t!gXITOK7&@9o0uCSIKyz;q*Ab^2_2Lue$Wz-HeWn6a&6_j!PNfO|ihnuW zR~vdoxQ9DHM=?AbGyr?-M1rXVU-&NVcpRR$|4kaWytKYM)Re#CB%oGFR8of8sO)qe z0%rR|F6NV7M8t7`W1&H)o6ysY-vnO#DG$$YKkV?-5yt7}I-9fiK$z_3UN~7O*bu&u z+pYuFIdSOnP?4@GK=CGRtOpeFwtp2bvB~X#2mx(?W5gB*veqd8kH%4EhK{!Jq{Z

    ~)6bKWaxiKaWafCpG@Yke{2OYJ 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ℜ~KQgBEl{(oOUKKZN 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 delta 16 XcmbQlGKqy Date: Wed, 20 Jun 2018 21:07:33 +0200 Subject: [PATCH 09/11] Add lost panel files (#515) * Update Panel for 0.72 * Add new panel files --- hassio/api/panel/chunk.05994812bec7a524b566.js | 1 + .../api/panel/chunk.05994812bec7a524b566.js.gz | Bin 0 -> 18819 bytes hassio/api/panel/chunk.ff92199b0d422767d108.js | 1 + .../api/panel/chunk.ff92199b0d422767d108.js.gz | Bin 0 -> 2703 bytes 4 files changed, 2 insertions(+) create mode 100644 hassio/api/panel/chunk.05994812bec7a524b566.js create mode 100644 hassio/api/panel/chunk.05994812bec7a524b566.js.gz create mode 100644 hassio/api/panel/chunk.ff92199b0d422767d108.js create mode 100644 hassio/api/panel/chunk.ff92199b0d422767d108.js.gz diff --git a/hassio/api/panel/chunk.05994812bec7a524b566.js b/hassio/api/panel/chunk.05994812bec7a524b566.js new file mode 100644 index 000000000..6f6dc8e70 --- /dev/null +++ b/hassio/api/panel/chunk.05994812bec7a524b566.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{2:function(e,n,t){"use strict";t.r(n),t(75);var o,a,r=t(4),i=t(6),s=(t(27),t(74),t(56),t(20),t(11)),l=function(){function e(e,n){for(var t=0;t\n .invisible {\n visibility: hidden;\n }\n \n \n'],a=['\n \n \n'],Object.freeze(Object.defineProperties(o,{raw:{value:Object.freeze(a)}}))),u=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),c(n,[{key:"computeMenuButtonClass",value:function(e,n){return!e&&n?"invisible":""}},{key:"toggleMenu",value:function(e){e.stopPropagation(),this.fire("hass-open-menu")}},{key:"_getIcon",value:function(e){return(e?"hassio":"hass")+":menu"}}],[{key:"template",get:function(){return Object(r.a)(d)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},hassio:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-menu-button",u);var h=function(){function e(e,n){for(var t=0;t\n .placeholder {\n height: 100%;\n }\n\n .layout {\n height: calc(100% - 64px);\n }\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n\n
    \n \n \n
    [[title]]
    \n
    \n
    \n \n
    \n
    \n'])}})),b=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),h(n,null,[{key:"template",get:function(){return Object(r.a)(f)}},{key:"properties",get:function(){return{narrow:{type:Boolean,value:!1},showMenu:{type:Boolean,value:!1},title:{type:String,value:""}}}}]),n}();customElements.define("hass-loading-screen",b),t(72),t(57),t(101),t(3);var m=document.createElement("template");m.setAttribute("style","display: none;"),m.innerHTML='\n \n\n \n\n \n\n \n',document.head.appendChild(m.content),t(70),t(55);var y=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n }\n paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n'])}})),O=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),w(n,[{key:"openDialog",value:function(){this.$.dialog.open()}}],[{key:"template",get:function(){return Object(r.a)(k)}},{key:"properties",get:function(){return{title:String,content:String}}}]),n}();customElements.define("hassio-markdown-dialog",O),t(93),t(13),t(12),t(86),t(84),t(92);var _=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n'])}})),x=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),_(n,[{key:"addonChanged",value:function(e){var n=this;if(this.setProperties({selectedInput:e.audio_input||"null",selectedOutput:e.audio_output||"null"}),!this.outputDevices){var t=[{device:"null",name:"-"}];this.hass.callApi("get","hassio/hardware/audio").then(function(e){var o=e.data.audio,a=Object.keys(o.input).map(function(e){return{device:e,name:o.input[e]}}),r=Object.keys(o.output).map(function(e){return{device:e,name:o.output[e]}});n.setProperties({inputDevices:t.concat(a),outputDevices:t.concat(r)})},function(){n.setProperties({inputDevices:t,outputDevices:t})})}}},{key:"_saveSettings",value:function(){var e=this;this.error=null;var n="hassio/addons/"+this.addon.slug+"/options";this.hass.callApi("post",n,{audio_input:"null"===this.selectedInput?null:this.selectedInput,audio_output:"null"===this.selectedOutput?null:this.selectedOutput}).then(function(){e.fire("hass-api-called",{success:!0,path:n})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(j)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},inputDevices:Array,outputDevices:Array,selectedInput:String,selectedOutput:String,error:String}}}]),n}();customElements.define("hassio-addon-audio",x),t(91);var S=function(){function e(e,n){for(var t=0;t\n .container {\n position: relative;\n display: inline-block;\n }\n\n paper-button {\n transition: all 1s;\n }\n\n .success paper-button {\n color: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error paper-button {\n color: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n paper-button[disabled] {\n color: #c8c8c8;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
    \n \n \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n \n \n
    \n'])}})),C=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),S(n,[{key:"tempClass",value:function(e){var n=this.$.container.classList;n.add(e),setTimeout(function(){n.remove(e)},1e3)}},{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("click",function(n){return e.buttonTapped(n)})}},{key:"buttonTapped",value:function(e){this.progress&&e.stopPropagation()}},{key:"actionSuccess",value:function(){this.tempClass("success")}},{key:"actionError",value:function(){this.tempClass("error")}},{key:"computeDisabled",value:function(e,n){return e||n}}],[{key:"template",get:function(){return Object(r.a)(P)}},{key:"properties",get:function(){return{hass:{type:Object},progress:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-progress-button",C);var E=function(){function e(e,n){for(var t=0;t\n'],{raw:{value:Object.freeze(['\n \n'])}})),A=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),E(n,[{key:"buttonTapped",value:function(){var e=this;this.progress=!0;var n={method:this.method,path:this.path,data:this.data};this.hass.callApi(this.method,this.path,this.data).then(function(t){e.progress=!1,e.$.progress.actionSuccess(),n.success=!0,n.response=t},function(t){e.progress=!1,e.$.progress.actionError(),n.success=!1,n.response=t}).then(function(){e.fire("hass-api-called",n)})}}],[{key:"template",get:function(){return Object(r.a)(T)}},{key:"properties",get:function(){return{hass:Object,progress:{type:Boolean,value:!1},path:String,method:{type:String,value:"POST"},data:{type:Object,value:{}},disabled:{type:Boolean,value:!1}}}}]),n}();customElements.define("ha-call-api-button",A);var R=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),I=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),R(n,[{key:"addonChanged",value:function(e){this.config=e?JSON.stringify(e.options,null,2):""}},{key:"configChanged",value:function(e){try{this.$.config.classList.remove("syntaxerror"),this.configParsed=JSON.parse(e)}catch(e){this.$.config.classList.add("syntaxerror"),this.configParsed=null}}},{key:"saveTapped",value:function(){var e=this;this.error=null,this.hass.callApi("post","hassio/addons/"+this.addonSlug+"/options",{options:this.configParsed}).catch(function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(D)}},{key:"properties",get:function(){return{hass:Object,addon:{type:Object,observer:"addonChanged"},addonSlug:String,config:{type:String,observer:"configChanged"},configParsed:Object,error:String,resetData:{type:Object,value:{options:null}}}}}]),n}();customElements.define("hassio-addon-config",I),t(19),t(90);var z=t(7),q=[60,"second",60,"minute",24,"hour",7,"day"],L=t(76),H=(t(82),t(85)),M={__localizationCache:{requests:{},messages:{},ajax:null},properties:{language:{type:String},resources:{type:Object},formats:{type:Object,value:function(){return{}}},useKeyIfMissing:{type:Boolean,value:!1},localize:{type:Function,computed:"__computeLocalize(language, resources, formats)"},bubbleEvent:{type:Boolean,value:!1}},loadResources:function(e,n,t){var o=this.constructor.prototype;this.__checkLocalizationCache(o);var a,r=o.__localizationCache.ajax;function i(e){this.__onRequestResponse(e,n,t)}r||(r=o.__localizationCache.ajax=document.createElement("iron-ajax")),(a=o.__localizationCache.requests[e])?a.completes.then(i.bind(this),this.__onRequestError.bind(this)):(r.url=e,(a=r.generateRequest()).completes.then(i.bind(this),this.__onRequestError.bind(this)),o.__localizationCache.requests[e]=a)},__computeLocalize:function(e,n,t){var o=this.constructor.prototype;return this.__checkLocalizationCache(o),o.__localizationCache||(o.__localizationCache={requests:{},messages:{},ajax:null}),o.__localizationCache.messages={},function(){var a=arguments[0];if(a&&n&&e&&n[e]){var r=n[e][a];if(!r)return this.useKeyIfMissing?a:"";var i=a+r,s=o.__localizationCache.messages[i];s||(s=new H.a(r,e,t),o.__localizationCache.messages[i]=s);for(var l={},p=1;p=0?"past":"future";n=Math.abs(n);for(var o=0;o\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[title]]
    \n
    \n \n \n
    \n
    \n'])}})),J=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),W(n,null,[{key:"template",get:function(){return Object(r.a)(Y)}},{key:"properties",get:function(){return{hass:Object,title:String,description:String,datetime:String,icon:{type:String,value:"hass:help-circle"},iconTitle:String,iconClass:String}}}]),n}();customElements.define("hassio-card-content",J);var G=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div{\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n ha-markdown img {\n max-width: 100%;\n }\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n
    \n
    [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit [[addon.name]] page for details.\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n'])}})),X=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),G(n,[{key:"computeIsRunning",value:function(e){return e&&"started"===e.state}},{key:"computeUpdateAvailable",value:function(e){return e&&!e.detached&&e.version&&e.version!==e.last_version}},{key:"pathWebui",value:function(e){return e&&e.replace("[HOST]",document.location.hostname)}},{key:"computeShowWebUI",value:function(e,n){return e&&n}},{key:"computeStartOnBoot",value:function(e){return"auto"===e}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/"+this.addonSlug+"/options",e)}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/changelog").then(function(e){return e},function(){return"Error getting changelog"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Changelog",content:n})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var n="hassio/addons/"+this.addonSlug+"/uninstall",t={path:n};this.hass.callApi("post",n).then(function(e){t.success=!0,t.response=e},function(e){t.success=!1,t.response=e}).then(function(){e.fire("hass-api-called",t)})}}}],[{key:"template",get:function(){return Object(r.a)(V)}},{key:"properties",get:function(){return{hass:Object,addon:Object,addonSlug:String,isRunning:{type:Boolean,computed:"computeIsRunning(addon)"}}}}]),n}();customElements.define("hassio-addon-info",X);var K=function(){function e(e,n){for(var t=0;t\n :host,\n paper-card {\n display: block;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),Z=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),K(n,[{key:"addonSlugChanged",value:function(e){var n=this;this.hass?this.refresh():setTimeout(function(){n.addonChanged(e)},0)}},{key:"refresh",value:function(){var e=this;this.hass.callApi("get","hassio/addons/"+this.addonSlug+"/logs").then(function(n){e.log=n})}}],[{key:"template",get:function(){return Object(r.a)(Q)}},{key:"properties",get:function(){return{hass:Object,addonSlug:{type:String,observer:"addonSlugChanged"},log:String}}}]),n}();customElements.define("hassio-addon-logs",Z),t(24);var ee=function(){function e(e,n){for(var t=0;t\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n \n\n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n'])}})),te=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),ee(n,[{key:"addonChanged",value:function(e){if(e){var n=e.network||{},t=Object.keys(n).map(function(e){return{container:e,host:n[e]}});this.config=t.sort(function(e,n){return e.host-n.host})}}},{key:"saveTapped",value:function(){var e=this;this.error=null;var n={};this.config.forEach(function(e){n[e.container]=parseInt(e.host)});var t="hassio/addons/"+this.addonSlug+"/options";this.hass.callApi("post",t,{network:n}).then(function(){e.fire("hass-api-called",{success:!0,path:t})},function(n){e.error=n.body.message})}}],[{key:"template",get:function(){return Object(r.a)(ne)}},{key:"properties",get:function(){return{hass:Object,addonSlug:String,config:Object,addon:{type:Object,observer:"addonChanged"},error:String,resetData:{type:Object,value:{network:null}}}}}]),n}();customElements.define("hassio-addon-network",te);var oe=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n width: 600px;\n }\n hassio-addon-logs {\n min-width: 600px;\n }\n @media only screen and (max-width: 600px) {\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config,\n hassio-addon-logs {\n max-width: 100%;\n }\n }\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n'])}})),re=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),oe(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"apiCalled",value:function(e){var n=e.detail.path;n&&("uninstall"===n.substr(n.lastIndexOf("/")+1)?this.backTapped():this.routeDataChanged(this.routeData))}},{key:"routeDataChanged",value:function(e){var n=this;this.routeMatches&&e&&e.slug&&this.hass.callApi("get","hassio/addons/"+e.slug+"/info").then(function(e){n.addon=e.data},function(){n.addon=null})}},{key:"backTapped",value:function(){history.back()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(ae)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,route:Object,routeData:{type:Object,observer:"routeDataChanged"},routeMatches:Boolean,addon:Object,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-addon-view",re);var ie=function(){function e(e,n){for(var t=0;t1&&void 0!==arguments[1]&&arguments[1]?history.replaceState(null,null,e):history.pushState(null,null,e),this.fire("location-changed")}}]),t}()}),ce=function(){function e(e,n){for(var t=0;t\n paper-card {\n cursor: pointer;\n }\n a.repo {\n display: block;\n color: var(--primary-text-color);\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),ue=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),ce(n,[{key:"sortAddons",value:function(e,n){return e.name\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n'])}})),be=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),he(n,[{key:"reposChanged",value:function(e){this.repoList=e.filter(function(e){return"core"!==e.slug&&"local"!==e.slug}),this.repoUrl=""}},{key:"sortRepos",value:function(e,n){return e.name\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n'])}})),ve=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),me(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)}),this.loadData()}},{key:"apiCalled",value:function(e){e.detail.success&&this.loadData()}},{key:"sortRepos",value:function(e,n){return"local"===e.slug?-1:"local"===n.slug?1:"core"===e.slug?-1:"core"===n.slug?1:e.name\n paper-card {\n cursor: pointer;\n }\n \n
    \n
    Add-ons
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Add-ons
    \n \n \n
    \n'])}})),ke=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),ge(n,[{key:"sortAddons",value:function(e,n){return e.name\n paper-card {\n display: block;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n'],{raw:{value:Object.freeze(['\n \n \n'])}})),xe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),_e(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Oe(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}}],[{key:"template",get:function(){return Object(r.a)(je)}},{key:"properties",get:function(){return{hass:Object,hassInfo:Object,error:String}}}]),n}();customElements.define("hassio-hass-update",xe);var Se=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 0 auto;\n }\n \n
    \n \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n \n \n
    \n'])}})),Ce=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),Se(n,null,[{key:"template",get:function(){return Object(r.a)(Pe)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hassInfo:Object}}}]),n}();customElements.define("hassio-dashboard",Ce),t(61);var Ee=function(){function e(e,n){for(var t=0;t\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n
    \n \n \n \n \n Restore selected\n \n
    \n
    \n'])}})),Ae=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),Ee(n,[{key:"_snapshotSlugChanged",value:function(e){var n=this;e&&"update"!==e&&this.hass.callApi("get","hassio/snapshots/"+e+"/info").then(function(e){e.data.folders=n._computeFolders(e.data.folders),e.data.addons=n._computeAddons(e.data.addons),n.snapshot=e.data,n.$.dialog.open()},function(){n.snapshot=null})}},{key:"_computeFolders",value:function(e){var n=[];return e.includes("homeassistant")&&n.push({slug:"homeassistant",name:"Home Assistant configuration",checked:!0}),e.includes("ssl")&&n.push({slug:"ssl",name:"SSL",checked:!0}),e.includes("share")&&n.push({slug:"share",name:"Share",checked:!0}),e.includes("addons/local")&&n.push({slug:"addons/local",name:"Local add-ons",checked:!0}),n}},{key:"_computeAddons",value:function(e){return e.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})}},{key:"_isFullSnapshot",value:function(e){return"full"===e}},{key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),t=this.snapshot.folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),o={homeassistant:this.restoreHass,addons:n,folders:t};this.snapshot.protected&&(o.password=this.snapshotPassword),this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/partial",o).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_fullRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var n=this.snapshot.protected?{password:this.snapshotPassword}:null;this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/restore/full",n).then(function(){alert("Snapshot restored!"),e.$.dialog.close()},function(n){e.error=n.body.message})}}},{key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("post","hassio/snapshots/"+this.snapshotSlug+"/remove").then(function(){e.$.dialog.close(),e.snapshotDeleted=!0},function(n){e.error=n.body.message})}},{key:"_computeDownloadUrl",value:function(e){return"/api/hassio/snapshots/"+e+"/download?api_password="+encodeURIComponent(this.hass.connection.options.authToken)}},{key:"_computeDownloadName",value:function(e){return"Hass_io_"+this._computeName(e).replace(/[^a-z0-9]+/gi,"_")+".tar"}},{key:"_computeName",value:function(e){return e.name||e.slug}},{key:"_computeType",value:function(e){return"full"===e?"Full snapshot":"Partial snapshot"}},{key:"_computeSize",value:function(e){return Math.ceil(10*e)/10+" MB"}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and\n restore all data of your Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n
    \n
    \n'])}})),Ie=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),Re(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e._apiCalled(n)}),this._updateSnapshots()}},{key:"_apiCalled",value:function(e){e.detail.success&&this._updateSnapshots()}},{key:"_updateSnapshots",value:function(){var e=this;this.hass.callApi("get","hassio/snapshots").then(function(n){e.snapshots=n.data.snapshots},function(n){e.error=n.message})}},{key:"_createSnapshot",value:function(){var e=this;if(this.error="",!this.snapshotHasPassword||this.snapshotPassword.length){this.creatingSnapshot=!0;var n=this.snapshotName;n.length||(n=(new Date).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric"}));var t=void 0,o=void 0;if("full"===this.snapshotType)t={name:n},o="hassio/snapshots/new/full";else{var a=this.addonList.filter(function(e){return e.checked}).map(function(e){return e.slug});t={name:n,folders:this.folderList.filter(function(e){return e.checked}).map(function(e){return e.slug}),addons:a},o="hassio/snapshots/new/partial"}this.snapshotHasPassword&&(t.password=this.snapshotPassword),this.hass.callApi("post",o,t).then(function(){e.creatingSnapshot=!1,e.fire("hass-api-called",{success:!0})},function(n){e.creatingSnapshot=!1,e.error=n.message})}else this.error="Please enter a password."}},{key:"_installedAddonsChanged",value:function(e){this.addonList=e.map(function(e){return{slug:e.slug,name:e.name,checked:!0}})}},{key:"_sortAddons",value:function(e,n){return e.name\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n paper-button.info {\n max-width: 50%;\n }\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n Show hardware\n \n
    \n
    \n \n \n \n
    \n
    \n'])}})),He=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),qe(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===ze(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"computeRebootAvailable",value:function(e){return e.features&&e.features.includes("reboot")}},{key:"computeShutdownAvailable",value:function(e){return e.features&&e.features.includes("shutdown")}},{key:"_showHardware",value:function(){var e=this;this.hass.callApi("get","hassio/hardware/info").then(function(n){return e._objectToMarkdown(n.data)},function(){return"Error getting hardware info"}).then(function(n){e.fire("hassio-markdown-dialog",{title:"Hardware",content:n})})}},{key:"_objectToMarkdown",value:function(e){var n=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o="";return Object.keys(e).forEach(function(a){"object"!==ze(e[a])?o+=t+"- "+a+": "+e[a]+"\n":(o+=t+"- "+a+":\n",Array.isArray(e[a])?e[a].length&&(o+=t+" - "+e[a].join("\n"+t+" - ")+"\n"):o+=n._objectToMarkdown(e[a]," "+t))}),o}}],[{key:"template",get:function(){return Object(r.a)(Le)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String}}}]),n}();customElements.define("hassio-host-info",He);var Me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ue=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: 100%;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n
    Version\n [[data.version]]\n
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n'])}})),Fe=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,p(i.a)),Ue(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"apiCalled",value:function(e){if(e.detail.success)this.errors=null;else{var n=e.detail.response;"object"===Me(n.body)?this.errors=n.body.message||"Unknown error":this.errors=n.body}}},{key:"computeUpdateAvailable",value:function(e){return e.version!==e.last_version}},{key:"_equals",value:function(e,n){return e===n}},{key:"_joinBeta",value:function(){var e=this;if(confirm("WARNING:\nBeta releases are for testers and early adopters and can contain unstable code changes. Make sure you have backups of your data before you activate this feature.\n\nThis inludes beta releases for:\n- Home Assistant (Release Candidates)\n- Hass.io supervisor\n- Host system")){var n="hassio/supervisor/options",t={channel:"beta"},o={method:"post",path:n,data:t};this.hass.callApi("post",n,t).then(function(e){o.success=!0,o.response=e},function(e){o.success=!1,o.response=e}).then(function(){e.fire("hass-api-called",o)})}}}],[{key:"template",get:function(){return Object(r.a)(Be)}},{key:"properties",get:function(){return{hass:Object,data:Object,errors:String,leaveBeta:{type:Object,value:{channel:"stable"}}}}}]),n}();customElements.define("hassio-supervisor-info",Fe);var Ne=function(){function e(e,n){for(var t=0;t\n paper-card {\n display: block;\n }\n pre {\n overflow-x: auto;\n }\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'],{raw:{value:Object.freeze(['\n \n \n
    \n
    [[log]]
    \n
    \n
    \n Refresh\n
    \n
    \n'])}})),We=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),Ne(n,[{key:"ready",value:function(){(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.loadData()}},{key:"loadData",value:function(){var e=this;this.hass.callApi("get","hassio/supervisor/logs").then(function(n){e.log=n},function(){e.log="Error fetching logs"})}},{key:"refreshTapped",value:function(){this.loadData()}}],[{key:"template",get:function(){return Object(r.a)($e)}},{key:"properties",get:function(){return{hass:Object,log:String}}}]),n}();customElements.define("hassio-supervisor-log",We);var Ye=function(){function e(e,n){for(var t=0;t\n .content {\n margin: 4px;\n }\n .title {\n margin-top: 24px;\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'],{raw:{value:Object.freeze(['\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n'])}})),Ge=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,i.a),Ye(n,null,[{key:"template",get:function(){return Object(r.a)(Je)}},{key:"properties",get:function(){return{hass:Object,supervisorInfo:Object,hostInfo:Object}}}]),n}();customElements.define("hassio-system",Ge);var Ve=function(){function e(e,n){for(var t=0;t\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #FFF;\n text-transform: uppercase;\n }\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n'])}})),Ke=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),Ve(n,[{key:"ready",value:function(){var e=this;(function e(n,t,o){null===n&&(n=Function.prototype);var a=Object.getOwnPropertyDescriptor(n,t);if(void 0===a){var r=Object.getPrototypeOf(n);return null===r?void 0:e(r,t,o)}if("value"in a)return a.value;var i=a.get;return void 0!==i?i.call(o):void 0})(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),this.addEventListener("hassio-markdown-dialog",function(n){return e.openMarkdown(n)})}},{key:"handlePageSelected",value:function(e){var n=e.detail.item.getAttribute("page-name");n!==this.page&&this.navigate("/hassio/"+n)}},{key:"equals",value:function(e,n){return e===n}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}],[{key:"template",get:function(){return Object(r.a)(Xe)}},{key:"properties",get:function(){return{hass:Object,showMenu:Boolean,narrow:Boolean,page:String,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,snapshotSlug:String,snapshotDeleted:Boolean,markdownTitle:String,markdownContent:{type:String,value:""}}}}]),n}();customElements.define("hassio-pages-with-tabs",Ke);var Qe=function(){function e(e,n){for(var t=0;t\n \n\n \n\n \n'],{raw:{value:Object.freeze(['\n \n \n\n \n\n \n'])}})),nn=function(e){function n(){return function(e,t){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),function(e,n){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!n||"object"!=typeof n&&"function"!=typeof n?e:n}(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function, not "+typeof n);e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(e,n):e.__proto__=n)}(n,pe(i.a)),Qe(n,[{key:"ready",value:function(){var e=this;Ze(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"ready",this).call(this),function(e,n,t){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var a=n.default_theme;("default"===t||t&&n.themes[t])&&(a=t);var r=Object.assign({},e._themes);if("default"!==a){var i=n.themes[a];Object.keys(i).forEach(function(n){var t="--"+n;e._themes[t]="",r[t]=i[n]})}if(e.updateStyles?e.updateStyles(r):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,r),o){var s=document.querySelector("meta[name=theme-color]");if(s){s.hasAttribute("default-content")||s.setAttribute("default-content",s.getAttribute("content"));var l=r["--primary-color"]||s.getAttribute("default-content");s.setAttribute("content",l)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(n){return e.apiCalled(n)})}},{key:"connectedCallback",value:function(){Ze(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var n=this;if(e.detail.success){var t=1;!function e(){n.$.data.refresh().catch(function(){t+=1,setTimeout(e,1e3*Math.min(t,5))})}()}}},{key:"computeIsLoaded",value:function(e,n,t){return null!==e&&null!==n&&null!==t}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0)}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}],[{key:"template",get:function(){return Object(r.a)(en)}},{key:"properties",get:function(){return{hass:Object,narrow:Boolean,showMenu:Boolean,route:{type:Object,value:{prefix:"/hassio",path:"/dashboard",__queryParams:{}},observer:"routeChanged"},routeData:Object,supervisorInfo:Object,hostInfo:Object,hassInfo:Object,loaded:{type:Boolean,computed:"computeIsLoaded(supervisorInfo, hostInfo, hassInfo)"}}}}]),n}();customElements.define("hassio-main",nn)},25:function(e,n){var t=document.createElement("template");t.setAttribute("style","display: none;"),t.innerHTML='\n \n',document.head.appendChild(t.content)}}]); \ No newline at end of file diff --git a/hassio/api/panel/chunk.05994812bec7a524b566.js.gz b/hassio/api/panel/chunk.05994812bec7a524b566.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..cadb60d634e5136d621600173aa5dff5eb6ac7b0 GIT binary patch literal 18819 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 literal 0 HcmV?d00001 diff --git a/hassio/api/panel/chunk.ff92199b0d422767d108.js b/hassio/api/panel/chunk.ff92199b0d422767d108.js new file mode 100644 index 000000000..3ea11f5e0 --- /dev/null +++ b/hassio/api/panel/chunk.ff92199b0d422767d108.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],[,function(e,t,n){"use strict";n.r(t),n(52);var C=function(){function e(e,t){for(var n=0;n=)V$NSCJ2}S%0fnhO~8i?1_N4Z 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 JV8`kg004lvSIYnZ literal 0 HcmV?d00001 From 9aa5eda2c8900a669684c98e5a72b6da72ea8e3e Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 20 Jun 2018 23:25:08 +0200 Subject: [PATCH 10/11] Some bugfix (#516) * Some bugfix * Update apparmor.py * Update apparmor.py * Update apparmor.py * Update apparmor.py --- hassio/addons/addon.py | 2 +- hassio/host/apparmor.py | 2 +- hassio/utils/apparmor.py | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hassio/addons/addon.py b/hassio/addons/addon.py index 8edf45d8c..40a838dd5 100644 --- a/hassio/addons/addon.py +++ b/hassio/addons/addon.py @@ -554,7 +554,7 @@ class Addon(CoreSysAttributes): with TemporaryDirectory(dir=self.sys_config.path_tmp) as tmp_folder: profile_file = Path(tmp_folder, 'apparmor.txt') - adjust_profile(self.slug, self.path_apparmor, self.profile_file) + adjust_profile(self.slug, self.path_apparmor, profile_file) await self.sys_host.apparmor.load_profile(self.slug, profile_file) @property diff --git a/hassio/host/apparmor.py b/hassio/host/apparmor.py index 2b39368c2..2d8193b5f 100644 --- a/hassio/host/apparmor.py +++ b/hassio/host/apparmor.py @@ -66,7 +66,7 @@ class AppArmorControl(CoreSysAttributes): async def load_profile(self, profile_name, profile_file): """Load/Update a new/exists profile into AppArmor.""" - if not validate_profile(profile_file, profile_name): + if not validate_profile(profile_name, profile_file): _LOGGER.error("profile is not valid with name %s", profile_name) raise HostAppArmorError() diff --git a/hassio/utils/apparmor.py b/hassio/utils/apparmor.py index aa80a4d59..a9137cb06 100644 --- a/hassio/utils/apparmor.py +++ b/hassio/utils/apparmor.py @@ -14,8 +14,8 @@ def get_profile_name(profile_file): profiles = set() try: - with profile_file.open('r') as profile: - for line in profile: + with profile_file.open('r') as profile_data: + for line in profile_data: match = RE_PROFILE.match(line) if not match: continue @@ -31,14 +31,14 @@ def get_profile_name(profile_file): return profiles.pop() -def validate_profile(profile_file, profile_name): +def validate_profile(profile_name, profile_file): """Check if profile from file is valid with profile name.""" if profile_name == get_profile_name(profile_file): return True return False -def adjust_profile(profile_file, profile_name, profile_new): +def adjust_profile(profile_name, profile_file, profile_new): """Fix the profile name.""" org_profile = get_profile_name(profile_file) profile_data = [] From 46caa2331990929718ac2cc3b1559ddca59b802e Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 21 Jun 2018 11:27:19 +0200 Subject: [PATCH 11/11] Update version.json --- version.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.json b/version.json index ac2d4f9fb..3151814fa 100644 --- a/version.json +++ b/version.json @@ -1,4 +1,4 @@ { - "hassio": "105", + "hassio": "108", "homeassistant": "0.70.0" }