From fdef712e01ce445a02d63c074b20d632e61fe71a Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 27 Jan 2020 21:20:47 +0100 Subject: [PATCH] New Panel (#1455) * Update Hassio Panel * Fix issues --- .../api/panel/201359fd5a526afe13ef.worker.js | 2 + .../panel/201359fd5a526afe13ef.worker.js.gz | Bin 0 -> 13282 bytes .../panel/201359fd5a526afe13ef.worker.js.map | 1 + .../api/panel/chunk.04bcaa18b59728e10be9.js | 2 - .../panel/chunk.04bcaa18b59728e10be9.js.gz | Bin 392635 -> 0 bytes .../panel/chunk.04bcaa18b59728e10be9.js.map | 1 - .../api/panel/chunk.12902324b918e12549ba.js | 3 + ... => chunk.12902324b918e12549ba.js.LICENSE} | 135 ++++++++++-------- .../panel/chunk.12902324b918e12549ba.js.gz | Bin 0 -> 63491 bytes .../panel/chunk.12902324b918e12549ba.js.map | 1 + .../api/panel/chunk.50202a3f8d4670c9454d.js | 3 + ... => chunk.50202a3f8d4670c9454d.js.LICENSE} | 0 .../panel/chunk.50202a3f8d4670c9454d.js.gz | Bin 0 -> 33550 bytes .../panel/chunk.50202a3f8d4670c9454d.js.map | 1 + .../api/panel/chunk.598ae99dfd641ab3a30c.js | 3 - .../panel/chunk.598ae99dfd641ab3a30c.js.gz | Bin 33566 -> 0 bytes .../panel/chunk.598ae99dfd641ab3a30c.js.map | 1 - .../api/panel/chunk.5dd33a3a20657ed46a19.js | 2 - .../panel/chunk.5dd33a3a20657ed46a19.js.gz | Bin 3780 -> 0 bytes .../panel/chunk.5dd33a3a20657ed46a19.js.map | 1 - .../api/panel/chunk.6685a7f98b13655ab808.js | 3 - .../panel/chunk.6685a7f98b13655ab808.js.gz | Bin 56764 -> 0 bytes .../panel/chunk.6685a7f98b13655ab808.js.map | 1 - .../api/panel/chunk.6f4702eafe52425373ed.js | 2 - .../panel/chunk.6f4702eafe52425373ed.js.gz | Bin 3984 -> 0 bytes .../panel/chunk.6f4702eafe52425373ed.js.map | 1 - .../api/panel/chunk.7c785f796f428abae18d.js | 2 - .../panel/chunk.7c785f796f428abae18d.js.gz | Bin 29950 -> 0 bytes .../panel/chunk.7c785f796f428abae18d.js.map | 1 - .../api/panel/chunk.7f411ffa9df152cb8f05.js | 3 - .../chunk.7f411ffa9df152cb8f05.js.LICENSE | 21 --- .../panel/chunk.7f411ffa9df152cb8f05.js.gz | Bin 7413 -> 0 bytes .../panel/chunk.7f411ffa9df152cb8f05.js.map | 1 - .../api/panel/chunk.7f8cce5798f837214ef8.js | 2 - .../panel/chunk.7f8cce5798f837214ef8.js.gz | Bin 227 -> 0 bytes .../panel/chunk.7f8cce5798f837214ef8.js.map | 1 - .../api/panel/chunk.84aaaba4c4734f1c2e21.js | 3 + ... => chunk.84aaaba4c4734f1c2e21.js.LICENSE} | 27 ++-- .../panel/chunk.84aaaba4c4734f1c2e21.js.gz | Bin 0 -> 22965 bytes .../panel/chunk.84aaaba4c4734f1c2e21.js.map | 1 + .../api/panel/chunk.87d3a6d0178fb26762cf.js | 2 - .../panel/chunk.87d3a6d0178fb26762cf.js.gz | Bin 10354 -> 0 bytes .../panel/chunk.87d3a6d0178fb26762cf.js.map | 1 - .../api/panel/chunk.884d6e32c83f99e41040.js | 2 + .../panel/chunk.884d6e32c83f99e41040.js.gz | Bin 0 -> 483935 bytes .../panel/chunk.884d6e32c83f99e41040.js.map | 1 + .../api/panel/chunk.900c5d3fab8b6ebdcbc6.js | 2 + .../panel/chunk.900c5d3fab8b6ebdcbc6.js.gz | Bin 0 -> 3659 bytes .../panel/chunk.900c5d3fab8b6ebdcbc6.js.map | 1 + .../api/panel/chunk.9cea224f33b375867edd.js | 3 + ... => chunk.9cea224f33b375867edd.js.LICENSE} | 0 .../panel/chunk.9cea224f33b375867edd.js.gz | Bin 0 -> 6455 bytes .../panel/chunk.9cea224f33b375867edd.js.map | 1 + .../api/panel/chunk.9d7374dae6137783dda4.js | 3 - .../panel/chunk.9d7374dae6137783dda4.js.gz | Bin 22233 -> 0 bytes .../panel/chunk.9d7374dae6137783dda4.js.map | 1 - .../api/panel/chunk.a1b6b616fc89c412f5b6.js | 2 + .../panel/chunk.a1b6b616fc89c412f5b6.js.gz | Bin 0 -> 3928 bytes .../panel/chunk.a1b6b616fc89c412f5b6.js.map | 1 + .../api/panel/chunk.a4f9950b101883805252.js | 2 + .../panel/chunk.a4f9950b101883805252.js.gz | Bin 0 -> 29656 bytes .../panel/chunk.a4f9950b101883805252.js.map | 1 + .../api/panel/chunk.af7784dbf07df8e24819.js | 3 - .../panel/chunk.af7784dbf07df8e24819.js.gz | Bin 6024 -> 0 bytes .../panel/chunk.af7784dbf07df8e24819.js.map | 1 - .../api/panel/chunk.b15efbd4fb2c8cac0ad4.js | 3 - .../panel/chunk.b15efbd4fb2c8cac0ad4.js.gz | Bin 7005 -> 0 bytes .../panel/chunk.b15efbd4fb2c8cac0ad4.js.map | 1 - .../api/panel/chunk.b21a4609308c9b8ef180.js | 2 + .../panel/chunk.b21a4609308c9b8ef180.js.gz | Bin 0 -> 15905 bytes .../panel/chunk.b21a4609308c9b8ef180.js.map | 1 + .../api/panel/chunk.c0a46a38d689ab648885.js | 3 + ... => chunk.c0a46a38d689ab648885.js.LICENSE} | 0 .../panel/chunk.c0a46a38d689ab648885.js.gz | Bin 0 -> 7239 bytes .../panel/chunk.c0a46a38d689ab648885.js.map | 1 + .../api/panel/chunk.f1156b978f6f3143a651.js | 2 - .../panel/chunk.f1156b978f6f3143a651.js.gz | Bin 12659 -> 0 bytes .../panel/chunk.f1156b978f6f3143a651.js.map | 1 - hassio/api/panel/entrypoint.582baa2f.js | 2 + hassio/api/panel/entrypoint.582baa2f.js.gz | Bin 0 -> 1438 bytes hassio/api/panel/entrypoint.582baa2f.js.map | 1 + hassio/api/panel/entrypoint.js | 2 +- hassio/api/panel/entrypoint.js.gz | Bin 1462 -> 1431 bytes hassio/api/panel/entrypoint.js.map | 2 +- hassio/api/panel/manifest.json | 31 ++++ home-assistant-polymer | 2 +- 86 files changed, 171 insertions(+), 135 deletions(-) create mode 100644 hassio/api/panel/201359fd5a526afe13ef.worker.js create mode 100644 hassio/api/panel/201359fd5a526afe13ef.worker.js.gz create mode 100644 hassio/api/panel/201359fd5a526afe13ef.worker.js.map delete mode 100644 hassio/api/panel/chunk.04bcaa18b59728e10be9.js delete mode 100644 hassio/api/panel/chunk.04bcaa18b59728e10be9.js.gz delete mode 100644 hassio/api/panel/chunk.04bcaa18b59728e10be9.js.map create mode 100644 hassio/api/panel/chunk.12902324b918e12549ba.js rename hassio/api/panel/{chunk.6685a7f98b13655ab808.js.LICENSE => chunk.12902324b918e12549ba.js.LICENSE} (88%) create mode 100644 hassio/api/panel/chunk.12902324b918e12549ba.js.gz create mode 100644 hassio/api/panel/chunk.12902324b918e12549ba.js.map create mode 100644 hassio/api/panel/chunk.50202a3f8d4670c9454d.js rename hassio/api/panel/{chunk.598ae99dfd641ab3a30c.js.LICENSE => chunk.50202a3f8d4670c9454d.js.LICENSE} (100%) create mode 100644 hassio/api/panel/chunk.50202a3f8d4670c9454d.js.gz create mode 100644 hassio/api/panel/chunk.50202a3f8d4670c9454d.js.map delete mode 100644 hassio/api/panel/chunk.598ae99dfd641ab3a30c.js delete mode 100644 hassio/api/panel/chunk.598ae99dfd641ab3a30c.js.gz delete mode 100644 hassio/api/panel/chunk.598ae99dfd641ab3a30c.js.map delete mode 100644 hassio/api/panel/chunk.5dd33a3a20657ed46a19.js delete mode 100644 hassio/api/panel/chunk.5dd33a3a20657ed46a19.js.gz delete mode 100644 hassio/api/panel/chunk.5dd33a3a20657ed46a19.js.map delete mode 100644 hassio/api/panel/chunk.6685a7f98b13655ab808.js delete mode 100644 hassio/api/panel/chunk.6685a7f98b13655ab808.js.gz delete mode 100644 hassio/api/panel/chunk.6685a7f98b13655ab808.js.map delete mode 100644 hassio/api/panel/chunk.6f4702eafe52425373ed.js delete mode 100644 hassio/api/panel/chunk.6f4702eafe52425373ed.js.gz delete mode 100644 hassio/api/panel/chunk.6f4702eafe52425373ed.js.map delete mode 100644 hassio/api/panel/chunk.7c785f796f428abae18d.js delete mode 100644 hassio/api/panel/chunk.7c785f796f428abae18d.js.gz delete mode 100644 hassio/api/panel/chunk.7c785f796f428abae18d.js.map delete mode 100644 hassio/api/panel/chunk.7f411ffa9df152cb8f05.js delete mode 100644 hassio/api/panel/chunk.7f411ffa9df152cb8f05.js.LICENSE delete mode 100644 hassio/api/panel/chunk.7f411ffa9df152cb8f05.js.gz delete mode 100644 hassio/api/panel/chunk.7f411ffa9df152cb8f05.js.map delete mode 100644 hassio/api/panel/chunk.7f8cce5798f837214ef8.js delete mode 100644 hassio/api/panel/chunk.7f8cce5798f837214ef8.js.gz delete mode 100644 hassio/api/panel/chunk.7f8cce5798f837214ef8.js.map create mode 100644 hassio/api/panel/chunk.84aaaba4c4734f1c2e21.js rename hassio/api/panel/{chunk.9d7374dae6137783dda4.js.LICENSE => chunk.84aaaba4c4734f1c2e21.js.LICENSE} (64%) create mode 100644 hassio/api/panel/chunk.84aaaba4c4734f1c2e21.js.gz create mode 100644 hassio/api/panel/chunk.84aaaba4c4734f1c2e21.js.map delete mode 100644 hassio/api/panel/chunk.87d3a6d0178fb26762cf.js delete mode 100644 hassio/api/panel/chunk.87d3a6d0178fb26762cf.js.gz delete mode 100644 hassio/api/panel/chunk.87d3a6d0178fb26762cf.js.map create mode 100644 hassio/api/panel/chunk.884d6e32c83f99e41040.js create mode 100644 hassio/api/panel/chunk.884d6e32c83f99e41040.js.gz create mode 100644 hassio/api/panel/chunk.884d6e32c83f99e41040.js.map create mode 100644 hassio/api/panel/chunk.900c5d3fab8b6ebdcbc6.js create mode 100644 hassio/api/panel/chunk.900c5d3fab8b6ebdcbc6.js.gz create mode 100644 hassio/api/panel/chunk.900c5d3fab8b6ebdcbc6.js.map create mode 100644 hassio/api/panel/chunk.9cea224f33b375867edd.js rename hassio/api/panel/{chunk.af7784dbf07df8e24819.js.LICENSE => chunk.9cea224f33b375867edd.js.LICENSE} (100%) create mode 100644 hassio/api/panel/chunk.9cea224f33b375867edd.js.gz create mode 100644 hassio/api/panel/chunk.9cea224f33b375867edd.js.map delete mode 100644 hassio/api/panel/chunk.9d7374dae6137783dda4.js delete mode 100644 hassio/api/panel/chunk.9d7374dae6137783dda4.js.gz delete mode 100644 hassio/api/panel/chunk.9d7374dae6137783dda4.js.map create mode 100644 hassio/api/panel/chunk.a1b6b616fc89c412f5b6.js create mode 100644 hassio/api/panel/chunk.a1b6b616fc89c412f5b6.js.gz create mode 100644 hassio/api/panel/chunk.a1b6b616fc89c412f5b6.js.map create mode 100644 hassio/api/panel/chunk.a4f9950b101883805252.js create mode 100644 hassio/api/panel/chunk.a4f9950b101883805252.js.gz create mode 100644 hassio/api/panel/chunk.a4f9950b101883805252.js.map delete mode 100644 hassio/api/panel/chunk.af7784dbf07df8e24819.js delete mode 100644 hassio/api/panel/chunk.af7784dbf07df8e24819.js.gz delete mode 100644 hassio/api/panel/chunk.af7784dbf07df8e24819.js.map delete mode 100644 hassio/api/panel/chunk.b15efbd4fb2c8cac0ad4.js delete mode 100644 hassio/api/panel/chunk.b15efbd4fb2c8cac0ad4.js.gz delete mode 100644 hassio/api/panel/chunk.b15efbd4fb2c8cac0ad4.js.map create mode 100644 hassio/api/panel/chunk.b21a4609308c9b8ef180.js create mode 100644 hassio/api/panel/chunk.b21a4609308c9b8ef180.js.gz create mode 100644 hassio/api/panel/chunk.b21a4609308c9b8ef180.js.map create mode 100644 hassio/api/panel/chunk.c0a46a38d689ab648885.js rename hassio/api/panel/{chunk.b15efbd4fb2c8cac0ad4.js.LICENSE => chunk.c0a46a38d689ab648885.js.LICENSE} (100%) create mode 100644 hassio/api/panel/chunk.c0a46a38d689ab648885.js.gz create mode 100644 hassio/api/panel/chunk.c0a46a38d689ab648885.js.map delete mode 100644 hassio/api/panel/chunk.f1156b978f6f3143a651.js delete mode 100644 hassio/api/panel/chunk.f1156b978f6f3143a651.js.gz delete mode 100644 hassio/api/panel/chunk.f1156b978f6f3143a651.js.map create mode 100644 hassio/api/panel/entrypoint.582baa2f.js create mode 100644 hassio/api/panel/entrypoint.582baa2f.js.gz create mode 100644 hassio/api/panel/entrypoint.582baa2f.js.map create mode 100644 hassio/api/panel/manifest.json diff --git a/hassio/api/panel/201359fd5a526afe13ef.worker.js b/hassio/api/panel/201359fd5a526afe13ef.worker.js new file mode 100644 index 000000000..8aeffd96b --- /dev/null +++ b/hassio/api/panel/201359fd5a526afe13ef.worker.js @@ -0,0 +1,2 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/api/hassio/app/",n(n.s=8)}([function(e,t,n){var r=n(4),i=n(10);for(var o in(t=e.exports=function(e,t){return new i(t).process(e)}).FilterCSS=i,r)t[o]=r[o];"undefined"!=typeof window&&(window.filterCSS=e.exports)},function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n/g,p=/"/g,h=/"/g,g=/&#([a-zA-Z0-9]*);?/gim,f=/:?/gim,d=/&newline;?/gim,m=/((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,b=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,y=/u\s*r\s*l\s*\(.*/gi;function x(e){return e.replace(p,""")}function k(e){return e.replace(h,'"')}function v(e){return e.replace(g,function(e,t){return"x"===t[0]||"X"===t[0]?String.fromCharCode(parseInt(t.substr(1),16)):String.fromCharCode(parseInt(t,10))})}function w(e){return e.replace(f,":").replace(d," ")}function _(e){for(var t="",n=0,r=e.length;n/g;t.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"]},t.getDefaultWhiteList=s,t.onTag=function(e,t,n){},t.onIgnoreTag=function(e,t,n){},t.onTagAttr=function(e,t,n){},t.onIgnoreTagAttr=function(e,t,n){},t.safeAttrValue=function(e,t,n,r){if(n=S(n),"href"===t||"src"===t){if("#"===(n=o.trim(n)))return"#";if("http://"!==n.substr(0,7)&&"https://"!==n.substr(0,8)&&"mailto:"!==n.substr(0,7)&&"tel:"!==n.substr(0,4)&&"#"!==n[0]&&"/"!==n[0])return""}else if("background"===t){if(m.lastIndex=0,m.test(n))return""}else if("style"===t){if(b.lastIndex=0,b.test(n))return"";if(y.lastIndex=0,y.test(n)&&(m.lastIndex=0,m.test(n)))return"";!1!==r&&(n=(r=r||a).process(n))}return n=A(n)},t.escapeHtml=l,t.escapeQuote=x,t.unescapeQuote=k,t.escapeHtmlEntities=v,t.escapeDangerHtml5Entities=w,t.clearNonPrintableCharacter=_,t.friendlyAttrValue=S,t.escapeAttrValue=A,t.onIgnoreTagStripAll=function(){return""},t.StripTagBody=function(e,t){"function"!=typeof t&&(t=function(){});var n=!Array.isArray(e),r=[],i=!1;return{onIgnoreTag:function(s,a,l){if(function(t){return!!n||-1!==o.indexOf(e,t)}(s)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return r.push([!1!==i?i:l.position,u]),i=!1,c}return i||(i=l.position),"[removed]"}return t(s,a,l)},remove:function(e){var t="",n=0;return o.forEach(r,function(r){t+=e.slice(n,r[0]),n=r[1]}),t+=e.slice(n)}}},t.stripCommentTag=function(e){return e.replace($,"")},t.stripBlankChar=function(e){var t=e.split("");return(t=t.filter(function(e){var t=e.charCodeAt(0);return!(127===t||t<=31&&10!==t&&13!==t)})).join("")},t.cssFilter=a,t.getDefaultCSSWhiteList=i},function(e,t){function n(){var e={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return e}var r=/javascript\s*\:/gim;t.whiteList=n(),t.getDefaultWhiteList=n,t.onAttr=function(e,t,n){},t.onIgnoreAttr=function(e,t,n){},t.safeAttrValue=function(e,t){return r.test(t)?"":t}},function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n0;t--){var n=e[t];if(" "!==n)return"="===n?t:-1}}function c(e){return function(e){return'"'===e[0]&&'"'===e[e.length-1]||"'"===e[0]&&"'"===e[e.length-1]}(e)?e.substr(1,e.length-2):e}t.parseTag=function(e,t,n){var r="",s=0,a=!1,l=!1,c=0,u=e.length,p="",h="";for(c=0;c"===g){r+=n(e.slice(s,a)),p=i(h=e.slice(a,c+1)),r+=t(a,r.length,p,h,o(h)),s=c+1,a=!1;continue}if(('"'===g||"'"===g)&&"="===e.charAt(c-1)){l=g;continue}}else if(g===l){l=!1;continue}}return s ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",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|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function a(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||A.defaults,this.rules=s.normal,this.options.pedantic?this.rules=s.pedantic:this.options.gfm&&(this.options.tables?this.rules=s.tables:this.rules=s.gfm)}s._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,s._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,s.def=m(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d{1,9}\.)/,s.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,s.item=m(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=m(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",s._comment=//,s.html=m(s.html,"i").replace("comment",s._comment).replace("tag",s._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),s.paragraph=m(s.paragraph).replace("hr",s.hr).replace("heading",s.heading).replace("lheading",s.lheading).replace("tag",s._tag).getRegex(),s.blockquote=m(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=v({},s),s.gfm=v({},s.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),s.gfm.paragraph=m(s.paragraph).replace("(?!","(?!"+s.gfm.fences.source.replace("\\1","\\2")+"|"+s.list.source.replace("\\1","\\3")+"|").getRegex(),s.tables=v({},s.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),s.pedantic=v({},s.normal,{html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",s._comment).replace(/tag/g,"(?!(?: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").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),a.rules=s,a.lex=function(e,t){return new a(t).lex(e)},a.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},a.prototype.token=function(e,t){var n,r,i,o,a,l,c,u,p,h,g,f,d,m,b,y;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:_(i,"\n")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2]?i[2].trim():i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if((i=this.rules.nptable.exec(e))&&(l={type:"table",header:w(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(i[0].length),g=0;g ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),c={type:"list_start",ordered:m=(o=i[2]).length>1,start:m?+o:"",loose:!1},this.tokens.push(c),u=[],n=!1,d=(i=i[0].match(this.rules.item)).length,g=0;g1?1===a.length:a.length>1||this.options.smartLists&&a!==o)&&(e=i.slice(g+1).join("\n")+e,g=d-1)),r=n||/\n\n(?!\s*$)/.test(l),g!==d-1&&(n="\n"===l.charAt(l.length-1),r||(r=n)),r&&(c.loose=!0),y=void 0,(b=/^\[[ xX]\] /.test(l))&&(y=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),p={type:"list_item_start",task:b,checked:y,loose:r},u.push(p),this.tokens.push(p),this.token(l,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(d=u.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:k,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:k,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",l.em=m(l.em).replace(/punctuation/g,l._punctuation).getRegex(),l._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,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=m(l.autolink).replace("scheme",l._scheme).replace("email",l._email).getRegex(),l._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,l.tag=m(l.tag).replace("comment",s._comment).replace("attribute",l._attribute).getRegex(),l._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/,l._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,l._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,l.link=m(l.link).replace("label",l._label).replace("href",l._href).replace("title",l._title).getRegex(),l.reflink=m(l.reflink).replace("label",l._label).getRegex(),l.normal=v({},l),l.pedantic=v({},l.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",l._label).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",l._label).getRegex()}),l.gfm=v({},l.normal,{escape:m(l.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(o[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(o[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(o[0])&&(this.inRawBlock=!1),e=e.substring(o[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):f(o[0]):o[0];else if(o=this.rules.link.exec(e)){var l=S(o[2],"()");if(l>-1){var u=o[0].length-(o[2].length-l)-(o[3]||"").length;o[2]=o[2].substring(0,l),o[0]=o[0].substring(0,u).trim(),o[3]=""}e=e.substring(o[0].length),this.inLink=!0,r=o[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],i=t[3]):i="":i=o[3]?o[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(o,{href:c.escapes(r),title:c.escapes(i)}),this.inLink=!1}else if((o=this.rules.reflink.exec(e))||(o=this.rules.nolink.exec(e))){if(e=e.substring(o[0].length),t=(o[2]||o[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=o[0].charAt(0),e=o[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(o,t),this.inLink=!1}else if(o=this.rules.strong.exec(e))e=e.substring(o[0].length),a+=this.renderer.strong(this.output(o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.em.exec(e))e=e.substring(o[0].length),a+=this.renderer.em(this.output(o[6]||o[5]||o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.code.exec(e))e=e.substring(o[0].length),a+=this.renderer.codespan(f(o[2].trim(),!0));else if(o=this.rules.br.exec(e))e=e.substring(o[0].length),a+=this.renderer.br();else if(o=this.rules.del.exec(e))e=e.substring(o[0].length),a+=this.renderer.del(this.output(o[1]));else if(o=this.rules.autolink.exec(e))e=e.substring(o[0].length),r="@"===o[2]?"mailto:"+(n=f(this.mangle(o[1]))):n=f(o[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(o=this.rules.url.exec(e))){if(o=this.rules.text.exec(e))e=e.substring(o[0].length),this.inRawBlock?a+=this.renderer.text(o[0]):a+=this.renderer.text(f(this.smartypants(o[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===o[2])r="mailto:"+(n=f(o[0]));else{do{s=o[0],o[0]=this.rules._backpedal.exec(o[0])[0]}while(s!==o[0]);n=f(o[0]),r="www."===o[1]?"http://"+n:n}e=e.substring(o[0].length),a+=this.renderer.link(r,null,n)}return a},c.escapes=function(e){return e?e.replace(c.rules._escapes,"$1"):e},c.prototype.outputLink=function(e,t){var n=t.href,r=t.title?f(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,f(e[1]))},c.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},c.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},u.prototype.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return r?'
'+(n?e:f(e,!0))+"
\n":"
"+(n?e:f(e,!0))+"
"},u.prototype.blockquote=function(e){return"
\n"+e+"
\n"},u.prototype.html=function(e){return e},u.prototype.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},u.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},u.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},u.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},u.prototype.checkbox=function(e){return" "},u.prototype.paragraph=function(e){return"

    "+e+"

    \n"},u.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},u.prototype.tablerow=function(e){return"\n"+e+"\n"},u.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},u.prototype.strong=function(e){return""+e+""},u.prototype.em=function(e){return""+e+""},u.prototype.codespan=function(e){return""+e+""},u.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},u.prototype.del=function(e){return""+e+""},u.prototype.link=function(e,t,n){if(null===(e=b(this.options.sanitize,this.options.baseUrl,e)))return n;var r='"},u.prototype.image=function(e,t,n){if(null===(e=b(this.options.sanitize,this.options.baseUrl,e)))return n;var r=''+n+'":">"},u.prototype.text=function(e){return e},p.prototype.strong=p.prototype.em=p.prototype.codespan=p.prototype.del=p.prototype.text=function(e){return e},p.prototype.link=p.prototype.image=function(e,t,n){return""+n},p.prototype.br=function(){return""},h.parse=function(e,t){return new h(t).parse(e)},h.prototype.parse=function(e){this.inline=new c(e.links,this.options),this.inlineText=new c(e.links,v({},this.options,{renderer:new p})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},h.prototype.next=function(){return this.token=this.tokens.pop()},h.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},h.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},h.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)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,i="",o="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},f.escapeTest=/[&<>"']/,f.escapeReplace=/[&<>"']/g,f.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},f.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,f.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var y={},x=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function k(){}function v(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+f(c.message+"",!0)+"
    ";throw c}}k.exec=k,A.options=A.setOptions=function(e){return v(A.defaults,e),A},A.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new u,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},A.defaults=A.getDefaults(),A.Parser=h,A.parser=h.parse,A.Renderer=u,A.TextRenderer=p,A.Lexer=a,A.lexer=a.lex,A.InlineLexer=c,A.inlineLexer=c.output,A.Slugger=g,A.parse=A,"object"===o(t)?e.exports=A:void 0===(i=function(){return A}.call(t,n,t,e))||(e.exports=i)}(this||"undefined"!=typeof window&&window)}).call(this,n(9))},function(e,t,n){"use strict";n.r(t),n.d(t,"renderMarkdown",function(){return c});var r,i,o=n(7),s=n.n(o),a=n(2),l=n.n(a),c=function(e,t){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r||(r=Object.assign({},l.a.whiteList,{"ha-icon":["icon"]})),o.allowSvg?(i||(i=Object.assign({},r,{svg:["xmlns","height","width"],path:["transform","stroke","d"]})),n=i):n=r,l()(s()(e,t),{whiteList:n})};addEventListener("message",function(e){var n,r=e.data,i=r.type,o=r.method,s=r.id,a=r.params;"RPC"===i&&o&&((n=t[o])?Promise.resolve().then(function(){return n.apply(t,a)}):Promise.reject("No such method")).then(function(e){postMessage({type:"RPC",id:s,result:e})}).catch(function(e){var t={message:e};e.stack&&(t.message=e.message,t.stack=e.stack,t.name=e.name),postMessage({type:"RPC",id:s,error:t})})}),postMessage({type:"RPC",method:"ready"})},function(e,t){function n(e){return(n="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})(e)}var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(i){"object"===("undefined"==typeof window?"undefined":n(window))&&(r=window)}e.exports=r},function(e,t,n){var r=n(4),i=n(11);n(5);function o(e){return null==e}function s(e){(e=function(e){var t={};for(var n in e)t[n]=e[n];return t}(e||{})).whiteList=e.whiteList||r.whiteList,e.onAttr=e.onAttr||r.onAttr,e.onIgnoreAttr=e.onIgnoreAttr||r.onIgnoreAttr,e.safeAttrValue=e.safeAttrValue||r.safeAttrValue,this.options=e}s.prototype.process=function(e){if(!(e=(e=e||"").toString()))return"";var t=this.options,n=t.whiteList,r=t.onAttr,s=t.onIgnoreAttr,a=t.safeAttrValue;return i(e,function(e,t,i,l,c){var u=n[i],p=!1;if(!0===u?p=u:"function"==typeof u?p=u(l):u instanceof RegExp&&(p=u.test(l)),!0!==p&&(p=!1),l=a(i,l)){var h,g={position:t,sourcePosition:e,source:c,isWhite:p};return p?o(h=r(i,l,g))?i+":"+l:h:o(h=s(i,l,g))?void 0:h}})},e.exports=s},function(e,t,n){var r=n(5);e.exports=function(e,t){";"!==(e=r.trimRight(e))[e.length-1]&&(e+=";");var n=e.length,i=!1,o=0,s=0,a="";function l(){if(!i){var n=r.trim(e.slice(o,s)),l=n.indexOf(":");if(-1!==l){var c=r.trim(n.slice(0,l)),u=r.trim(n.slice(l+1));if(c){var p=t(o,a.length,c,u,n);p&&(a+=p+"; ")}}}o=s+1}for(;s";var y=function(e){var t=l.spaceIndex(e);if(-1===t)return{html:"",closing:"/"===e[e.length-2]};var n="/"===(e=l.trim(e.slice(t+1,-1)))[e.length-1];return n&&(e=l.trim(e.slice(0,-1))),{html:e,closing:n}}(s),x=n[i],k=a(y.html,function(e,t){var n,r=-1!==l.indexOf(x,e);return c(n=u(i,e,t,r))?r?(t=h(i,e,t,f))?e+'="'+t+'"':e:c(n=p(i,e,t,r))?void 0:n:n});s="<"+i;return k&&(s+=" "+k),y.closing&&(s+=" /"),s+=">"}return c(m=o(i,s,b))?g(s):m},g);return d&&(m=d.remove(m)),m},e.exports=u}]); +//# sourceMappingURL=201359fd5a526afe13ef.worker.js.map \ No newline at end of file diff --git a/hassio/api/panel/201359fd5a526afe13ef.worker.js.gz b/hassio/api/panel/201359fd5a526afe13ef.worker.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..32fff920ddebb7603bfd4b48950725eac07b1561 GIT binary patch literal 13282 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","\"","'","obj","target","arguments","tableRow","count","offset","curr","splice","invert","suffLen","currChar","callback","pending","done","err","message","setOptions","getDefaults","lexer","inlineLexer","_typeof","define","__WEBPACK_AMD_DEFINE_RESULT__","__webpack_exports__","renderMarkdown","whiteListNormal","whiteListSvg","marked__WEBPACK_IMPORTED_MODULE_0__","marked__WEBPACK_IMPORTED_MODULE_0___default","xss__WEBPACK_IMPORTED_MODULE_1__","xss__WEBPACK_IMPORTED_MODULE_1___default","markedOptions","hassOptions","assign","ha-icon","allowSvg","svg","path","addEventListener","f","ref","data","method","id","params","Promise","resolve","then","apply","reject","result","postMessage","catch","error","stack","g","Function","parseStyle","isNull","shallowCopyObject","css","sourcePosition","check","isWhite","opts","cssLength","isParenthesisOpen","retCSS","addNewAttr","stripIgnoreTag","allowCommentTag","stripIgnoreTagBody","retHtml","info","attrs","closing","getAttrs","whiteAttrList","attrsHtml","isWhiteAttr"],"mappings":"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","file":"201359fd5a526afe13ef.worker.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/api/hassio/app/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 8);\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar FilterCSS = require('./css');\n\n\n/**\n * XSS过滤\n *\n * @param {String} css 要过滤的CSS代码\n * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n * @return {String}\n */\nfunction filterCSS (html, options) {\n var xss = new FilterCSS(options);\n return xss.process(html);\n}\n\n\n// 输出\nexports = module.exports = filterCSS;\nexports.FilterCSS = FilterCSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n\n// 在浏览器端使用\nif (typeof window !== 'undefined') {\n window.filterCSS = module.exports;\n}\n","module.exports = {\n indexOf: function(arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function(arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function(str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n },\n spaceIndex: function(str) {\n var reg = /\\s|\\n|\\t/;\n var match = reg.exec(str);\n return match ? match.index : -1;\n }\n};\n","/**\n * xss\n *\n * @author Zongmin Lei\n */\n\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar FilterXSS = require(\"./xss\");\n\n/**\n * filter xss function\n *\n * @param {String} html\n * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n * @return {String}\n */\nfunction filterXSS(html, options) {\n var xss = new FilterXSS(options);\n return xss.process(html);\n}\n\nexports = module.exports = filterXSS;\nexports.filterXSS = filterXSS;\nexports.FilterXSS = FilterXSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\nfor (var i in parser) exports[i] = parser[i];\n\n// using `xss` on the browser, output `filterXSS` to the globals\nif (typeof window !== \"undefined\") {\n window.filterXSS = module.exports;\n}\n\n// using `xss` on the WebWorker, output `filterXSS` to the globals\nfunction isWorkerEnv() {\n return typeof self !== 'undefined' && typeof DedicatedWorkerGlobalScope !== 'undefined' && self instanceof DedicatedWorkerGlobalScope;\n}\nif (isWorkerEnv()) {\n self.filterXSS = module.exports;\n}\n","/**\n * default settings\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar getDefaultCSSWhiteList = require(\"cssfilter\").getDefaultWhiteList;\nvar _ = require(\"./util\");\n\nfunction getDefaultWhiteList() {\n return {\n a: [\"target\", \"href\", \"title\"],\n abbr: [\"title\"],\n address: [],\n area: [\"shape\", \"coords\", \"href\", \"alt\"],\n article: [],\n aside: [],\n audio: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\"],\n b: [],\n bdi: [\"dir\"],\n bdo: [\"dir\"],\n big: [],\n blockquote: [\"cite\"],\n br: [],\n caption: [],\n center: [],\n cite: [],\n code: [],\n col: [\"align\", \"valign\", \"span\", \"width\"],\n colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n dd: [],\n del: [\"datetime\"],\n details: [\"open\"],\n div: [],\n dl: [],\n dt: [],\n em: [],\n font: [\"color\", \"size\", \"face\"],\n footer: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n header: [],\n hr: [],\n i: [],\n img: [\"src\", \"alt\", \"title\", \"width\", \"height\"],\n ins: [\"datetime\"],\n li: [],\n mark: [],\n nav: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n section: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n table: [\"width\", \"border\", \"align\", \"valign\"],\n tbody: [\"align\", \"valign\"],\n td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n tfoot: [\"align\", \"valign\"],\n th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n thead: [\"align\", \"valign\"],\n tr: [\"rowspan\", \"align\", \"valign\"],\n tt: [],\n u: [],\n ul: [],\n video: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\", \"height\", \"width\"]\n };\n}\n\nvar defaultCSSFilter = new FilterCSS();\n\n/**\n * default onTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onIgnoreTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default onIgnoreTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onIgnoreTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default escapeHtml function\n *\n * @param {String} html\n */\nfunction escapeHtml(html) {\n return html.replace(REGEXP_LT, \"<\").replace(REGEXP_GT, \">\");\n}\n\n/**\n * default safeAttrValue function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @param {Object} cssFilter\n * @return {String}\n */\nfunction safeAttrValue(tag, name, value, cssFilter) {\n // unescape attribute value firstly\n value = friendlyAttrValue(value);\n\n if (name === \"href\" || name === \"src\") {\n // filter `href` and `src` attribute\n // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n value = _.trim(value);\n if (value === \"#\") return \"#\";\n if (\n !(\n value.substr(0, 7) === \"http://\" ||\n value.substr(0, 8) === \"https://\" ||\n value.substr(0, 7) === \"mailto:\" ||\n value.substr(0, 4) === \"tel:\" ||\n value[0] === \"#\" ||\n value[0] === \"/\"\n )\n ) {\n return \"\";\n }\n } else if (name === \"background\") {\n // filter `background` attribute (maybe no use)\n // `javascript:`\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n } else if (name === \"style\") {\n // `expression()`\n REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n return \"\";\n }\n // `url()`\n REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n }\n if (cssFilter !== false) {\n cssFilter = cssFilter || defaultCSSFilter;\n value = cssFilter.process(value);\n }\n }\n\n // escape `<>\"` before returns\n value = escapeAttrValue(value);\n return value;\n}\n\n// RegExp list\nvar REGEXP_LT = //g;\nvar REGEXP_QUOTE = /\"/g;\nvar REGEXP_QUOTE_2 = /"/g;\nvar REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;\nvar REGEXP_ATTR_VALUE_COLON = /:?/gim;\nvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((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;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\n/**\n * escape doube quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction escapeQuote(str) {\n return str.replace(REGEXP_QUOTE, \""\");\n}\n\n/**\n * unescape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction unescapeQuote(str) {\n return str.replace(REGEXP_QUOTE_2, '\"');\n}\n\n/**\n * escape html entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeHtmlEntities(str) {\n return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n return code[0] === \"x\" || code[0] === \"X\"\n ? String.fromCharCode(parseInt(code.substr(1), 16))\n : String.fromCharCode(parseInt(code, 10));\n });\n}\n\n/**\n * escape html5 new danger entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeDangerHtml5Entities(str) {\n return str\n .replace(REGEXP_ATTR_VALUE_COLON, \":\")\n .replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n}\n\n/**\n * clear nonprintable characters\n *\n * @param {String} str\n * @return {String}\n */\nfunction clearNonPrintableCharacter(str) {\n var str2 = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n }\n return _.trim(str2);\n}\n\n/**\n * get friendly attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction friendlyAttrValue(str) {\n str = unescapeQuote(str);\n str = escapeHtmlEntities(str);\n str = escapeDangerHtml5Entities(str);\n str = clearNonPrintableCharacter(str);\n return str;\n}\n\n/**\n * unescape attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeAttrValue(str) {\n str = escapeQuote(str);\n str = escapeHtml(str);\n return str;\n}\n\n/**\n * `onIgnoreTag` function for removing all the tags that are not in whitelist\n */\nfunction onIgnoreTagStripAll() {\n return \"\";\n}\n\n/**\n * remove tag body\n * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n *\n * @param {array} tags\n * @param {function} next\n */\nfunction StripTagBody(tags, next) {\n if (typeof next !== \"function\") {\n next = function() {};\n }\n\n var isRemoveAllTag = !Array.isArray(tags);\n function isRemoveTag(tag) {\n if (isRemoveAllTag) return true;\n return _.indexOf(tags, tag) !== -1;\n }\n\n var removeList = [];\n var posStart = false;\n\n return {\n onIgnoreTag: function(tag, html, options) {\n if (isRemoveTag(tag)) {\n if (options.isClosing) {\n var ret = \"[/removed]\";\n var end = options.position + ret.length;\n removeList.push([\n posStart !== false ? posStart : options.position,\n end\n ]);\n posStart = false;\n return ret;\n } else {\n if (!posStart) {\n posStart = options.position;\n }\n return \"[removed]\";\n }\n } else {\n return next(tag, html, options);\n }\n },\n remove: function(html) {\n var rethtml = \"\";\n var lastPos = 0;\n _.forEach(removeList, function(pos) {\n rethtml += html.slice(lastPos, pos[0]);\n lastPos = pos[1];\n });\n rethtml += html.slice(lastPos);\n return rethtml;\n }\n };\n}\n\n/**\n * remove html comments\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripCommentTag(html) {\n return html.replace(STRIP_COMMENT_TAG_REGEXP, \"\");\n}\nvar STRIP_COMMENT_TAG_REGEXP = //g;\n\n/**\n * remove invisible characters\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripBlankChar(html) {\n var chars = html.split(\"\");\n chars = chars.filter(function(char) {\n var c = char.charCodeAt(0);\n if (c === 127) return false;\n if (c <= 31) {\n if (c === 10 || c === 13) return true;\n return false;\n }\n return true;\n });\n return chars.join(\"\");\n}\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onTag = onTag;\nexports.onIgnoreTag = onIgnoreTag;\nexports.onTagAttr = onTagAttr;\nexports.onIgnoreTagAttr = onIgnoreTagAttr;\nexports.safeAttrValue = safeAttrValue;\nexports.escapeHtml = escapeHtml;\nexports.escapeQuote = escapeQuote;\nexports.unescapeQuote = unescapeQuote;\nexports.escapeHtmlEntities = escapeHtmlEntities;\nexports.escapeDangerHtml5Entities = escapeDangerHtml5Entities;\nexports.clearNonPrintableCharacter = clearNonPrintableCharacter;\nexports.friendlyAttrValue = friendlyAttrValue;\nexports.escapeAttrValue = escapeAttrValue;\nexports.onIgnoreTagStripAll = onIgnoreTagStripAll;\nexports.StripTagBody = StripTagBody;\nexports.stripCommentTag = stripCommentTag;\nexports.stripBlankChar = stripBlankChar;\nexports.cssFilter = defaultCSSFilter;\nexports.getDefaultCSSWhiteList = getDefaultCSSWhiteList;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nfunction getDefaultWhiteList () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onAttr = onAttr;\nexports.onIgnoreAttr = onIgnoreAttr;\nexports.safeAttrValue = safeAttrValue;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n","/**\n * Simple HTML Parser\n *\n * @author Zongmin Lei\n */\n\nvar _ = require(\"./util\");\n\n/**\n * get tag name\n *\n * @param {String} html e.g. '
    '\n * @return {String}\n */\nfunction getTagName(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n var tagName = html.slice(1, -1);\n } else {\n var tagName = html.slice(1, i + 1);\n }\n tagName = _.trim(tagName).toLowerCase();\n if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n return tagName;\n}\n\n/**\n * is close tag?\n *\n * @param {String} html 如:''\n * @return {Boolean}\n */\nfunction isClosing(html) {\n return html.slice(0, 2) === \"\") {\n rethtml += escapeHtml(html.slice(lastPos, tagStart));\n currentHtml = html.slice(tagStart, currentPos + 1);\n currentTagName = getTagName(currentHtml);\n rethtml += onTag(\n tagStart,\n rethtml.length,\n currentTagName,\n currentHtml,\n isClosing(currentHtml)\n );\n lastPos = currentPos + 1;\n tagStart = false;\n continue;\n }\n if ((c === '\"' || c === \"'\") && html.charAt(currentPos - 1) === \"=\") {\n quoteStart = c;\n continue;\n }\n } else {\n if (c === quoteStart) {\n quoteStart = false;\n continue;\n }\n }\n }\n }\n if (lastPos < html.length) {\n rethtml += escapeHtml(html.substr(lastPos));\n }\n\n return rethtml;\n}\n\nvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\\.\\-]/gim;\n\n/**\n * parse input attributes and returns processed attributes\n *\n * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n * @param {Function} onAttr e.g. `function (name, value)`\n * @return {String}\n */\nfunction parseAttr(html, onAttr) {\n \"user strict\";\n\n var lastPos = 0;\n var retAttrs = [];\n var tmpName = false;\n var len = html.length;\n\n function addAttr(name, value) {\n name = _.trim(name);\n name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n if (name.length < 1) return;\n var ret = onAttr(name, value || \"\");\n if (ret) retAttrs.push(ret);\n }\n\n // 逐个分析字符\n for (var i = 0; i < len; i++) {\n var c = html.charAt(i);\n var v, j;\n if (tmpName === false && c === \"=\") {\n tmpName = html.slice(lastPos, i);\n lastPos = i + 1;\n continue;\n }\n if (tmpName !== false) {\n if (\n i === lastPos &&\n (c === '\"' || c === \"'\") &&\n html.charAt(i - 1) === \"=\"\n ) {\n j = html.indexOf(c, i + 1);\n if (j === -1) {\n break;\n } else {\n v = _.trim(html.slice(lastPos + 1, j));\n addAttr(tmpName, v);\n tmpName = false;\n i = j;\n lastPos = i + 1;\n continue;\n }\n }\n }\n if (/\\s|\\n|\\t/.test(c)) {\n html = html.replace(/\\s|\\n|\\t/g, \" \");\n if (tmpName === false) {\n j = findNextEqual(html, i);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n addAttr(v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n i = j - 1;\n continue;\n }\n } else {\n j = findBeforeEqual(html, i - 1);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n v = stripQuoteWrap(v);\n addAttr(tmpName, v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n continue;\n }\n }\n }\n }\n\n if (lastPos < html.length) {\n if (tmpName === false) {\n addAttr(html.slice(lastPos));\n } else {\n addAttr(tmpName, stripQuoteWrap(_.trim(html.slice(lastPos))));\n }\n }\n\n return _.trim(retAttrs.join(\" \"));\n}\n\nfunction findNextEqual(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction findBeforeEqual(str, i) {\n for (; i > 0; i--) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction isQuoteWrapString(text) {\n if (\n (text[0] === '\"' && text[text.length - 1] === '\"') ||\n (text[0] === \"'\" && text[text.length - 1] === \"'\")\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction stripQuoteWrap(text) {\n if (isQuoteWrapString(text)) {\n return text.substr(1, text.length - 2);\n } else {\n return text;\n }\n}\n\nexports.parseTag = parseTag;\nexports.parseAttr = parseAttr;\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._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])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|`(?!`)|[^\\[\\]\\\\`])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = cap[0].length - (cap[2].length - lastParenIndex) - (cap[3] || '').length;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
    '\n      + (escaped ? code : escape(code, true))\n      + '
    ';\n }\n\n return '
    '\n    + (escaped ? code : escape(code, true))\n    + '
    \\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
    \\n' + quote + '
    \\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '
    ';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","import marked from \"marked\"; // @ts-ignore\n\nimport filterXSS from \"xss\";\nvar whiteListNormal;\nvar whiteListSvg;\nexport var renderMarkdown = function renderMarkdown(content, markedOptions) {\n var hassOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!whiteListNormal) {\n whiteListNormal = Object.assign({}, filterXSS.whiteList, {\n \"ha-icon\": [\"icon\"]\n });\n }\n\n var whiteList;\n\n if (hassOptions.allowSvg) {\n if (!whiteListSvg) {\n whiteListSvg = Object.assign({}, whiteListNormal, {\n svg: [\"xmlns\", \"height\", \"width\"],\n path: [\"transform\", \"stroke\", \"d\"]\n });\n }\n\n whiteList = whiteListSvg;\n } else {\n whiteList = whiteListNormal;\n }\n\n return filterXSS(marked(content, markedOptions), {\n whiteList: whiteList\n });\n};\naddEventListener('message', function (e) {var ref = e.data;var type = ref.type;var method = ref.method;var id = ref.id;var params = ref.params;var f,p;if (type === 'RPC' && method) {if (f = __webpack_exports__[method]) {p = Promise.resolve().then(function () { return f.apply(__webpack_exports__, params); });} else {p = Promise.reject('No such method');}p.then(function (result) {postMessage({type: 'RPC',id: id,result: result});}).catch(function (e) {var error = {message: e};if (e.stack) {error.message = e.message;error.stack = e.stack;error.name = e.name;}postMessage({type: 'RPC',id: id,error: error});});}});postMessage({type: 'RPC',method: 'ready'});","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar parseStyle = require('./parser');\nvar _ = require('./util');\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS (options) {\n options = shallowCopyObject(options || {});\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onAttr = options.onAttr || DEFAULT.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nmodule.exports = FilterCSS;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar _ = require('./util');\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle (css, onAttr) {\n css = _.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _.trim(source.slice(0, j));\n var value = _.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) {\n // 在圆括号里面,忽略\n } else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _.trim(retCSS);\n}\n\nmodule.exports = parseStyle;\n","/**\n * filter xss\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar parseTag = parser.parseTag;\nvar parseAttr = parser.parseAttr;\nvar _ = require(\"./util\");\n\n/**\n * returns `true` if the input value is `undefined` or `null`\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull(obj) {\n return obj === undefined || obj === null;\n}\n\n/**\n * get attributes for a tag\n *\n * @param {String} html\n * @return {Object}\n * - {String} html\n * - {Boolean} closing\n */\nfunction getAttrs(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n return {\n html: \"\",\n closing: html[html.length - 2] === \"/\"\n };\n }\n html = _.trim(html.slice(i + 1, -1));\n var isClosing = html[html.length - 1] === \"/\";\n if (isClosing) html = _.trim(html.slice(0, -1));\n return {\n html: html,\n closing: isClosing\n };\n}\n\n/**\n * shallow copy\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject(obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * FilterXSS class\n *\n * @param {Object} options\n * whiteList, onTag, onTagAttr, onIgnoreTag,\n * onIgnoreTagAttr, safeAttrValue, escapeHtml\n * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n */\nfunction FilterXSS(options) {\n options = shallowCopyObject(options || {});\n\n if (options.stripIgnoreTag) {\n if (options.onIgnoreTag) {\n console.error(\n 'Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'\n );\n }\n options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;\n }\n\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onTag = options.onTag || DEFAULT.onTag;\n options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;\n options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;\n options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;\n this.options = options;\n\n if (options.css === false) {\n this.cssFilter = false;\n } else {\n options.css = options.css || {};\n this.cssFilter = new FilterCSS(options.css);\n }\n}\n\n/**\n * start process and returns result\n *\n * @param {String} html\n * @return {String}\n */\nFilterXSS.prototype.process = function(html) {\n // compatible with the input\n html = html || \"\";\n html = html.toString();\n if (!html) return \"\";\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onTag = options.onTag;\n var onIgnoreTag = options.onIgnoreTag;\n var onTagAttr = options.onTagAttr;\n var onIgnoreTagAttr = options.onIgnoreTagAttr;\n var safeAttrValue = options.safeAttrValue;\n var escapeHtml = options.escapeHtml;\n var cssFilter = me.cssFilter;\n\n // remove invisible characters\n if (options.stripBlankChar) {\n html = DEFAULT.stripBlankChar(html);\n }\n\n // remove html comments\n if (!options.allowCommentTag) {\n html = DEFAULT.stripCommentTag(html);\n }\n\n // if enable stripIgnoreTagBody\n var stripIgnoreTagBody = false;\n if (options.stripIgnoreTagBody) {\n var stripIgnoreTagBody = DEFAULT.StripTagBody(\n options.stripIgnoreTagBody,\n onIgnoreTag\n );\n onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n }\n\n var retHtml = parseTag(\n html,\n function(sourcePosition, position, tag, html, isClosing) {\n var info = {\n sourcePosition: sourcePosition,\n position: position,\n isClosing: isClosing,\n isWhite: whiteList.hasOwnProperty(tag)\n };\n\n // call `onTag()`\n var ret = onTag(tag, html, info);\n if (!isNull(ret)) return ret;\n\n if (info.isWhite) {\n if (info.isClosing) {\n return \"\";\n }\n\n var attrs = getAttrs(html);\n var whiteAttrList = whiteList[tag];\n var attrsHtml = parseAttr(attrs.html, function(name, value) {\n // call `onTagAttr()`\n var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;\n var ret = onTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n\n if (isWhiteAttr) {\n // call `safeAttrValue()`\n value = safeAttrValue(tag, name, value, cssFilter);\n if (value) {\n return name + '=\"' + value + '\"';\n } else {\n return name;\n }\n } else {\n // call `onIgnoreTagAttr()`\n var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n return;\n }\n });\n\n // build new tag html\n var html = \"<\" + tag;\n if (attrsHtml) html += \" \" + attrsHtml;\n if (attrs.closing) html += \" /\";\n html += \">\";\n return html;\n } else {\n // call `onIgnoreTag()`\n var ret = onIgnoreTag(tag, html, info);\n if (!isNull(ret)) return ret;\n return escapeHtml(html);\n }\n },\n escapeHtml\n );\n\n // if enable stripIgnoreTagBody\n if (stripIgnoreTagBody) {\n retHtml = stripIgnoreTagBody.remove(retHtml);\n }\n\n return retHtml;\n};\n\nmodule.exports = FilterXSS;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.04bcaa18b59728e10be9.js b/hassio/api/panel/chunk.04bcaa18b59728e10be9.js deleted file mode 100644 index f9494f74b..000000000 --- a/hassio/api/panel/chunk.04bcaa18b59728e10be9.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{136:function(C,H,V){"use strict";V.r(H);var L=document.createElement("template");L.setAttribute("style","display: none;"),L.innerHTML='',document.head.appendChild(L.content)}}]); -//# sourceMappingURL=chunk.04bcaa18b59728e10be9.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.04bcaa18b59728e10be9.js.gz b/hassio/api/panel/chunk.04bcaa18b59728e10be9.js.gz deleted file mode 100644 index 1a13c167ade506f4b8f320e1d007af75697f2b32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 392635 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
    wgDuau1vnehoh(%P8B3-G{kTP)LZ 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≺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


    3gN3N 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\";","import iconSetContent from \"../../build/mdi.html\";\n\nconst documentContainer = document.createElement(\"template\");\ndocumentContainer.setAttribute(\"style\", \"display: none;\");\ndocumentContainer.innerHTML = iconSetContent;\ndocument.head.appendChild(documentContainer.content);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.12902324b918e12549ba.js b/hassio/api/panel/chunk.12902324b918e12549ba.js new file mode 100644 index 000000000..c51691e24 --- /dev/null +++ b/hassio/api/panel/chunk.12902324b918e12549ba.js @@ -0,0 +1,3 @@ +/*! For license information please see chunk.12902324b918e12549ba.js.LICENSE */ +(self.webpackJsonp=self.webpackJsonp||[]).push([[10],[,,,,function(e,t,n){"use strict";var i=n(13),o=n(27),r=n(19),a=133;function s(e,t){for(var n=e.element.content,i=e.parts,o=document.createTreeWalker(n,a,null,!1),r=c(i),s=i[r],l=-1,d=0,u=[],p=null;o.nextNode();){l++;var h=o.currentNode;for(h.previousSibling===p&&(p=null),t.has(h)&&(u.push(h),null===p&&(p=h)),null!==p&&d++;void 0!==s&&s.index===l;)s.index=null!==p?-1:s.index-d,s=i[r=c(i,r)]}u.forEach(function(e){return e.parentNode.removeChild(e)})}var l=function(e){for(var t=11===e.nodeType?0:1,n=document.createTreeWalker(e,a,null,!1);n.nextNode();)t++;return t},c=function(e){for(var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1)+1;t2&&void 0!==arguments[2]?arguments[2]:null,i=e.element.content,o=e.parts;if(null!=n)for(var r=document.createTreeWalker(i,a,null,!1),s=c(o),d=0,u=-1;r.nextNode();)for(u++,r.currentNode===n&&(d=l(t),n.parentNode.insertBefore(t,n));-1!==s&&o[s].index===u;){if(d>0){for(;-1!==s;)o[s].index+=d,s=c(o,s);return}s=c(o,s)}else i.appendChild(t)}(n,d,b.firstChild):b.insertBefore(d,b.firstChild),window.ShadyCSS.prepareTemplateStyles(i,e);var v=b.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==v)t.insertBefore(v.cloneNode(!0),t.firstChild);else if(n){b.insertBefore(d,b.firstChild);var g=new Set;g.add(d),s(n,g)}}else window.ShadyCSS.prepareTemplateStyles(i,e)};function _(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t1&&void 0!==arguments[1]?arguments[1]:I;if(this._ensureClassProperties(),this._classProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){var n="symbol"===w(e)?Symbol():"__".concat(e);Object.defineProperty(this.prototype,e,{get:function(){return this[n]},set:function(t){var i=this[e];this[n]=t,this._requestUpdate(e,i)},configurable:!0,enumerable:!0})}}},{key:"finalize",value:function(){var e=Object.getPrototypeOf(this);if(e.hasOwnProperty("finalized")||e.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){var t=this.properties,n=[].concat(_(Object.getOwnPropertyNames(t)),_("function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[])),i=!0,o=!1,r=void 0;try{for(var a,s=n[Symbol.iterator]();!(i=(a=s.next()).done);i=!0){var l=a.value;this.createProperty(l,t[l])}}catch(c){o=!0,r=c}finally{try{i||null==s.return||s.return()}finally{if(o)throw r}}}}},{key:"_attributeNameForProperty",value:function(e,t){var n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}},{key:"_valueHasChanged",value:function(e,t){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:T)(e,t)}},{key:"_propertyValueFromAttribute",value:function(e,t){var n=t.type,i=t.converter||E,o="function"==typeof i?i:i.fromAttribute;return o?o(e,n):e}},{key:"_propertyValueToAttribute",value:function(e,t){if(void 0!==t.reflect){var n=t.type,i=t.converter;return(i&&i.toAttribute||E.toAttribute)(e,n)}}},{key:"observedAttributes",get:function(){var e=this;this.finalize();var t=[];return this._classProperties.forEach(function(n,i){var o=e._attributeNameForProperty(i,n);void 0!==o&&(e._attributeToPropertyMap.set(o,i),t.push(o))}),t}}],(i=[{key:"initialize",value:function(){this._saveInstanceProperties(),this._requestUpdate()}},{key:"_saveInstanceProperties",value:function(){var e=this;this.constructor._classProperties.forEach(function(t,n){if(e.hasOwnProperty(n)){var i=e[n];delete e[n],e._instanceProperties||(e._instanceProperties=new Map),e._instanceProperties.set(n,i)}})}},{key:"_applyInstanceProperties",value:function(){var e=this;this._instanceProperties.forEach(function(t,n){return e[n]=t}),this._instanceProperties=void 0}},{key:"connectedCallback",value:function(){this._updateState=32|this._updateState,this._hasConnectedResolver&&(this._hasConnectedResolver(),this._hasConnectedResolver=void 0)}},{key:"disconnectedCallback",value:function(){}},{key:"attributeChangedCallback",value:function(e,t,n){t!==n&&this._attributeToProperty(e,n)}},{key:"_propertyToAttribute",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:I,i=this.constructor,o=i._attributeNameForProperty(e,n);if(void 0!==o){var r=i._propertyValueToAttribute(t,n);if(void 0===r)return;this._updateState=8|this._updateState,null==r?this.removeAttribute(o):this.setAttribute(o,r),this._updateState=-9&this._updateState}}},{key:"_attributeToProperty",value:function(e,t){if(!(8&this._updateState)){var n=this.constructor,i=n._attributeToPropertyMap.get(e);if(void 0!==i){var o=n._classProperties.get(i)||I;this._updateState=16|this._updateState,this[i]=n._propertyValueFromAttribute(t,o),this._updateState=-17&this._updateState}}}},{key:"_requestUpdate",value:function(e,t){var n=!0;if(void 0!==e){var i=this.constructor,o=i._classProperties.get(e)||I;i._valueHasChanged(this[e],t,o.hasChanged)?(this._changedProperties.has(e)||this._changedProperties.set(e,t),!0!==o.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(e,o))):n=!1}!this._hasRequestedUpdate&&n&&this._enqueueUpdate()}},{key:"requestUpdate",value:function(e,t){return this._requestUpdate(e,t),this.updateComplete}},{key:"_enqueueUpdate",value:function(){var e,t,n,i,o=this;return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:return this._updateState=4|this._updateState,n=this._updatePromise,this._updatePromise=new Promise(function(n,i){e=n,t=i}),r.prev=3,r.next=6,regeneratorRuntime.awrap(n);case 6:r.next=10;break;case 8:r.prev=8,r.t0=r.catch(3);case 10:if(this._hasConnected){r.next=13;break}return r.next=13,regeneratorRuntime.awrap(new Promise(function(e){return o._hasConnectedResolver=e}));case 13:if(r.prev=13,null==(i=this.performUpdate())){r.next=18;break}return r.next=18,regeneratorRuntime.awrap(i);case 18:r.next=23;break;case 20:r.prev=20,r.t1=r.catch(13),t(r.t1);case 23:e(!this._hasRequestedUpdate);case 24:case"end":return r.stop()}},null,this,[[3,8],[13,20]])}},{key:"performUpdate",value:function(){this._instanceProperties&&this._applyInstanceProperties();var e=!1,t=this._changedProperties;try{(e=this.shouldUpdate(t))&&this.update(t)}catch(n){throw e=!1,n}finally{this._markUpdated()}e&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(t)),this.updated(t))}},{key:"_markUpdated",value:function(){this._changedProperties=new Map,this._updateState=-5&this._updateState}},{key:"_getUpdateComplete",value:function(){return this._updatePromise}},{key:"shouldUpdate",value:function(e){return!0}},{key:"update",value:function(e){var t=this;void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(function(e,n){return t._propertyToAttribute(n,t[n],e)}),this._reflectingProperties=void 0)}},{key:"updated",value:function(e){}},{key:"firstUpdated",value:function(e){}},{key:"_hasConnected",get:function(){return 32&this._updateState}},{key:"_hasRequestedUpdate",get:function(){return 4&this._updateState}},{key:"hasUpdated",get:function(){return 1&this._updateState}},{key:"updateComplete",get:function(){return this._getUpdateComplete()}}])&&x(n.prototype,i),o&&x(n,o),t}();j.finalized=!0;var R=function(e){return function(t){return"function"==typeof t?function(e,t){return window.customElements.define(e,t),t}(e,t):function(e,t){return{kind:t.kind,elements:t.elements,finisher:function(t){window.customElements.define(e,t)}}}(e,t)}},B=function(e,t){return"method"!==t.kind||!t.descriptor||"value"in t.descriptor?{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer:function(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher:function(n){n.createProperty(t.key,e)}}:Object.assign({},t,{finisher:function(n){n.createProperty(t.key,e)}})},P=function(e,t,n){t.constructor.createProperty(n,e)};function N(e){return function(t,n){return void 0!==n?P(e,t,n):B(e,t)}}function L(e){return function(t,n){var i={get:function(){return this.renderRoot.querySelector(e)},enumerable:!0,configurable:!0};return void 0!==n?F(i,t,n):M(i,t)}}var F=function(e,t,n){Object.defineProperty(t,n,e)},M=function(e,t){return{kind:"method",placement:"prototype",key:t.key,descriptor:e}};function D(e,t){for(var n=0;n1?t-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:[],i=0,o=t.length;i\n \n\n\n \n']);return o=function(){return e},e}var r=Object(i.a)(o());r.setAttribute("style","display: none;"),document.head.appendChild(r.content);var a=document.createElement("style");a.textContent="[hidden] { display: none !important; }",document.head.appendChild(a)},function(e,t,n){"use strict";n(3),n(88);var i=n(5);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n'],['\n\n \n']);return o=function(){return e},e}var r=Object(i.a)(o());r.setAttribute("style","display: none;"),document.head.appendChild(r.content)},,function(e,t,n){"use strict";var i=n(18);function o(e,t){for(var n=0;n1?t-1:0),i=1;i\n

    \n ','\n ',"\n ","\n \n "]);return l=function(){return e},e}function c(){var e=d(['',""]);return c=function(){return e},e}function d(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function u(e,t){for(var n=0;n\n :host {\n display: inline-block;\n overflow: hidden;\n position: relative;\n }\n\n #baseURIAnchor {\n display: none;\n }\n\n #sizedImgDiv {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n\n display: none;\n }\n\n #img {\n display: block;\n width: var(--iron-image-width, auto);\n height: var(--iron-image-height, auto);\n }\n\n :host([sizing]) #sizedImgDiv {\n display: block;\n }\n\n :host([sizing]) #img {\n display: none;\n }\n\n #placeholder {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n\n background-color: inherit;\n opacity: 1;\n\n @apply --iron-image-placeholder;\n }\n\n #placeholder.faded-out {\n transition: opacity 0.5s linear;\n opacity: 0;\n }\n \n\n
    \n \n \n
    \n']);return a=function(){return e},e}Object(i.a)({_template:Object(o.a)(a()),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=Object(r.c)(e,this.$.baseURIAnchor.href);return t.length>=2&&"/"===t[0]&&"/"!==t[1]&&(t=(location.origin||location.protocol+"//"+location.host)+t),t}});n(39);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n']);return s=function(){return e},e}var l=Object(o.a)(s());l.setAttribute("style","display: none;"),document.head.appendChild(l.content);n(11);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n'],['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n']);return c=function(){return e},e}Object(i.a)({_template:Object(o.a)(c()),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}})},function(e,t,n){"use strict";n.d(t,"a",function(){return _}),n.d(t,"b",function(){return w}),n.d(t,"e",function(){return x}),n.d(t,"c",function(){return k}),n.d(t,"f",function(){return S}),n.d(t,"g",function(){return C}),n.d(t,"d",function(){return E});var i=n(49),o=n(27),r=n(50),a=n(51),s=n(36),l=n(19);function c(e,t){return!t||"object"!==m(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function d(e,t,n){return(d="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=u(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:this.startNode;Object(o.b)(this.startNode.parentNode,e.nextSibling,this.endNode)}}]),e}(),k=function(){function e(t,n,i){if(f(this,e),this.value=void 0,this.__pendingValue=void 0,2!==i.length||""!==i[0]||""!==i[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=n,this.strings=i}return v(e,[{key:"setValue",value:function(e){this.__pendingValue=e}},{key:"commit",value:function(){for(;Object(i.b)(this.__pendingValue);){var e=this.__pendingValue;this.__pendingValue=r.a,e(this)}if(this.__pendingValue!==r.a){var t=!!this.__pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=t),this.__pendingValue=r.a}}}]),e}(),S=function(e){function t(e,n,i){var o;return f(this,t),(o=c(this,u(t).call(this,e,n,i))).single=2===i.length&&""===i[0]&&""===i[1],o}return p(t,_),v(t,[{key:"_createPart",value:function(){return new C(this)}},{key:"_getValue",value:function(){return this.single?this.parts[0].value:d(u(t.prototype),"_getValue",this).call(this)}},{key:"commit",value:function(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}]),t}(),C=function(e){function t(){return f(this,t),c(this,u(t).apply(this,arguments))}return p(t,w),t}(),O=!1;try{var A={get capture(){return O=!0,!1}};window.addEventListener("test",A,A),window.removeEventListener("test",A,A)}catch(I){}var E=function(){function e(t,n,i){var o=this;f(this,e),this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=n,this.eventContext=i,this.__boundHandleEvent=function(e){return o.handleEvent(e)}}return v(e,[{key:"setValue",value:function(e){this.__pendingValue=e}},{key:"commit",value:function(){for(;Object(i.b)(this.__pendingValue);){var e=this.__pendingValue;this.__pendingValue=r.a,e(this)}if(this.__pendingValue!==r.a){var t=this.__pendingValue,n=this.value,o=null==t||null!=n&&(t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive),a=null!=t&&(null==n||o);o&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),a&&(this.__options=T(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=r.a}}},{key:"handleEvent",value:function(e){"function"==typeof this.value?this.value.call(this.eventContext||this.element,e):this.value.handleEvent(e)}}]),e}(),T=function(e){return e&&(O?{capture:e.capture,passive:e.passive,once:e.once}:e.capture)}},function(e,t,n){"use strict";n.d(t,"f",function(){return i}),n.d(t,"g",function(){return o}),n.d(t,"b",function(){return a}),n.d(t,"a",function(){return s}),n.d(t,"d",function(){return c}),n.d(t,"c",function(){return d}),n.d(t,"e",function(){return u});var i="{{lit-".concat(String(Math.random()).slice(2),"}}"),o="\x3c!--".concat(i,"--\x3e"),r=new RegExp("".concat(i,"|").concat(o)),a="$lit$",s=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.parts=[],this.element=n;for(var o=[],s=[],c=document.createTreeWalker(n.content,133,null,!1),p=0,h=-1,f=0,b=t.strings,v=t.values.length;f0;){var x=b[f],k=u.exec(x)[2],S=k.toLowerCase()+a,C=m.getAttribute(S);m.removeAttribute(S);var O=C.split(r);this.parts.push({type:"attribute",index:h,name:k,strings:O}),f+=O.length-1}}"TEMPLATE"===m.tagName&&(s.push(m),c.currentNode=m.content)}else if(3===m.nodeType){var A=m.data;if(A.indexOf(i)>=0){for(var E=m.parentNode,T=A.split(r),I=T.length-1,z=0;z=0&&e.slice(n)===t},c=function(e){return-1!==e.index},d=function(){return document.createComment("")},u=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/},function(e,t,n){"use strict";n(10),n(64);var i=n(6),o=n(7),r=n(5),a=n(3);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n"]);return s=function(){return e},e}Object(i.a)({_template:Object(r.a)(s()),is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:a.a.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&&Object(o.a)(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,Object(o.a)(this.root).appendChild(this._img))}})},,function(e,t,n){"use strict";n(3),n(20),n(11);var i=n(65),o=n(6),r=n(5);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n '],['\n \n\n \n ']);return a=function(){return e},e}Object(o.a)({is:"paper-icon-button",_template:Object(r.a)(a()),hostAttributes:{role:"button",tabindex:"0"},behaviors:[i.a],registered:function(){this._template.setAttribute("strip-whitespace","")},properties:{src:{type:String},icon:{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:function(e,t){var n=this.getAttribute("aria-label");n&&t!=n||this.setAttribute("aria-label",e)}})},function(e,t,n){"use strict";n.d(t,"a",function(){return i});n(3),n(7);var i={properties:{focused:{type:Boolean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,notify:!0,observer:"_disabledChanged",reflectToAttribute:!0},_oldTabIndex:{type:String},_boundFocusBlurHandler:{type:Function,value:function(){return this._focusBlurHandler.bind(this)}}},observers:["_changedControlState(focused, disabled)"],ready:function(){this.addEventListener("focus",this._boundFocusBlurHandler,!0),this.addEventListener("blur",this._boundFocusBlurHandler,!0)},_focusBlurHandler:function(e){this._setFocused("focus"===e.type)},_disabledChanged:function(e,t){this.setAttribute("aria-disabled",e?"true":"false"),this.style.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.getAttribute("tabindex"),this._setFocused(!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTabIndex&&(null===this._oldTabIndex?this.removeAttribute("tabindex"):this.setAttribute("tabindex",this._oldTabIndex))},_changedControlState:function(){this._controlStateChanged&&this._controlStateChanged()}}},function(e,t,n){"use strict";n.d(t,"a",function(){return b});n(3);var i={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},o={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:"*"},r={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},a=/[a-z0-9*]/,s=/U\+/,l=/^arrow/,c=/^space(bar)?/,d=/^escape$/;function u(e,t){var n="";if(e){var i=e.toLowerCase();" "===i||c.test(i)?n="space":d.test(i)?n="esc":1==i.length?t&&!a.test(i)||(n=i):n=l.test(i)?i.replace("arrow",""):"multiply"==i?"*":i}return n}function p(e,t){return e.key?u(e.key,t):e.detail&&e.detail.key?u(e.detail.key,t):(n=e.keyIdentifier,r="",n&&(n in i?r=i[n]:s.test(n)?(n=parseInt(n.replace("U+","0x"),16),r=String.fromCharCode(n).toLowerCase()):r=n.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):o[e]),t}(e.keyCode)||"");var n,r}function h(e,t){return p(t,e.hasModifiers)===e.key&&(!e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKey==!!e.metaKey)}function f(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 r?(e[r[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=o||"keydown"),e},{combo:e.split(":").shift()})}(e)})}var b={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=f(t),i=0;i2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;t!==n;){var o=t.nextSibling;e.insertBefore(t,i),t=o}},r=function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;t!==n;){var i=t.nextSibling;e.removeChild(t),t=i}}},,function(e,t,n){"use strict";n(3),n(40);var i=n(5);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n"]);return o=function(){return e},e}var r=Object(i.a)(o());r.setAttribute("style","display: none;"),document.head.appendChild(r.content)},,,function(e,t,n){"use strict";function i(e){return(i="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})(e)}n.d(t,"c",function(){return r}),n.d(t,"a",function(){return a}),n.d(t,"b",function(){return s});var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function r(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return(a=Object.assign||function(e){for(var t,n=1,i=arguments.length;n=0;l--)(r=e[l])&&(s=(a<3?r(s):a>3?r(t,n,s):r(t,n))||s);return a>3&&s&&Object.defineProperty(t,n,s),s}},,,,function(e,t,n){"use strict";n.d(t,"b",function(){return f}),n.d(t,"a",function(){return b});var i=n(27),o=n(19);function r(e){return(r="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})(e)}function a(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e,t,n){return(s="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n-1||n)&&-1===r.indexOf("--\x3e",a+1);var s=o.e.exec(r);t+=null===s?r+(n?h:o.g):r.substr(0,s.index)+s[1]+s[2]+o.b+s[3]+o.f}return t+=this.strings[e]}},{key:"getTemplateElement",value:function(){var e=document.createElement("template");return e.innerHTML=this.getHTML(),e}}]),e}(),b=function(e){function t(){return d(this,t),a(this,l(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");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(t,f),p(t,[{key:"getHTML",value:function(){return"".concat(s(l(t.prototype),"getHTML",this).call(this),"")}},{key:"getTemplateElement",value:function(){var e=s(l(t.prototype),"getTemplateElement",this).call(this),n=e.content,o=n.firstChild;return n.removeChild(o),Object(i.c)(n,o.firstChild),e}}]),t}()},function(e,t,n){"use strict";n.d(t,"b",function(){return o}),n.d(t,"a",function(){return r});var i=n(19);function o(e){var t=r.get(e.type);void 0===t&&(t={stringsArray:new WeakMap,keyString:new Map},r.set(e.type,t));var n=t.stringsArray.get(e.strings);if(void 0!==n)return n;var o=e.strings.join(i.f);return void 0===(n=t.keyString.get(o))&&(n=new i.a(e,e.getTemplateElement()),t.keyString.set(o,n)),t.stringsArray.set(e.strings,n),n}var r=new Map},function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return a});n(3),n(23);var i=n(24),o=n(7),r={properties:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectToAttribute:!0,observer:"_pressedChanged"},toggles:{type:Boolean,value:!1,reflectToAttribute:!0},active:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},pointerDown:{type:Boolean,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Boolean,readOnly:!0},ariaActiveAttribute:{type:String,value:"aria-pressed",observer:"_ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler",tap:"_tapHandler"},observers:["_focusChanged(focused)","_activeChanged(active, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mouse/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this.active=!1},_focusChanged:function(e){this._detectKeyboardFocus(e),e||this._setPressed(!1)},_detectKeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(!this.pointerDown&&e)},_userActivate:function(e){this.active!==e&&(this.active=e,this.fire("change"))},_downHandler:function(e){this._setPointerDown(!0),this._setPressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._setPointerDown(!1),this._setPressed(!1)},_spaceKeyDownHandler:function(e){var t=e.detail.keyboardEvent,n=Object(o.a)(t).localTarget;this.isLightDescendant(n)||(t.preventDefault(),t.stopImmediatePropagation(),this._setPressed(!0))},_spaceKeyUpHandler:function(e){var t=e.detail.keyboardEvent,n=Object(o.a)(t).localTarget;this.isLightDescendant(n)||(this.pressed&&this._asyncClick(),this._setPressed(!1))},_asyncClick:function(){this.async(function(){this.click()},1)},_pressedChanged:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:function(e,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:function(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false"):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()},_controlStateChanged:function(){this.disabled?this._setPressed(!1):this._changedButtonState()},_changedButtonState:function(){this._buttonStateChanged&&this._buttonStateChanged()}},a=[i.a,r]},function(e,t,n){"use strict";n(3);var i=n(5);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n']);return o=function(){return e},e}var r=Object(i.a)(o());r.setAttribute("style","display: none;"),document.head.appendChild(r.content)},,function(e,t,n){"use strict";n(3),n(10);var i=n(6),o=n(5);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return r=function(){return e},e}Object(i.a)({_template:Object(o.a)(r()),is:"app-toolbar"})},,,function(e,t,n){"use strict";n(3);var i=n(6),o=n(5);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n
    [[_text]]
    \n']);return r=function(){return e},e}var a=Object(i.a)({_template:Object(o.a)(r()),is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){a.instance||(a.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)}});a.instance=null,a.requestAvailability=function(){a.instance||(a.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(a.instance)};var s=n(55),l=n(7);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return c=function(){return e},e}Object(i.a)({_template:Object(o.a)(c()),is:"iron-input",behaviors:[s.a],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(){a.requestAvailability(),this._previousValidInput="",this._patternAlreadyChecked=!1},attached:function(){this._observer=Object(l.a)(this).observeNodes(function(e){this._initSlottedInput()}.bind(this))},detached:function(){this._observer&&(Object(l.a)(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"]);return u=function(){return e},e}Object(i.a)({_template:Object(o.a)(u()),is:"paper-input-char-counter",behaviors:[d],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}}});n(10),n(11);var p=n(47);function h(){var e=b(['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n']);return h=function(){return e},e}function f(){var e=b(['\n\n \n\n']);return f=function(){return e},e}function b(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var v=Object(o.a)(f());function m(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \x3c!--\n If the paper-input-error element is directly referenced by an\n `aria-describedby` attribute, such as when used as a paper-input add-on,\n then applying `visibility: hidden;` to the paper-input-error element itself\n does not hide the error.\n\n For more information, see:\n https://www.w3.org/TR/accname-1.1/#mapping_additional_nd_description\n --\x3e\n
    \n \n
    \n'],['\n \n\n \x3c!--\n If the paper-input-error element is directly referenced by an\n \\`aria-describedby\\` attribute, such as when used as a paper-input add-on,\n then applying \\`visibility: hidden;\\` to the paper-input-error element itself\n does not hide the error.\n\n For more information, see:\n https://www.w3.org/TR/accname-1.1/#mapping_additional_nd_description\n --\x3e\n
    \n \n
    \n']);return m=function(){return e},e}v.setAttribute("style","display: none;"),document.head.appendChild(v.content),Object(i.a)({_template:Object(o.a)(h()),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 Object(p.b)(this.attrForValue)},get _inputElement(){return Object(l.a)(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||""===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}}),Object(i.a)({_template:Object(o.a)(m()),is:"paper-input-error",behaviors:[d],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}});var y=n(70),g=(n(61),n(24)),_=n(23),w=n(31),x={NextLabelID:1,NextAddonID:1,NextInputID:1},k={properties:{label:{type:String},value:{notify:!0,type:String},disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0},allowedPattern:{type:String},type:{type:String},list:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},errorMessage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:Boolean,value:!1},validator:{type:String},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},minlength:{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String},step:{type:String},name:{type:String},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value:"none"},autocorrect:{type:String,value:"off"},autosave:{type:String},results:{type:Number},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type:String,value:""},_ariaLabelledBy:{type:String,value:""},_inputId:{type:String,value:""}},listeners:{"addon-attached":"_onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hostAttributes:{tabindex:0},get inputElement(){return this.$||(this.$={}),this.$.input||(this._generateInputId(),this.$.input=this.$$("#"+this._inputId)),this.$.input},get _focusableElement(){return this.inputElement},created:function(){this._typesThatHaveText=["date","datetime","datetime-local","month","time","week","file"]},attached:function(){this._updateAriaLabelledBy(),!w.a&&this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.inputElement.type)&&(this.alwaysFloatLabel=!0)},_appendStringWithSpace:function(e,t){return e=e?e+" "+t:t},_onAddonAttached:function(e){var t=Object(l.a)(e).rootTarget;if(t.id)this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,t.id);else{var n="paper-input-add-on-"+x.NextAddonID++;t.id=n,this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,n)}},validate:function(){return this.inputElement.validate()},_focusBlurHandler:function(e){_.a._focusBlurHandler.call(this,e),this.focused&&!this._shiftTabPressed&&this._focusableElement&&this._focusableElement.focus()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");this._shiftTabPressed=!0,this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t),this._shiftTabPressed=!1},1)},_handleAutoValidate:function(){this.autoValidate&&this.validate()},updateValueAndPreserveCaret:function(e){try{var t=this.inputElement.selectionStart;this.value=e,this.inputElement.selectionStart=t,this.inputElement.selectionEnd=t}catch(n){this.value=e}},_computeAlwaysFloatLabel:function(e,t){return t||e},_updateAriaLabelledBy:function(){var e,t=Object(l.a)(this.root).querySelector("label");t?(t.id?e=t.id:(e="paper-input-label-"+x.NextLabelID++,t.id=e),this._ariaLabelledBy=e):this._ariaLabelledBy=""},_generateInputId:function(){this._inputId&&""!==this._inputId||(this._inputId="input-"+x.NextInputID++)},_onChange:function(e){this.shadowRoot&&this.fire(e.type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelable})},_autofocusChanged:function(){if(this.autofocus&&this._focusableElement){var e=document.activeElement;e instanceof HTMLElement&&e!==document.body&&e!==document.documentElement||this._focusableElement.focus()}}},S=[_.a,g.a,k];function C(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n\n \n\n \n\n \x3c!-- Need to bind maxlength so that the paper-input-char-counter works correctly --\x3e\n \n \n \n\n \n\n \n\n \n\n \n ']);return C=function(){return e},e}Object(i.a)({is:"paper-input",_template:Object(o.a)(C()),behaviors:[S,y.a],properties:{value:{type:String}},get _focusableElement(){return this.inputElement._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)}})},,,,,function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return r});var i=new WeakMap,o=function(e){return function(){var t=e.apply(void 0,arguments);return i.set(t,!0),t}},r=function(e){return"function"==typeof e&&i.has(e)}},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return o});var i={},o={}},function(e,t,n){"use strict";n.d(t,"a",function(){return s});var i=n(27),o=n(19);function r(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t1)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");var n=t.committer,r=n.element;o.has(t)||(r.className=n.strings.join(" "));var a=r.classList,s=o.get(t);for(var l in s)l in e||a.remove(l);for(var c in e){var d=e[c];if(!s||d!==s[c])a[d?"add":"remove"](c)}o.set(t,e)}})},,function(e,t,n){"use strict";n.d(t,"a",function(){return r});n(3);var i=n(64),o=null,r={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1,observer:"_invalidChanged"}},registered:function(){o=new i.a({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},get _validator(){return o&&o.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)}}},,,,,,,,,,function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return s});n(3);var i=n(38),o=n(23),r=n(66),a={observers:["_focusedChanged(receivedFocusFromKeyboard)"],_focusedChanged:function(e){e&&this.ensureRipple(),this.hasRipple()&&(this._ripple.holdDown=e)},_createRipple:function(){var e=r.a._createRipple();return e.id="ink",e.setAttribute("center",""),e.classList.add("circle"),e}},s=[i.a,o.a,r.a,a]},function(e,t,n){"use strict";n.d(t,"a",function(){return r});n(3),n(89);var i=n(38),o=n(7),r={properties:{noink:{type:Boolean,observer:"_noinkChanged"},_rippleContainer:{type:Object}},_buttonStateChanged:function(){this.focused&&this.ensureRipple()},_downHandler:function(e){i.b._downHandler.call(this,e),this.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if(!this.hasRipple()){this._ripple=this._createRipple(),this._ripple.noink=this.noink;var t=this._rippleContainer||this.root;if(t&&Object(o.a)(t).appendChild(this._ripple),e){var n=Object(o.a)(this._rippleContainer||this),i=Object(o.a)(e).rootTarget;n.deepContains(i)&&this._ripple.uiDownAction(e)}}},getRipple:function(){return this.ensureRipple(),this._ripple},hasRipple:function(){return Boolean(this._ripple)},_createRipple:function(){return document.createElement("paper-ripple")},_noinkChanged:function(e){this.hasRipple()&&(this._ripple.noink=e)}}},function(e,t,n){"use strict";n(3),n(40),n(94);var i=n(6),o=n(5),r=n(95);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n']);return a=function(){return e},e}var s=Object(o.a)(a());s.setAttribute("strip-whitespace",""),Object(i.a)({_template:s,is:"paper-spinner-lite",behaviors:[r.a]})},function(e,t,n){"use strict";var i=function(e,t){return e.length===t.length&&e.every(function(e,n){return i=e,o=t[n],i===o;var i,o})};t.a=function(e,t){var n;void 0===t&&(t=i);var o,r=[],a=!1;return function(){for(var i=arguments.length,s=new Array(i),l=0;l-1&&(this._interestedResizables.splice(t,1),this._unsubscribeIronResize(e))},_subscribeIronResize:function(e){e.addEventListener("iron-resize",this._boundOnDescendantIronResize)},_unsubscribeIronResize:function(e){e.removeEventListener("iron-resize",this._boundOnDescendantIronResize)},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():o.f||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Object(i.a)(e).rootTarget;t!==this&&(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._findParent(),this._parentResizable?this._parentResizable._interestedResizables.forEach(function(e){e!==this&&e._findParent()},this):(r.forEach(function(e){e!==this&&e._findParent()},this),window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},_findParent:function(){this.assignParentResizable(null),this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable?r.delete(this):r.add(this)}}},function(e,t,n){"use strict";n.d(t,"a",function(){return i});n(3);var i={properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boolean,value:!1}},attached:function(){},detached:function(){}}},function(e,t,n){"use strict";n.d(t,"a",function(){return a});n(3);var i=n(7),o=Element.prototype,r=o.matches||o.matchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector||o.webkitMatchesSelector,a={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t},isFocusable:function(e){return r.call(e,"input, select, textarea, button, object")?r.call(e,":not([disabled])"):r.call(e,"a[href], area[href], iframe, [tabindex], [contentEditable]")},isTabbable:function(e){return this.isFocusable(e)&&r.call(e,':not([tabindex="-1"])')&&this._isVisible(e)},_normalizedTabIndex:function(e){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!this._isVisible(e))return!1;var n,o=e,r=this._normalizedTabIndex(o),a=r>0;r>=0&&t.push(o),n="content"===o.localName||"slot"===o.localName?Object(i.a)(o).getDistributedNodes():Object(i.a)(o.root||o).children;for(var s=0;s0&&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}}},,,,,function(e,t,n){"use strict";n(3);var i=n(7),o={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=Object(i.a)(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)&&this.positionTarget},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],d=r.margin[l?n:i],u="offset"+o,p=this[u]-this.sizingTarget[u];this.sizingTarget.style["max"+o]=s-d-c-p+"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"]);return d=function(){return e},e}Object(l.a)({_template:Object(c.a)(d()),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&&Object(i.a)(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Object(i.a)(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 u=n(24),p=n(48),h=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,p.a(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)};h.prototype={constructor:h,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!=!1||(e=document.body);e.root&&Object(i.a)(e.root).activeElement;)e=Object(i.a)(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;t=0||(0===k.length&&function(){f=f||function(e){e.cancelable&&function(e){var t=Object(i.a)(e).rootTarget;"touchmove"!==e.type&&y!==t&&(y=t,g=function(e){for(var t=[],n=e.indexOf(b),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}(Object(i.a)(e).path));if(!g.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=m.pageX-n.pageX,t.deltaY=m.pageY-n.pageY}return t}(e);return!function(e,t,n){if(!t&&!n)return;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)}},C=[o,r.a,S]},,,function(e,t,n){"use strict";n(3);var i=n(24),o=n(81),r={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)):o.a._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});this._selection.clear(t);for(var n=0;n=0}},{key:"setItemSelected",value: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)}}},{key:"select",value:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))}},{key:"toggle",value:function(e){this.setItemSelected(e,!this.isSelected(e))}}])&&r(t.prototype,n),i&&r(t,i),e}();n.d(t,"a",function(){return s});var s={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 a(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._addListener(this.activateEvent)},detached:function(){this._observer&&Object(i.a)(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=e-1;void 0!==this.selected&&(t=(Number(this._valueToIndex(this.selected))-1+e)%e),this.selected=this._indexToValue(t)},selectNext:function(){var e=0;void 0!==this.selected&&(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=Object(i.a)(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[Object(o.b)(this.attrForSelected)];return null!=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 Object(i.a)(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)}}},function(e,t,n){"use strict";n(3);var i={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}};n.d(t,"a",function(){return o});var o=[i,{_configureAnimations:function(e){var t=[],n=[];if(e.length>0)for(var i,o=0;i=e[o];o++){var r=document.createElement(i.name);if(r.isNeonAnimation){var a;r.configure||(r.configure=function(e){return null}),a=r.configure(i),n.push({result:a,config:i,neonAnimation:r})}else console.warn(this.is+":",i.name,"not found!")}for(var s=0;s\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']);return s=function(){return e},e}var l={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 c(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function d(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"),Object(r.a)(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}c.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var n=l.distance(e,t,0,0),i=l.distance(e,t,this.width,0),o=l.distance(e,t,0,this.height),r=l.distance(e,t,this.width,this.height);return Math.max(n,i,o,r)}},d.MAX_RADIUS=300,d.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=l.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?l.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),d.MAX_RADIUS)+5,i=1.1-n/d.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,d.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,d.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 c(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=l.now(),this.center?(this.xStart=t,this.yStart=n,this.slideDistance=l.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=l.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=l.now())},remove:function(){Object(r.a)(this.waveContainer.parentNode).removeChild(this.waveContainer)}},Object(o.a)({_template:Object(a.a)(s()),is:"paper-ripple",behaviors:[i.a],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=Object(r.a)(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 d(this);return Object(r.a)(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 \n",document.head.appendChild(i.content)},function(e,t,n){"use strict";n.d(t,"a",function(){return i});n(3);var i={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}}},function(e,t,n){"use strict";n(3),n(10);var i=n(6),o=n(7),r=n(5),a=n(97);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n\n
    \n \n
    \n
    \n'],['\n \n\n
    \n \n\n
    \n \n
    \n
    \n']);return s=function(){return e},e}Object(i.a)({_template:Object(r.a)(s()),is:"app-header-layout",behaviors:[a.a],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Object(o.a)(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="")}}})},function(e,t,n){"use strict";n.d(t,"a",function(){return l});n(3);var i=n(69),o=n(7),r=n(26),a=n(28),s=n(30),l=[i.a,{listeners:{"app-reset-layout":"_appResetLayoutHandler","iron-resize":"resetLayout"},attached:function(){this.fire("app-reset-layout")},_appResetLayoutHandler:function(e){Object(o.a)(e).path[0]!==this&&(this.resetLayout(),e.stopPropagation())},_updateLayoutStates:function(){console.error("unimplemented")},resetLayout:function(){var e=this._updateLayoutStates.bind(this);this._layoutDebouncer=a.a.debounce(this._layoutDebouncer,r.a,e),Object(s.a)(this._layoutDebouncer),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)}}]},function(e,t,n){"use strict";n(3),n(10);var i=n(38),o=n(23),r=n(66),a=n(6),s=n(7),l=n(5);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    \n']);return c=function(){return e},e}Object(a.a)({_template:Object(l.a)(c()),is:"paper-tab",behaviors:[o.a,i.a,r.a],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},get _parentNoink(){var e=Object(s.a)(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()}}})},function(e,t,n){"use strict";n.d(t,"b",function(){return o}),n.d(t,"a",function(){return r});n(3);var i=n(79),o={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)}},r=[i.a,o]},function(e,t,n){"use strict";n(3),n(11),n(10);var i=n(112),o=n(6),r=n(5),a=n(62);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n\n
    \n
    \n
    \n
    \n\n
    '],['\n\n\n
    \n
    \n
    \n
    \n\n
    ']);return s=function(){return e},e}var l=Object(r.a)(s());l.setAttribute("strip-whitespace",""),Object(o.a)({_template:l,is:"paper-radio-button",behaviors:[i.a],hostAttributes:{role:"radio","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},ready:function(){this._rippleContainer=this.$.radioContainer},attached:function(){Object(a.a)(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"})}})}})},,,,,,,function(e,t,n){"use strict";var i;function o(e,t){if(void 0===e&&(e=window),void 0===t&&(t=!1),void 0===i||t){var n=!1;try{e.document.addEventListener("test",function(){},{get passive(){return n=!0}})}catch(o){}i=n}return!!i&&{passive:!0}}function r(e,t){return(e.matches||e.webkitMatchesSelector||e.msMatchesSelector).call(e,t)}var a,s=n(32),l=n(90),c={BG_FOCUSED:"mdc-ripple-upgraded--background-focused",FG_ACTIVATION:"mdc-ripple-upgraded--foreground-activation",FG_DEACTIVATION:"mdc-ripple-upgraded--foreground-deactivation",ROOT:"mdc-ripple-upgraded",UNBOUNDED:"mdc-ripple-upgraded--unbounded"},d={VAR_FG_SCALE:"--mdc-ripple-fg-scale",VAR_FG_SIZE:"--mdc-ripple-fg-size",VAR_FG_TRANSLATE_END:"--mdc-ripple-fg-translate-end",VAR_FG_TRANSLATE_START:"--mdc-ripple-fg-translate-start",VAR_LEFT:"--mdc-ripple-left",VAR_TOP:"--mdc-ripple-top"},u={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300};var p=["touchstart","pointerdown","mousedown","keydown"],h=["touchend","pointerup","mouseup","contextmenu"],f=[],b=function(e){function t(n){var i=e.call(this,s.a({},t.defaultAdapter,n))||this;return i.activationAnimationHasEnded_=!1,i.activationTimer_=0,i.fgDeactivationRemovalTimer_=0,i.fgScale_="0",i.frame_={width:0,height:0},i.initialSize_=0,i.layoutFrame_=0,i.maxRadius_=0,i.unboundedCoords_={left:0,top:0},i.activationState_=i.defaultActivationState_(),i.activationTimerCallback_=function(){i.activationAnimationHasEnded_=!0,i.runDeactivationUXLogicIfReady_()},i.activateHandler_=function(e){return i.activate_(e)},i.deactivateHandler_=function(){return i.deactivate_()},i.focusHandler_=function(){return i.handleFocus()},i.blurHandler_=function(){return i.handleBlur()},i.resizeHandler_=function(){return i.layout()},i}return s.c(t,e),Object.defineProperty(t,"cssClasses",{get:function(){return c},enumerable:!0,configurable:!0}),Object.defineProperty(t,"strings",{get:function(){return d},enumerable:!0,configurable:!0}),Object.defineProperty(t,"numbers",{get:function(){return u},enumerable:!0,configurable:!0}),Object.defineProperty(t,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!0,configurable:!0}),t.prototype.init=function(){var e=this,n=this.supportsPressRipple_();if(this.registerRootHandlers_(n),n){var i=t.cssClasses,o=i.ROOT,r=i.UNBOUNDED;requestAnimationFrame(function(){e.adapter_.addClass(o),e.adapter_.isUnbounded()&&(e.adapter_.addClass(r),e.layoutInternal_())})}},t.prototype.destroy=function(){var e=this;if(this.supportsPressRipple_()){this.activationTimer_&&(clearTimeout(this.activationTimer_),this.activationTimer_=0,this.adapter_.removeClass(t.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer_&&(clearTimeout(this.fgDeactivationRemovalTimer_),this.fgDeactivationRemovalTimer_=0,this.adapter_.removeClass(t.cssClasses.FG_DEACTIVATION));var n=t.cssClasses,i=n.ROOT,o=n.UNBOUNDED;requestAnimationFrame(function(){e.adapter_.removeClass(i),e.adapter_.removeClass(o),e.removeCssVars_()})}this.deregisterRootHandlers_(),this.deregisterDeactivationHandlers_()},t.prototype.activate=function(e){this.activate_(e)},t.prototype.deactivate=function(){this.deactivate_()},t.prototype.layout=function(){var e=this;this.layoutFrame_&&cancelAnimationFrame(this.layoutFrame_),this.layoutFrame_=requestAnimationFrame(function(){e.layoutInternal_(),e.layoutFrame_=0})},t.prototype.setUnbounded=function(e){var n=t.cssClasses.UNBOUNDED;e?this.adapter_.addClass(n):this.adapter_.removeClass(n)},t.prototype.handleFocus=function(){var e=this;requestAnimationFrame(function(){return e.adapter_.addClass(t.cssClasses.BG_FOCUSED)})},t.prototype.handleBlur=function(){var e=this;requestAnimationFrame(function(){return e.adapter_.removeClass(t.cssClasses.BG_FOCUSED)})},t.prototype.supportsPressRipple_=function(){return this.adapter_.browserSupportsCssVars()},t.prototype.defaultActivationState_=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},t.prototype.registerRootHandlers_=function(e){var t=this;e&&(p.forEach(function(e){t.adapter_.registerInteractionHandler(e,t.activateHandler_)}),this.adapter_.isUnbounded()&&this.adapter_.registerResizeHandler(this.resizeHandler_)),this.adapter_.registerInteractionHandler("focus",this.focusHandler_),this.adapter_.registerInteractionHandler("blur",this.blurHandler_)},t.prototype.registerDeactivationHandlers_=function(e){var t=this;"keydown"===e.type?this.adapter_.registerInteractionHandler("keyup",this.deactivateHandler_):h.forEach(function(e){t.adapter_.registerDocumentInteractionHandler(e,t.deactivateHandler_)})},t.prototype.deregisterRootHandlers_=function(){var e=this;p.forEach(function(t){e.adapter_.deregisterInteractionHandler(t,e.activateHandler_)}),this.adapter_.deregisterInteractionHandler("focus",this.focusHandler_),this.adapter_.deregisterInteractionHandler("blur",this.blurHandler_),this.adapter_.isUnbounded()&&this.adapter_.deregisterResizeHandler(this.resizeHandler_)},t.prototype.deregisterDeactivationHandlers_=function(){var e=this;this.adapter_.deregisterInteractionHandler("keyup",this.deactivateHandler_),h.forEach(function(t){e.adapter_.deregisterDocumentInteractionHandler(t,e.deactivateHandler_)})},t.prototype.removeCssVars_=function(){var e=this,n=t.strings;Object.keys(n).forEach(function(t){0===t.indexOf("VAR_")&&e.adapter_.updateCssVariable(n[t],null)})},t.prototype.activate_=function(e){var t=this;if(!this.adapter_.isSurfaceDisabled()){var n=this.activationState_;if(!n.isActivated){var i=this.previousActivationEvent_;if(!(i&&void 0!==e&&i.type!==e.type))n.isActivated=!0,n.isProgrammatic=void 0===e,n.activationEvent=e,n.wasActivatedByPointer=!n.isProgrammatic&&(void 0!==e&&("mousedown"===e.type||"touchstart"===e.type||"pointerdown"===e.type)),void 0!==e&&f.length>0&&f.some(function(e){return t.adapter_.containsEventTarget(e)})?this.resetActivationState_():(void 0!==e&&(f.push(e.target),this.registerDeactivationHandlers_(e)),n.wasElementMadeActive=this.checkElementMadeActive_(e),n.wasElementMadeActive&&this.animateActivation_(),requestAnimationFrame(function(){f=[],n.wasElementMadeActive||void 0===e||" "!==e.key&&32!==e.keyCode||(n.wasElementMadeActive=t.checkElementMadeActive_(e),n.wasElementMadeActive&&t.animateActivation_()),n.wasElementMadeActive||(t.activationState_=t.defaultActivationState_())}))}}},t.prototype.checkElementMadeActive_=function(e){return void 0===e||"keydown"!==e.type||this.adapter_.isSurfaceActive()},t.prototype.animateActivation_=function(){var e=this,n=t.strings,i=n.VAR_FG_TRANSLATE_START,o=n.VAR_FG_TRANSLATE_END,r=t.cssClasses,a=r.FG_DEACTIVATION,s=r.FG_ACTIVATION,l=t.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal_();var c="",d="";if(!this.adapter_.isUnbounded()){var u=this.getFgTranslationCoordinates_(),p=u.startPoint,h=u.endPoint;c=p.x+"px, "+p.y+"px",d=h.x+"px, "+h.y+"px"}this.adapter_.updateCssVariable(i,c),this.adapter_.updateCssVariable(o,d),clearTimeout(this.activationTimer_),clearTimeout(this.fgDeactivationRemovalTimer_),this.rmBoundedActivationClasses_(),this.adapter_.removeClass(a),this.adapter_.computeBoundingRect(),this.adapter_.addClass(s),this.activationTimer_=setTimeout(function(){return e.activationTimerCallback_()},l)},t.prototype.getFgTranslationCoordinates_=function(){var e,t=this.activationState_,n=t.activationEvent;return{startPoint:e={x:(e=t.wasActivatedByPointer?function(e,t,n){if(!e)return{x:0,y:0};var i,o,r=t.x,a=t.y,s=r+n.left,l=a+n.top;if("touchstart"===e.type){var c=e;i=c.changedTouches[0].pageX-s,o=c.changedTouches[0].pageY-l}else{var d=e;i=d.pageX-s,o=d.pageY-l}return{x:i,y:o}}(n,this.adapter_.getWindowPageOffset(),this.adapter_.computeBoundingRect()):{x:this.frame_.width/2,y:this.frame_.height/2}).x-this.initialSize_/2,y:e.y-this.initialSize_/2},endPoint:{x:this.frame_.width/2-this.initialSize_/2,y:this.frame_.height/2-this.initialSize_/2}}},t.prototype.runDeactivationUXLogicIfReady_=function(){var e=this,n=t.cssClasses.FG_DEACTIVATION,i=this.activationState_,o=i.hasDeactivationUXRun,r=i.isActivated;(o||!r)&&this.activationAnimationHasEnded_&&(this.rmBoundedActivationClasses_(),this.adapter_.addClass(n),this.fgDeactivationRemovalTimer_=setTimeout(function(){e.adapter_.removeClass(n)},u.FG_DEACTIVATION_MS))},t.prototype.rmBoundedActivationClasses_=function(){var e=t.cssClasses.FG_ACTIVATION;this.adapter_.removeClass(e),this.activationAnimationHasEnded_=!1,this.adapter_.computeBoundingRect()},t.prototype.resetActivationState_=function(){var e=this;this.previousActivationEvent_=this.activationState_.activationEvent,this.activationState_=this.defaultActivationState_(),setTimeout(function(){return e.previousActivationEvent_=void 0},t.numbers.TAP_DELAY_MS)},t.prototype.deactivate_=function(){var e=this,t=this.activationState_;if(t.isActivated){var n=s.a({},t);t.isProgrammatic?(requestAnimationFrame(function(){return e.animateDeactivation_(n)}),this.resetActivationState_()):(this.deregisterDeactivationHandlers_(),requestAnimationFrame(function(){e.activationState_.hasDeactivationUXRun=!0,e.animateDeactivation_(n),e.resetActivationState_()}))}},t.prototype.animateDeactivation_=function(e){var t=e.wasActivatedByPointer,n=e.wasElementMadeActive;(t||n)&&this.runDeactivationUXLogicIfReady_()},t.prototype.layoutInternal_=function(){var e=this;this.frame_=this.adapter_.computeBoundingRect();var n=Math.max(this.frame_.height,this.frame_.width);this.maxRadius_=this.adapter_.isUnbounded()?n:Math.sqrt(Math.pow(e.frame_.width,2)+Math.pow(e.frame_.height,2))+t.numbers.PADDING,this.initialSize_=Math.floor(n*t.numbers.INITIAL_ORIGIN_SCALE),this.fgScale_=""+this.maxRadius_/this.initialSize_,this.updateLayoutCssVars_()},t.prototype.updateLayoutCssVars_=function(){var e=t.strings,n=e.VAR_FG_SIZE,i=e.VAR_LEFT,o=e.VAR_TOP,r=e.VAR_FG_SCALE;this.adapter_.updateCssVariable(n,this.initialSize_+"px"),this.adapter_.updateCssVariable(r,this.fgScale_),this.adapter_.isUnbounded()&&(this.unboundedCoords_={left:Math.round(this.frame_.width/2-this.initialSize_/2),top:Math.round(this.frame_.height/2-this.initialSize_/2)},this.adapter_.updateCssVariable(i,this.unboundedCoords_.left+"px"),this.adapter_.updateCssVariable(o,this.unboundedCoords_.top+"px"))},t}(l.a),v=n(13),m=n(4);function y(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}"]);return y=function(){return e},e}var g=Object(m.c)(y());n.d(t,"a",function(){return C});var _=function(e,t){void 0===t&&(t=!1);var n=e.CSS,i=a;if("boolean"==typeof a&&!t)return a;if(!n||"function"!=typeof n.supports)return!1;var o=n.supports("--css-vars","yes"),r=n.supports("(--css-vars: yes)")&&n.supports("color","#00000000");return i=!(!o&&!r||function(e){var t=e.document,n=t.createElement("div");n.className="mdc-ripple-surface--test-edge-var-bug",t.head.appendChild(n);var i=e.getComputedStyle(n),o=null!==i&&"solid"===i.borderTopStyle;return n.parentNode&&n.parentNode.removeChild(n),o}(e)),t||(a=i),i}(window),w=navigator.userAgent.match(/Safari/),x=!1,k=function(e){w&&!x&&function(){x=!0;var e=new v.b({templateFactory:v.k});e.appendInto(document.head),e.setValue(g),e.commit()}();var t=e.surfaceNode,n=e.interactionNode||t;n.getRootNode()!==t.getRootNode()&&""===n.style.position&&(n.style.position="relative");var i=new b({browserSupportsCssVars:function(){return _},isUnbounded:function(){return void 0===e.unbounded||e.unbounded},isSurfaceActive:function(){return r(n,":active")},isSurfaceDisabled:function(){return Boolean(e.disabled)},addClass:function(e){return t.classList.add(e)},removeClass:function(e){return t.classList.remove(e)},containsEventTarget:function(e){return n.contains(e)},registerInteractionHandler:function(e,t){return n.addEventListener(e,t,o())},deregisterInteractionHandler:function(e,t){return n.removeEventListener(e,t,o())},registerDocumentInteractionHandler:function(e,t){return document.documentElement.addEventListener(e,t,o())},deregisterDocumentInteractionHandler:function(e,t){return document.documentElement.removeEventListener(e,t,o())},registerResizeHandler:function(e){return window.addEventListener("resize",e)},deregisterResizeHandler:function(e){return window.removeEventListener("resize",e)},updateCssVariable:function(e,n){return t.style.setProperty(e,n)},computeBoundingRect:function(){return t.getBoundingClientRect()},getWindowPageOffset:function(){return{x:window.pageXOffset,y:window.pageYOffset}}});return i.init(),i},S=new WeakMap,C=Object(v.f)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=t.committer.element,i=e.interactionNode||n,o=t.value,r=S.get(o);void 0!==r&&r!==i&&(o.destroy(),o=v.h),o===v.h?(o=k(Object.assign({},e,{surfaceNode:n})),S.set(o,i),t.setValue(o)):(void 0!==e.unbounded&&o.setUnbounded(e.unbounded),void 0!==e.disabled&&o.setUnbounded(e.disabled)),!0===e.active?o.activate():!1===e.active&&o.deactivate()}})},function(e,t,n){"use strict";n(3);var i=n(24),o=n(23),r=n(76),a=n(82),s=n(6),l=n(7),c=n(5);function d(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    \n']);return d=function(){return e},e}Object(s.a)({_template:Object(c.a)(d()),is:"iron-dropdown",behaviors:[o.a,i.a,r.a,a.a],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=Object(l.a)(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']);return p=function(){return e},e}Object(s.a)({is:"paper-menu-grow-height-animation",behaviors:[u],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this._effect=new KeyframeEffect(t,[{height:n/2+"px"},{height:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(s.a)({is:"paper-menu-grow-width-animation",behaviors:[u],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n/2+"px"},{width:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(s.a)({is:"paper-menu-shrink-width-animation",behaviors:[u],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n+"px"},{width:n-n/20+"px"}],this.timingFromConfig(e)),this._effect}}),Object(s.a)({is:"paper-menu-shrink-height-animation",behaviors:[u],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this.setPrefixedProperty(t,"transformOrigin","0 0"),this._effect=new KeyframeEffect(t,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(e)),this._effect}});var h={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},f=Object(s.a)({_template:Object(c.a)(p()),is:"paper-menu-button",behaviors:[i.a,o.a],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:h.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:h.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:h.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=Object(l.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t-1&&e.preventDefault()}});Object.keys(h).forEach(function(e){f[e]=h[e]})},function(e,t,n){"use strict";n(3),n(10);var i=n(6),o=n(7),r=n(5),a=n(97);function s(e){return(s="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})(e)}var l={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]:Object(o.a)(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"===s(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)}},c={},d=[l,{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)},attached:function(){this._scrollStateChanged()},detached:function(){this._tearDownEffects()},createEffect:function(e,t){var n=c[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=c[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(){this._scrollStateChanged()},_scrollStateChanged: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 ?"}}];function u(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n
    \n \n
    \n']);return u=function(){return e},e}Object(i.a)({_template:Object(r.a)(u()),is:"app-header",behaviors:[d,a.a],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=Object(o.a)(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=0,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 d=a/(c-this._lastTimestamp);this.style.transitionDuration=this._clamp((i-o)/d,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),Object(o.a)(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 Object(o.a)(this).querySelector("[main-title]");case"condensedTitle":return Object(o.a)(this).querySelector("[condensed-title]")}return null},getScrollState:function(){return{progress:this._progress,top:this._top}}})},,,function(e,t,n){"use strict";n(3);var i=n(70),o=n(55),r={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")}},a=[i.a,o.a,r],s=n(65),l=n(66);n.d(t,"a",function(){return d});var c={_checkedChanged:function(){r._checkedChanged.call(this),this.hasRipple()&&(this.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("checked"))},_buttonStateChanged:function(){l.a._buttonStateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}},d=[s.a,a,c]},function(e,t,n){"use strict";n(10),n(88),n(11),n(39),n(29)},function(e,t,n){"use strict";function i(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}n.d(t,"a",function(){return u}),"undefined"!=typeof Symbol&&(Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator"))),"undefined"!=typeof Symbol&&(Symbol.asyncIterator||(Symbol.asyncIterator=Symbol("Symbol.asyncIterator")));function o(e){return{type:"unsubscribe_events",subscription:e}}var r=function(e,t){this.options=t,this.commandId=1,this.commands=new Map,this.eventListeners=new Map,this.closeRequested=!1,this.setSocket(e)};r.prototype.setSocket=function(e){var t=this,n=this.socket;if(this.socket=e,e.addEventListener("message",function(e){return t._handleMessage(e)}),e.addEventListener("close",function(e){return t._handleClose(e)}),n){var i=this.commands;this.commandId=1,this.commands=new Map,i.forEach(function(e){"subscribe"in e&&e.subscribe().then(function(t){e.unsubscribe=t,e.resolve()})}),this.fireEvent("ready")}},r.prototype.addEventListener=function(e,t){var n=this.eventListeners.get(e);n||this.eventListeners.set(e,n=[]),n.push(t)},r.prototype.removeEventListener=function(e,t){var n=this.eventListeners.get(e);if(n){var i=n.indexOf(t);-1!==i&&n.splice(i,1)}},r.prototype.fireEvent=function(e,t){var n=this;(this.eventListeners.get(e)||[]).forEach(function(e){return e(n,t)})},r.prototype.close=function(){this.closeRequested=!0,this.socket.close()},r.prototype.subscribeEvents=function(e,t){try{return this.subscribeMessage(e,function(e){var t={type:"subscribe_events"};return e&&(t.event_type=e),t}(t))}catch(e){return Promise.reject(e)}},r.prototype.ping=function(){return this.sendMessagePromise({type:"ping"})},r.prototype.sendMessage=function(e,t){t||(t=this._genCmdId()),e.id=t,this.socket.send(JSON.stringify(e))},r.prototype.sendMessagePromise=function(e){var t=this;return new Promise(function(n,i){var o=t._genCmdId();t.commands.set(o,{resolve:n,reject:i}),t.sendMessage(e,o)})},r.prototype.subscribeMessage=function(e,t){try{var n,i=this,r=i._genCmdId();return Promise.resolve(new Promise(function(a,s){n={resolve:a,reject:s,callback:e,subscribe:function(){return i.subscribeMessage(e,t)},unsubscribe:function(){try{return Promise.resolve(i.sendMessagePromise(o(r))).then(function(){i.commands.delete(r)})}catch(e){return Promise.reject(e)}}},i.commands.set(r,n);try{i.sendMessage(t,r)}catch(e){}})).then(function(){return function(){return n.unsubscribe()}})}catch(e){return Promise.reject(e)}},r.prototype._handleMessage=function(e){var t=JSON.parse(e.data),n=this.commands.get(t.id);switch(t.type){case"event":n?n.callback(t.event):(console.warn("Received event for unknown subscription "+t.id+". Unsubscribing."),this.sendMessagePromise(o(t.id)));break;case"result":n&&(t.success?(n.resolve(t.result),"subscribe"in n||this.commands.delete(t.id)):(n.reject(t.error),this.commands.delete(t.id)));break;case"pong":n?(n.resolve(),this.commands.delete(t.id)):console.warn("Received unknown pong response "+t.id)}},r.prototype._handleClose=function(e){var t=this;if(this.commands.forEach(function(e){"subscribe"in e||e.reject({type:"result",success:!1,error:{code:3,message:"Connection lost"}})}),!this.closeRequested){this.fireEvent("disconnected");var n=Object.assign({},this.options,{setupRetry:0});!function e(o){var r=t;setTimeout(function(){try{var t=i(function(){return Promise.resolve(n.createSocket(n)).then(function(e){r.setSocket(e)})},function(t){2===t?r.fireEvent("reconnect-error",t):e(o+1)});return Promise.resolve(t&&t.then?t.then(function(){}):void 0)}catch(i){return Promise.reject(i)}},1e3*Math.min(o,5))}(0)}},r.prototype._genCmdId=function(){return++this.commandId};var a=function(e,t,n){try{var i="undefined"!=typeof location&&location;if(i&&"https:"===i.protocol){var o=document.createElement("a");if(o.href=e,"http:"===o.protocol&&"localhost"!==o.hostname)throw 5}var r=new FormData;return null!==t&&r.append("client_id",t),Object.keys(n).forEach(function(e){r.append(e,n[e])}),Promise.resolve(fetch(e+"/auth/token",{method:"POST",credentials:"same-origin",body:r})).then(function(n){if(!n.ok)throw 400===n.status||403===n.status?2:new Error("Unable to fetch tokens");return Promise.resolve(n.json()).then(function(n){return n.hassUrl=e,n.clientId=t,n.expires=s(n.expires_in),n})})}catch(e){return Promise.reject(e)}},s=function(e){return 1e3*e+Date.now()};var l=function(e,t){this.data=e,this._saveTokens=t},c={wsUrl:{configurable:!0},accessToken:{configurable:!0},expired:{configurable:!0}};c.wsUrl.get=function(){return"ws"+this.data.hassUrl.substr(4)+"/api/websocket"},c.accessToken.get=function(){return this.data.access_token},c.expired.get=function(){return Date.now()>this.data.expires},l.prototype.refreshAccessToken=function(){try{var e=this;return Promise.resolve(a(e.data.hassUrl,e.data.clientId,{grant_type:"refresh_token",refresh_token:e.data.refresh_token})).then(function(t){t.refresh_token=e.data.refresh_token,e.data=t,e._saveTokens&&e._saveTokens(t)})}catch(e){return Promise.reject(e)}},l.prototype.revoke=function(){try{var e=this,t=new FormData;return t.append("action","revoke"),t.append("token",e.data.refresh_token),Promise.resolve(fetch(e.data.hassUrl+"/auth/token",{method:"POST",credentials:"same-origin",body:t})).then(function(){e._saveTokens&&e._saveTokens(null)})}catch(e){return Promise.reject(e)}},Object.defineProperties(l.prototype,c);var d=function(e,t,n,i){if(e[t])return e[t];var o,r=0,a=function(e){var t=[];function n(n,i){e=i?n:Object.assign({},e,n);for(var o=t,r=0;r\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n']);return a=function(){return e},e}var s=Object(o.a)(a());s.setAttribute("strip-whitespace",""),Object(i.a)({_template:s,is:"paper-spinner",behaviors:[r.a]})},function(e,t,n){"use strict";n(3),n(11);var i=n(112),o=n(65),r=n(6),a=n(5),s=n(62);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n
    \n
    \n
    \n
    \n
    \n\n
    '],['\n\n
    \n
    \n
    \n
    \n
    \n\n
    ']);return l=function(){return e},e}var c=Object(a.a)(l());c.setAttribute("strip-whitespace",""),Object(r.a)({_template:c,is:"paper-checkbox",behaviors:[i.a],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){Object(s.a)(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,o.b._createRipple.call(this)}})},function(e,t,n){"use strict";n(3),n(24),n(100);var i=n(99),o=n(81),r=n(6),a=n(5);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return s=function(){return e},e}Object(r.a)({_template:Object(a.a)(s()),is:"paper-radio-group",behaviors:[i.a],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)}o.a.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){i.b._onLeftKey.apply(this,arguments),this._activateFocusedItem()},_onRightKey:function(e){i.b._onRightKey.apply(this,arguments),this._activateFocusedItem()}})},function(e,t,n){(function(e){var n,i,o,r;function a(e){return(a="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})(e)}r=function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==a(e)&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t){e.exports=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,n){function i(e){return(i="function"==typeof Symbol&&"symbol"==a(Symbol.iterator)?function(e){return a(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":a(e)})(e)}function o(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{limit:!1};this._log('---------\nSearch pattern: "'.concat(e,'"'));var n=this._prepareSearchers(e),i=n.tokenSearchers,o=n.fullSearcher,r=this._search(i,o),a=r.weights,s=r.results;return this._computeScore(a,s),this.options.shouldSort&&this._sort(s),t.limit&&"number"==typeof t.limit&&(s=s.slice(0,t.limit)),this._format(s)}},{key:"_prepareSearchers",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=[];if(this.options.tokenize)for(var n=e.split(this.options.tokenSeparator),i=0,o=n.length;i0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=this.list,i={},o=[];if("string"==typeof n[0]){for(var r=0,a=n.length;r1)throw new Error("Key weight has to be > 0 and <= 1");h=h.name}else s[h]={weight:1};this._analyze({key:h,value:this.options.getFn(d,h),record:d,index:l},{resultMap:i,results:o,tokenSearchers:e,fullSearcher:t})}return{weights:s,results:o}}},{key:"_analyze",value:function(e,t){var n=e.key,i=e.arrayIndex,o=void 0===i?-1:i,r=e.value,a=e.record,s=e.index,c=t.tokenSearchers,d=void 0===c?[]:c,u=t.fullSearcher,p=void 0===u?[]:u,h=t.resultMap,f=void 0===h?{}:h,b=t.results,v=void 0===b?[]:b;if(null!=r){var m=!1,y=-1,g=0;if("string"==typeof r){this._log("\nKey: ".concat(""===n?"-":n));var _=p.search(r);if(this._log('Full text: "'.concat(r,'", score: ').concat(_.score)),this.options.tokenize){for(var w=r.split(this.options.tokenSeparator),x=[],k=0;k-1&&(j=(j+y)/2),this._log("Score average:",j);var R=!this.options.tokenize||!this.options.matchAllTokens||g>=d.length;if(this._log("\nCheck Matches: ".concat(R)),(m||_.isMatch)&&R){var B=f[s];B?B.output.push({key:n,arrayIndex:o,value:r,score:j,matchedIndices:_.matchedIndices}):(f[s]={item:a,output:[{key:n,arrayIndex:o,value:r,score:j,matchedIndices:_.matchedIndices}]},v.push(f[s]))}}else if(l(r))for(var P=0,N=r.length;P-1&&(a.arrayIndex=r.arrayIndex),t.matches.push(a)}}}),this.options.includeScore&&o.push(function(e,t){t.score=e.score});for(var r=0,a=e.length;rn)return o(e,this.pattern,i);var a=this.options,s=a.location,l=a.distance,c=a.threshold,d=a.findAllMatches,u=a.minMatchCharLength;return r(e,this.pattern,this.patternAlphabet,{location:s,distance:l,threshold:c,findAllMatches:d,minMatchCharLength:u})}}])&&i(t.prototype,n),e}();e.exports=s},function(e,t){var n=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;e.exports=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/ +/g,o=new RegExp(t.replace(n,"\\$&").replace(i,"|")),r=e.match(o),a=!!r,s=[];if(a)for(var l=0,c=r.length;l=j;P-=1){var N=P-1,L=n[e.charAt(N)];if(L&&(w[N]=1),B[P]=(B[P+1]<<1|1)&L,0!==T&&(B[P]|=(C[P+1]|C[P])<<1|1|C[P+1]),B[P]&E&&(O=i(t,{errors:T,currentLocation:N,expectedLocation:v,distance:c}))<=y){if(y=O,(g=N)<=v)break;j=Math.max(1,2*v-g)}}if(i(t,{errors:T+1,currentLocation:v,expectedLocation:v,distance:c})>y)break;C=B}return{isMatch:g>=0,score:0===O?.001:O,matchedIndices:o(w,b)}}},function(e,t){e.exports=function(e,t){var n=t.errors,i=void 0===n?0:n,o=t.currentLocation,r=void 0===o?0:o,a=t.expectedLocation,s=void 0===a?0:a,l=t.distance,c=void 0===l?100:l,d=i/e.length,u=Math.abs(s-r);return c?d+u/c:u?1:d}},function(e,t){e.exports=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=[],i=-1,o=-1,r=0,a=e.length;r=t&&n.push([i,o]),i=-1)}return e[r-1]&&r-i>=t&&n.push([i,r-1]),n}},function(e,t){e.exports=function(e){for(var t={},n=e.length,i=0;i\n\n\n\n\n']);return o=function(){return e},e}var r=Object(i.a)(o());document.head.appendChild(r.content);n(98);var a=n(79),s=n(99),l=n(69),c=n(6),d=n(7);function u(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n'],['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n']);return u=function(){return e},e}Object(c.a)({_template:Object(i.a)(u()),is:"paper-tabs",behaviors:[l.a,s.a],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){Object(d.a)(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(),a.b._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")}})}]]); +//# sourceMappingURL=chunk.12902324b918e12549ba.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.6685a7f98b13655ab808.js.LICENSE b/hassio/api/panel/chunk.12902324b918e12549ba.js.LICENSE similarity index 88% rename from hassio/api/panel/chunk.6685a7f98b13655ab808.js.LICENSE rename to hassio/api/panel/chunk.12902324b918e12549ba.js.LICENSE index 7cbcedb69..873451899 100644 --- a/hassio/api/panel/chunk.6685a7f98b13655ab808.js.LICENSE +++ b/hassio/api/panel/chunk.12902324b918e12549ba.js.LICENSE @@ -51,6 +51,27 @@ See the License for the specific language governing permissions and limitations under the License. */ +/** +@license +Copyright (c) 2016 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ + +/** +@license +Copyright (c) 2017 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at +http://polymer.github.io/LICENSE.txt The complete set of authors may be found at +http://polymer.github.io/AUTHORS.txt The complete set of contributors may be +found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as +part of the polymer project is also subject to an additional IP rights grant +found at http://polymer.github.io/PATENTS.txt +*/ + /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use @@ -66,6 +87,31 @@ See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ +/** + * @license + * Copyright (c) 2018 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ + +/** +@license +Copyright (c) 2014 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at +http://polymer.github.io/LICENSE.txt The complete set of authors may be found at +http://polymer.github.io/AUTHORS.txt The complete set of contributors may be +found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as +part of the polymer project is also subject to an additional IP rights grant +found at http://polymer.github.io/PATENTS.txt +*/ + /** * @license * Copyright 2016 Google Inc. @@ -89,6 +135,39 @@ and limitations under the License. * THE SOFTWARE. */ +/** +@license +Copyright (c) 2015 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ + +/** + * @license + * Copyright 2019 Google Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + /** * @license * Copyright 2018 Google Inc. @@ -112,62 +191,6 @@ and limitations under the License. * THE SOFTWARE. */ -/** -@license -Copyright (c) 2016 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/ - -/** -@license -Copyright (c) 2017 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at -http://polymer.github.io/LICENSE.txt The complete set of authors may be found at -http://polymer.github.io/AUTHORS.txt The complete set of contributors may be -found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as -part of the polymer project is also subject to an additional IP rights grant -found at http://polymer.github.io/PATENTS.txt -*/ - -/** - * @license - * Copyright (c) 2018 The Polymer Project Authors. All rights reserved. - * This code may only be used under the BSD style license found at - * http://polymer.github.io/LICENSE.txt - * The complete set of authors may be found at - * http://polymer.github.io/AUTHORS.txt - * The complete set of contributors may be found at - * http://polymer.github.io/CONTRIBUTORS.txt - * Code distributed by Google as part of the polymer project is also - * subject to an additional IP rights grant found at - * http://polymer.github.io/PATENTS.txt - */ - -/** -@license -Copyright (c) 2014 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at -http://polymer.github.io/LICENSE.txt The complete set of authors may be found at -http://polymer.github.io/AUTHORS.txt The complete set of contributors may be -found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as -part of the polymer project is also subject to an additional IP rights grant -found at http://polymer.github.io/PATENTS.txt -*/ - -/** -@license -Copyright (c) 2015 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/ - /** @license Copyright (c) 2016 The Polymer Project Authors. All rights reserved. diff --git a/hassio/api/panel/chunk.12902324b918e12549ba.js.gz b/hassio/api/panel/chunk.12902324b918e12549ba.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a658962eebb3cff3f9d6f517583a9c519151e216 GIT binary patch literal 63491 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 literal 0 HcmV?d00001 diff --git a/hassio/api/panel/chunk.12902324b918e12549ba.js.map b/hassio/api/panel/chunk.12902324b918e12549ba.js.map new file mode 100644 index 000000000..b7acfcba3 --- /dev/null +++ b/hassio/api/panel/chunk.12902324b918e12549ba.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///../src/lib/modify-template.ts","webpack:///../src/lib/shady-render.ts","webpack:///../src/lib/updating-element.ts","webpack:///../src/lib/decorators.ts","webpack:///../src/lib/css-tag.ts","webpack:///src/lit-element.ts","webpack:///./node_modules/@polymer/iron-flex-layout/iron-flex-layout.js","webpack:///./node_modules/@polymer/paper-styles/default-theme.js","webpack:///../src/lib/default-template-processor.ts","webpack:///src/lit-html.ts","webpack:///src/mwc-button-base.ts","webpack:///src/mwc-button-css.ts","webpack:///src/mwc-button.ts","webpack:///./node_modules/@polymer/iron-image/iron-image.js","webpack:///./node_modules/@polymer/paper-styles/element-styles/paper-material-styles.js","webpack:///./node_modules/@polymer/paper-card/paper-card.js","webpack:///../src/lib/parts.ts","webpack:///../src/lib/template.ts","webpack:///./node_modules/@polymer/iron-icon/iron-icon.js","webpack:///./node_modules/@polymer/paper-icon-button/paper-icon-button.js","webpack:///./node_modules/@polymer/iron-behaviors/iron-control-state.js","webpack:///./node_modules/@polymer/iron-a11y-keys-behavior/iron-a11y-keys-behavior.js","webpack:///../src/lib/dom.ts","webpack:///./node_modules/@polymer/paper-styles/typography.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///../src/lib/template-result.ts","webpack:///../src/lib/template-factory.ts","webpack:///./node_modules/@polymer/iron-behaviors/iron-button-state.js","webpack:///./node_modules/@polymer/paper-styles/shadow.js","webpack:///./node_modules/@polymer/app-layout/app-toolbar/app-toolbar.js","webpack:///./node_modules/@polymer/iron-a11y-announcer/iron-a11y-announcer.js","webpack:///./node_modules/@polymer/iron-input/iron-input.js","webpack:///./node_modules/@polymer/paper-input/paper-input-addon-behavior.js","webpack:///./node_modules/@polymer/paper-input/paper-input-char-counter.js","webpack:///./node_modules/@polymer/paper-input/paper-input-container.js","webpack:///./node_modules/@polymer/paper-input/paper-input-error.js","webpack:///./node_modules/@polymer/paper-input/paper-input-behavior.js","webpack:///./node_modules/@polymer/paper-input/paper-input.js","webpack:///../src/lib/directive.ts","webpack:///../src/lib/part.ts","webpack:///../src/lib/template-instance.ts","webpack:///../src/lib/render.ts","webpack:///../src/directives/class-map.ts","webpack:///./node_modules/@polymer/iron-validatable-behavior/iron-validatable-behavior.js","webpack:///./node_modules/@polymer/paper-behaviors/paper-inky-focus-behavior.js","webpack:///./node_modules/@polymer/paper-behaviors/paper-ripple-behavior.js","webpack:///./node_modules/@polymer/paper-spinner/paper-spinner-lite.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@polymer/iron-resizable-behavior/iron-resizable-behavior.js","webpack:///./node_modules/@polymer/iron-form-element-behavior/iron-form-element-behavior.js","webpack:///./node_modules/@polymer/iron-overlay-behavior/iron-focusables-helper.js","webpack:///./node_modules/@polymer/iron-fit-behavior/iron-fit-behavior.js","webpack:///./node_modules/@polymer/iron-overlay-behavior/iron-overlay-backdrop.js","webpack:///./node_modules/@polymer/iron-overlay-behavior/iron-overlay-manager.js","webpack:///./node_modules/@polymer/iron-overlay-behavior/iron-scroll-manager.js","webpack:///./node_modules/@polymer/iron-overlay-behavior/iron-overlay-behavior.js","webpack:///./node_modules/@polymer/iron-selector/iron-multi-selectable.js","webpack:///./node_modules/@polymer/iron-menu-behavior/iron-menu-behavior.js","webpack:///./node_modules/@polymer/iron-selector/iron-selection.js","webpack:///./node_modules/@polymer/iron-selector/iron-selectable.js","webpack:///./node_modules/@polymer/neon-animation/neon-animatable-behavior.js","webpack:///./node_modules/@polymer/neon-animation/neon-animation-runner-behavior.js","webpack:///./node_modules/@polymer/paper-ripple/paper-ripple.js","webpack:///foundation.ts","webpack:///./node_modules/@polymer/paper-spinner/paper-spinner-styles.js","webpack:///./node_modules/@polymer/paper-spinner/paper-spinner-behavior.js","webpack:///./node_modules/@polymer/app-layout/app-header-layout/app-header-layout.js","webpack:///./node_modules/@polymer/app-layout/app-layout-behavior/app-layout-behavior.js","webpack:///./node_modules/@polymer/paper-tabs/paper-tab.js","webpack:///./node_modules/@polymer/iron-menu-behavior/iron-menubar-behavior.js","webpack:///./node_modules/@polymer/paper-radio-button/paper-radio-button.js","webpack:///events.ts","webpack:///ponyfill.ts","webpack:///util.ts","webpack:///constants.ts","webpack:///src/mwc-ripple-global-css.ts","webpack:///src/ripple-directive.ts","webpack:///./node_modules/@polymer/iron-dropdown/iron-dropdown.js","webpack:///./node_modules/@polymer/neon-animation/neon-animation-behavior.js","webpack:///./node_modules/@polymer/neon-animation/animations/fade-in-animation.js","webpack:///./node_modules/@polymer/neon-animation/animations/fade-out-animation.js","webpack:///./node_modules/@polymer/paper-menu-button/paper-menu-button-animations.js","webpack:///./node_modules/@polymer/paper-menu-button/paper-menu-button.js","webpack:///./node_modules/@polymer/iron-scroll-target-behavior/iron-scroll-target-behavior.js","webpack:///./node_modules/@polymer/app-layout/helpers/helpers.js","webpack:///./node_modules/@polymer/app-layout/app-scroll-effects/app-scroll-effects-behavior.js","webpack:///./node_modules/@polymer/app-layout/app-header/app-header.js","webpack:///./node_modules/@polymer/iron-checked-element-behavior/iron-checked-element-behavior.js","webpack:///./node_modules/@polymer/paper-behaviors/paper-checked-element-behavior.js","webpack:///./node_modules/@polymer/paper-styles/paper-styles.js","webpack:///../node_modules/babel-plugin-transform-async-to-promises/helpers.js","webpack:///../lib/errors.ts","webpack:///../lib/messages.ts","webpack:///../lib/socket.ts","webpack:///../lib/connection.ts","webpack:///../lib/auth.ts","webpack:///../lib/store.ts","webpack:///../lib/collection.ts","webpack:///./node_modules/@polymer/paper-spinner/paper-spinner.js","webpack:///./node_modules/@polymer/paper-checkbox/paper-checkbox.js","webpack:///./node_modules/@polymer/paper-radio-group/paper-radio-group.js","webpack:///./node_modules/fuse.js/dist/fuse.js","webpack:///(webpack)/buildin/module.js","webpack:///../src/directives/repeat.ts","webpack:///./node_modules/@polymer/paper-tabs/paper-tabs-icons.js","webpack:///./node_modules/@polymer/paper-tabs/paper-tabs.js"],"names":["walkerNodeFilter","removeNodesFromTemplate","template","nodesToRemove","content","element","parts","walker","document","createTreeWalker","partIndex","modify_template_nextActiveIndexInTemplateParts","part","nodeIndex","removeCount","nodesToRemoveInTemplate","currentRemovingNode","nextNode","node","currentNode","previousSibling","has","push","undefined","index","forEach","n","parentNode","removeChild","countNodes","count","nodeType","i","arguments","length","Object","lib_template","getTemplateCacheKey","type","scopeName","concat","compatibleShadyCSSVersion","window","ShadyCSS","prepareTemplateDom","console","warn","shady_render_shadyTemplateFactory","result","cacheKey","templateCache","template_factory","get","stringsArray","WeakMap","keyString","Map","set","strings","key","join","getTemplateElement","TEMPLATE_TYPES","shadyRenderSet","Set","shady_render_prepareTemplateStyles","renderedDOM","add","templateElement","createElement","styles","querySelectorAll","condensedStyle","_style","textContent","templates","Array","from","s","shady_render_removeStylesFromLitTemplates","refNode","insertCount","walkerIndex","insertBefore","appendChild","insertNodeIntoTemplate","firstChild","prepareTemplateStyles","style","querySelector","nativeShadow","cloneNode","removes","JSCompiler_renameProperty","prop","_obj","defaultConverter","toAttribute","value","Boolean","JSON","stringify","fromAttribute","Number","parse","notEqual","old","defaultPropertyDeclaration","attribute","String","converter","reflect","hasChanged","microtaskPromise","Promise","resolve","UpdatingElement","_HTMLElement","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","_updateState","_instanceProperties","_updatePromise","_hasConnectedResolver","_changedProperties","_reflectingProperties","initialize","_inherits","_wrapNativeSuper","HTMLElement","_this6","hasOwnProperty","_classProperties","superProperties","getPrototypeOf","v","k","name","options","_ensureClassProperties","noAccessor","prototype","updating_element_typeof","Symbol","defineProperty","oldValue","_requestUpdate","configurable","enumerable","superCtor","finalize","_attributeToPropertyMap","props","properties","propKeys","_toConsumableArray","getOwnPropertyNames","getOwnPropertySymbols","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","iterator","next","done","p","createProperty","err","toLowerCase","_this7","attributes","attr","_attributeNameForProperty","_saveInstanceProperties","_this2","constructor","_v","_this3","_attributeToProperty","ctor","attrValue","_propertyValueToAttribute","removeAttribute","setAttribute","propName","_propertyValueFromAttribute","shouldRequestUpdate","_valueHasChanged","_hasRequestedUpdate","_enqueueUpdate","updateComplete","reject","previousUpdatePromise","_this4","regeneratorRuntime","async","_context","prev","res","rej","awrap","t0","_hasConnected","performUpdate","t1","stop","_applyInstanceProperties","shouldUpdate","changedProperties","update","e","_markUpdated","firstUpdated","updated","_this5","size","_propertyToAttribute","_getUpdateComplete","customElement","tagName","classOrDescriptor","clazz","customElements","define","legacyCustomElement","descriptor","kind","elements","finisher","standardCustomElement","standardProperty","placement","initializer","assign","legacyProperty","proto","property","protoOrDescriptor","query","selector","renderRoot","legacyQuery","standardQuery","supportsAdoptingStyleSheets","Document","CSSStyleSheet","constructionToken","CSSResult","cssText","safeToken","css_tag_classCallCheck","Error","_styleSheet","replaceSync","css","_len","values","_key","reduce","acc","idx","textFromCSSResult","flattenStyles","flat","Infinity","arrayFlat","isArray","lit_element_LitElement","_UpdatingElement","LitElement","lit_element_classCallCheck","lit_element_possibleConstructorReturn","lit_element_getPrototypeOf","apply","lit_element_inherits","_get","_styles","_getUniqueStyles","userStyles","reduceRight","unshift","createRenderRoot","ShadowRoot","adoptStyles","attachShadow","mode","adoptedStyleSheets","map","styleSheet","_needsShimAdoptedStyleSheets","ScopingShim","prepareAdoptedCssText","localName","hasUpdated","styleElement","templateResult","render","lit_html","eventContext","container","_typeof","hasRendered","lib_render","needsScoping","host","firstScopeRender","renderContainer","createDocumentFragment","templateFactory","template_instance","dom","html","_templateObject","head","defaultTemplateProcessor","DefaultTemplateProcessor","prefix","slice","__webpack_require__","d","__webpack_exports__","lit_html_html","directive","template_result","mwc_button_base_ButtonBase","_LitElement","ButtonBase","raised","unelevated","outlined","dense","disabled","trailingIcon","icon","label","lit_element","delegatesFocus","buttonElement","_ripple","ripple","handleFocus","focus","_ripple2","handleBlur","blur","classes","mdc-button--raised","mdc-button--unelevated","mdc-button--outlined","mdc-button--dense","mdcButtonIcon","buttonRipple","ripple_directive","unbounded","_templateObject2","class_map","tslib_es6","mwc_button_css_templateObject","Button","_ButtonBase","mwc_button_classCallCheck","mwc_button_possibleConstructorReturn","mwc_button_getPrototypeOf","mwc_button_inherits","Polymer","_template","is","src","alt","crossorigin","preventLoad","sizing","reflectToAttribute","position","preload","placeholder","observer","fade","loaded","notify","readOnly","loading","error","width","height","observers","created","_resolvedSrc","_imgOnLoad","$","img","_resolveSrc","_setLoading","_setLoaded","_setError","_imgOnError","sizedImgDiv","backgroundImage","_computePlaceholderHidden","_computePlaceholderClassName","_computeImgDivHidden","_computeImgDivARIAHidden","_computeImgDivARIALabel","replace","split","pop","_computeImgHidden","_widthChanged","isNaN","_heightChanged","_loadStateObserver","newResolvedSrc","_placeholderChanged","_transformChanged","sizedImgDivStyle","placeholderStyle","backgroundSize","backgroundPosition","backgroundRepeat","testSrc","resolved","resolveUrl","baseURIAnchor","href","location","origin","protocol","paper_material_styles_templateObject","paper_card_templateObject","heading","image","preloadImage","fadeImage","placeholderImage","elevation","animatedShadow","animated","computed","_isHidden","_headingChanged","currentHeading","getAttribute","currentLabel","_computeHeadingClass","_computeAnimated","isPrimitive","isIterable","AttributeCommitter","dirty","_createPart","_createClass","AttributePart","l","text","t","_getValue","committer","_part_js__WEBPACK_IMPORTED_MODULE_2__","_directive_js__WEBPACK_IMPORTED_MODULE_0__","commit","NodePart","__pendingValue","startNode","_template_js__WEBPACK_IMPORTED_MODULE_5__","endNode","ref","nextSibling","__insert","__commitText","_template_result_js__WEBPACK_IMPORTED_MODULE_4__","__commitTemplateResult","Node","__commitNode","__commitIterable","clear","valueAsString","data","createTextNode","_template_instance_js__WEBPACK_IMPORTED_MODULE_3__","instance","processor","fragment","_clone","itemPart","itemParts","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","item","appendIntoPart","insertAfterPart","setValue","_dom_js__WEBPACK_IMPORTED_MODULE_1__","BooleanAttributePart","PropertyCommitter","_AttributeCommitter","single","PropertyPart","_AttributePart","eventOptionsSupported","capture","addEventListener","removeEventListener","_e","EventPart","eventName","__boundHandleEvent","handleEvent","newListener","oldListener","shouldRemoveListener","once","passive","shouldAddListener","__options","getOptions","event","o","marker","Math","random","nodeMarker","markerRegex","RegExp","boundAttributeSuffix","Template","stack","lastPartIndex","hasAttributes","_length","endsWith","stringForPart","lastAttributeNameRegex","exec","attributeLookupName","attributeValue","statics","indexOf","parent","_strings","lastIndex","_i","insert","createMarker","match","_parent","_i2","_i3","_nodesToRemove","str","suffix","isTemplatePartActive","createComment","theme","_meta","Base","create","_DEFAULT_ICONSET","_iconChanged","_iconName","_iconsetName","_updateIcon","_srcChanged","_usesIconset","_img","root","_iconset","removeIcon","byKey","applyIcon","unlisten","listen","draggable","hostAttributes","role","tabindex","behaviors","PaperInkyFocusBehavior","registered","_altChanged","newValue","IronControlState","focused","_oldTabIndex","_boundFocusBlurHandler","Function","_focusBlurHandler","bind","ready","_setFocused","_disabledChanged","pointerEvents","tabIndex","_changedControlState","_controlStateChanged","IronA11yKeysBehavior","KEY_IDENTIFIER","U+0008","U+0009","U+001B","U+0020","U+007F","KEY_CODE","8","9","13","27","33","34","35","36","32","37","38","39","40","46","106","MODIFIER_KEYS","shift","ctrl","meta","KEY_CHAR","IDENT_CHAR","ARROW_KEY","SPACE_KEY","ESC_KEY","transformKey","noSpecialChars","validKey","lKey","test","normalizedKeyForEvent","keyEvent","detail","keyIdent","keyIdentifier","parseInt","fromCharCode","keyCode","transformKeyCode","keyComboMatchesEvent","keyCombo","hasModifiers","shiftKey","ctrlKey","altKey","metaKey","parseEventString","eventString","trim","keyComboString","combo","parsedKeyCombo","keyComboPart","eventParts","keyName","parseKeyComboString","keyEventTarget","stopKeyboardEventPropagation","_boundKeyHandlers","_imperativeKeyBindings","keyBindings","_prepKeyBindings","attached","_listenKeyEventListeners","detached","_unlistenKeyEventListeners","addOwnKeyBinding","handlerName","_resetKeyEventListeners","removeOwnKeyBindings","keyboardEventMatchesKeys","keyCombos","_collectKeyBindings","behavior","_keyBindings","_addKeyBinding","sort","kb1","kb2","b1","isAttached","keys","boundKeyHandler","_onKeyBindingEvent","keyHandlerTuple","stopPropagation","defaultPrevented","_triggerKeyHandler","keyboardEvent","CustomEvent","cancelable","preventDefault","isCEPolyfill","reparentNodes","removeNodes","polyfillWrapFlushCallback","start","end","before","extendStatics","b","setPrototypeOf","__proto__","__extends","__","__assign","__decorate","decorators","target","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","commentMarker","_template_js__WEBPACK_IMPORTED_MODULE_1__","TemplateResult","isCommentBinding","commentOpen","lastIndexOf","attributeMatch","substr","innerHTML","getHTML","SVGTemplateResult","_TemplateResult","svgElement","_dom_js__WEBPACK_IMPORTED_MODULE_0__","templateCaches","_template_js__WEBPACK_IMPORTED_MODULE_0__","IronButtonStateImpl","IronButtonState","_polymer_iron_a11y_keys_behavior_iron_a11y_keys_behavior_js__WEBPACK_IMPORTED_MODULE_2__","_polymer_polymer_lib_legacy_polymer_dom_js__WEBPACK_IMPORTED_MODULE_3__","pressed","toggles","active","pointerDown","receivedFocusFromKeyboard","ariaActiveAttribute","listeners","down","up","tap","enter:keydown","space:keydown","space:keyup","_mouseEventRe","_tapHandler","_userActivate","_focusChanged","_detectKeyboardFocus","_setPressed","_setReceivedFocusFromKeyboard","fire","_downHandler","_setPointerDown","_upHandler","_spaceKeyDownHandler","localTarget","isLightDescendant","stopImmediatePropagation","_spaceKeyUpHandler","_asyncClick","click","_pressedChanged","_changedButtonState","_ariaActiveAttributeChanged","hasAttribute","_activeChanged","_buttonStateChanged","IronA11yAnnouncer","_text","body","_onIronAnnounce","announce","requestAvailability","iron_input_templateObject","IronValidatableBehavior","bindValue","allowedPattern","autoValidate","_inputElement","input","keypress","_previousValidInput","_patternAlreadyChecked","_observer","observeNodes","info","_initSlottedInput","unobserveNodes","inputElement","getEffectiveChildren","_patternRegExp","pattern","_bindValueChanged","validate","_onInput","_checkPatternValidity","_announceInvalidCharacter","_isPrintable","anyNonPrintable","mozNonPrintable","charCode","_onKeypress","regexp","thisChar","invalid","valid","checkValidity","required","hasValidator","message","_computeValue","PaperInputAddonBehavior","state","paper_input_char_counter_templateObject","_charCounterStr","counter","toString","paper_input_container_templateObject","noLabelFloat","alwaysFloatLabel","attrForValue","_addons","_inputHasContent","_inputSelector","_boundOnFocus","_onFocus","_boundOnBlur","_onBlur","_boundOnInput","_boundValueChanged","_onValueChanged","addon-attached","iron-input-validate","_valueChangedEvent","_propertyForValue","dashToCamelCase","_inputElementValue","__isFirstValueUpdate","_handleValueAndAutoValidate","_handleValue","_onAddonAttached","updateAddons","_onIronInputValidate","_invalidChanged","addon","_computeInputContentClass","cls","labelAndInputContainer","_computeUnderlineClass","_computeAddOnContentClass","paper_input_error_templateObject","_setInvalid","PaperInputHelper","PaperInputBehaviorImpl","list","errorMessage","charCounter","validator","autocomplete","autofocus","inputmode","minlength","maxlength","min","max","step","readonly","autocapitalize","autocorrect","autosave","results","accept","multiple","_ariaDescribedBy","_ariaLabelledBy","_inputId","shift+tab:keydown","_generateInputId","$$","_focusableElement","_typesThatHaveText","_updateAriaLabelledBy","PolymerElement","_appendStringWithSpace","more","rootTarget","id","NextAddonID","_shiftTabPressed","_onShiftTabDown","oldTabIndex","_handleAutoValidate","updateValueAndPreserveCaret","selectionStart","selectionEnd","_computeAlwaysFloatLabel","labelledBy","NextLabelID","NextInputID","_onChange","shadowRoot","sourceEvent","bubbles","_autofocusChanged","activeElement","documentElement","PaperInputBehavior","paper_input_templateObject","IronFormElementBehavior","iron-input-ready","_onIronInputReady","nativeInput","isDirective","directives","f","noChange","nothing","TemplateInstance","__parts","_part","importNode","nodeName","_part2","handleTextExpression","insertAfterNode","_this$__parts","handleAttributeExpressions","adoptNode","upgrade","_parts_js__WEBPACK_IMPORTED_MODULE_1__","_template_factory_js__WEBPACK_IMPORTED_MODULE_2__","appendInto","classMap","_lit_html_js__WEBPACK_IMPORTED_MODULE_0__","classMapCache","classInfo","className","classList","oldInfo","remove","_name","_polymer_iron_meta_iron_meta_js__WEBPACK_IMPORTED_MODULE_1__","IronValidatableBehaviorMeta","IronMeta","_validator","_getValidity","PaperInkyFocusBehaviorImpl","_polymer_iron_behaviors_iron_button_state_js__WEBPACK_IMPORTED_MODULE_1__","_polymer_iron_behaviors_iron_control_state_js__WEBPACK_IMPORTED_MODULE_2__","_paper_ripple_behavior_js__WEBPACK_IMPORTED_MODULE_3__","_focusedChanged","ensureRipple","hasRipple","holdDown","_createRipple","PaperRippleBehavior","_polymer_iron_behaviors_iron_button_state_js__WEBPACK_IMPORTED_MODULE_2__","noink","_rippleContainer","optTriggeringEvent","rippleContainer","domContainer","deepContains","uiDownAction","getRipple","_noinkChanged","PaperSpinnerBehavior","simpleIsEqual","newArgs","lastArgs","every","newArg","resultFn","isEqual","lastThis","lastResult","calledOnce","IronResizableBehavior","_polymer_polymer_lib_legacy_polymer_dom_js__WEBPACK_IMPORTED_MODULE_1__","_polymer_polymer_lib_utils_settings_js__WEBPACK_IMPORTED_MODULE_2__","ORPHANS","_parentResizable","_notifyingDescendant","iron-request-resize-notifications","_interestedResizables","_boundNotifyResize","notifyResize","_boundOnDescendantIronResize","_onDescendantIronResize","_requestResizeNotifications","stopResizeNotificationsFor","resizable","resizerShouldNotify","_notifyDescendant","_fireResize","assignParentResizable","parentResizable","_subscribeIronResize","splice","_unsubscribeIronResize","useShadow","_onIronRequestResizeNotifications","_parentResizableChanged","descendant","readyState","readystatechanged","_findParent","orphan","IronFocusablesHelper","Element","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","getTabbableNodes","_collectTabbableNodes","_sortByTabIndex","isFocusable","isTabbable","_isVisible","_normalizedTabIndex","ELEMENT_NODE","children","needsSort","getDistributedNodes","visibility","display","getComputedStyle","tabbables","len","pivot","ceil","left","right","_mergeSortByTabIndex","_hasLowerTabOrder","a","ati","bti","IronFitBehavior","sizingTarget","fitInto","noOverlap","positionTarget","horizontalAlign","verticalAlign","dynamicAlign","horizontalOffset","verticalOffset","autoFitOnAttach","_fitInfo","_fitWidth","innerWidth","getBoundingClientRect","_fitHeight","innerHeight","_fitLeft","_fitTop","top","_defaultPositionTarget","DOCUMENT_FRAGMENT_NODE","_localeHorizontalAlign","_isRTL","__shouldPosition","direction","setTimeout","fit","ShadyDOM","flush","__deferredFit","clearTimeout","constrain","center","_discoverInfo","sizer","inlineStyle","sizerInlineStyle","maxWidth","maxHeight","boxSizing","positionedBy","vertically","bottom","horizontally","sizedBy","minWidth","minHeight","margin","marginTop","marginRight","marginBottom","marginLeft","resetFit","refit","scrollLeft","scrollTop","rect","positionRect","__getNormalizedRect","fitRect","__getPosition","__sizeDimension","_sizeDimension","extent","flip","offset","offsetExtent","sizingOffset","__getOffscreenArea","verticalCrop","horizontalCrop","abs","hAlign","vAlign","sizeNoMargins","positions","copy","candidate","vAlignOk","hAlignOk","alignOk","offscreenArea","diff","opened","transitionend","__openedRaf","_openedChanged","prepare","open","close","complete","_onTransitionend","cs","transitionDuration","opacity","cancelAnimationFrame","requestAnimationFrame","toggleClass","IronOverlayManagerClass","_overlays","_minimumZ","_backdropElement","gestures","_onCaptureClick","_onCaptureFocus","_onCaptureKeyDown","backdropElement","deepActiveElement","_bringOverlayAtIndexToFront","overlay","lastI","currentOverlay","_shouldBeBehindOverlay","minimumZ","currentOverlayZ","_getZ","_applyOverlayZ","addOrRemoveOverlay","addOverlay","removeOverlay","trackBackdrop","insertionIndex","newZ","previousOverlay","ensureMinimumZ","focusOverlay","current","_applyFocus","_overlayWithBackdrop","zIndex","getBackdrops","backdrops","withBackdrop","backdropZ","z","z1","_setZ","aboveZ","_overlayInPath","path","_manager","allowClickThrough","_onCaptureEsc","_onCaptureTab","overlay1","overlay2","alwaysOnTop","_boundScrollHandler","currentLockingElement","IronOverlayManager","lastTouchPosition","pageX","pageY","lastRootTarget","lastScrollableNodes","scrollEvents","pushScrollLock","_lockingElements","nodes","scrollables","lockingIndex","overflow","_getScrollableNodes","deltaX","deltaY","wheelDeltaX","wheelDeltaY","wheelDelta","axis","targetTouches","touch","_getScrollInfo","verticalScroll","scrollHeight","clientHeight","scrollWidth","clientWidth","_getScrollingNode","_shouldPreventScrolling","_lockScrollInteractions","removeScrollLock","_unlockScrollInteractions","IronOverlayBehaviorImpl","IronOverlayBehavior","canceled","noAutoFocus","noCancelOnEscKey","noCancelOnOutsideClick","closingReason","restoreFocusOnClose","scrollAction","_focusedChild","iron-resize","_focusNode","_focusableNodes","__isAnimating","__shouldRemoveTabIndex","__firstFocusableNode","__lastFocusableNode","__rafs","__restoreFocusNode","__scrollTop","__scrollLeft","__onCaptureScroll","__rootNodes","_ensureSetup","_onNodesChange","cb","_finishRenderOpened","_finishRenderClosed","toggle","_setCanceled","cancel","invalidateTabbables","_overlaySetup","outline","__deraf","__openedChanged","_canceledChanged","_withBackdropChanged","_prepareRenderOpened","_preparePositioning","_finishPositioning","_renderOpened","_renderClosed","transition","webkitTransition","transform","webkitTransform","__ensureFirstLastFocusables","nodeToCheck","nodeToSet","shouldWrap","focusedNode","_onIronResize","focusableNodes","jobname","callback","rafs","__updateScrollObservers","__isValidScrollAction","__saveScrollPosition","__addScrollListeners","__removeScrollListeners","assignedSlot","el","__restoreScrollPosition","scrollingElement","IronMultiSelectableBehaviorImpl","multi","selectedValues","selectedItems","select","_toggleSelected","selected","multiChanged","_selection","_updateSelected","_shouldUpdateSelection","_updateAttrForSelected","selectedItem","_indexToValue","filter","unfilteredValue","IronSelectableBehavior","_selectMulti","_selectSelected","_valuesToItems","setItemSelected","fallbackSelection","_valueToItem","_selectionChange","_setSelectedItems","_setSelectedItem","IronMultiSelectableBehavior","IronMenuBehaviorImpl","IronMenuBehavior","focusedItem","attrForItemTitle","_MODIFIER_KEYS","_SEARCH_RESET_TIMEOUT_MS","_previousTabIndex","keydown","iron-items-changed","esc","_resetTabindices","_defaultFocusAsync","cancelAsync","_setFocusedItem","firstSelectedItem","items","isSelected","_updateMultiselectable","_focusWithKeyboardEvent","cancelDebouncer","searchText","_searchText","searchLength","toLocaleLowerCase","title","debounce","_clearSearchText","_focusPrevious","curFocusIndex","owner","getOwnerRoot","_focusNext","_applySelection","_focusedItemChanged","_onIronItemsChanged","addedNodes","_onUpKey","_onDownKey","_onEscKey","_onKeydown","_activateHandler","IronSelection","selectCallback","selection","excludes","attrForSelected","activateEvent","selectable","selectedClass","selectedAttribute","_excludedLocalNames","dom-bind","dom-if","dom-repeat","_bindFilterItem","_filterItem","_observeItems","_addListener","_removeListener","selectPrevious","_valueToIndex","selectNext","selectIndex","forceSynchronousItemUpdate","_updateItems","_checkFallback","_activateEventChanged","queryDistributedElements","_setItems","_valueForItem","propValue","toggleAttribute","mutation","_itemActivate","NeonAnimatableBehavior","animationConfig","entryAnimation","exitAnimation","_entryAnimationChanged","_exitAnimationChanged","_copyProperties","config1","config2","_cloneConfig","config","clone","isClone","_getAnimationConfigRecursive","allConfigs","thisConfig","_warn","_logf","animatable","cachedConfig","getAnimationConfig","NeonAnimationRunnerBehavior","_configureAnimations","configs","resultsToPlay","neonAnimation","isNeonAnimation","configure","timeline","play","animation","_shouldComplete","activeEntries","finished","playState","_complete","playAnimation","cookie","_active","onfinish","cancelAnimation","entries","j","Utility","distance","x1","y1","x2","y2","xDelta","yDelta","sqrt","now","performance","Date","ElementMetrics","boundingRect","Ripple","color","wave","waveContainer","backgroundColor","resetInteractionState","furthestCornerDistanceFrom","x","y","topLeft","topRight","bottomLeft","bottomRight","MAX_RADIUS","recenters","mouseDownElapsed","elapsed","mouseDownStart","mouseUpStart","mouseUpElapsed","mouseDownElapsedSeconds","mouseUpElapsedSeconds","mouseInteractionSeconds","initialOpacity","opacityDecayVelocity","radius","width2","containerMetrics","height2","waveRadius","duration","timeNow","pow","outerOpacity","waveOpacity","isOpacityFullyDecayed","maxRadius","isRestingAtMaxRadius","isAnimationComplete","translationFraction","xNow","xEnd","xStart","yNow","yEnd","yStart","isMouseDown","slideDistance","draw","scale","dx","dy","downAction","xCenter","yCenter","upAction","ripples","animating","_animating","_boundAnimate","animate","shouldKeepAnimating","simulatedRipple","addRipple","uiUpAction","onAnimationComplete","background","waves","_setAnimating","removeRipple","rippleIndex","animateRipple","_onEnterKeydown","_onSpaceKeydown","_onSpaceKeyup","_holdDownChanged","newVal","oldVal","MDCFoundation","adapter","adapter_","init","destroy","$_documentContainer","__coolingDown","__computeContainerClasses","coolingDown","__activeChanged","__setAriaHidden","__altChanged","hidden","__reset","AppLayoutBehavior","hasScrollingRegion","header","headerSlot","_updateLayoutStates","wrapper","scrollTarget","contentContainer","ownerDocument","headerHeight","offsetHeight","rightOffset","containerStyle","fixed","condenses","paddingTop","_polymer_iron_resizable_behavior_iron_resizable_behavior_js__WEBPACK_IMPORTED_MODULE_1__","_polymer_polymer_lib_legacy_polymer_dom_js__WEBPACK_IMPORTED_MODULE_2__","_polymer_polymer_lib_utils_async_js__WEBPACK_IMPORTED_MODULE_3__","_polymer_polymer_lib_utils_debounce_js__WEBPACK_IMPORTED_MODULE_4__","_polymer_polymer_lib_utils_flush_js__WEBPACK_IMPORTED_MODULE_5__","app-reset-layout","_appResetLayoutHandler","resetLayout","_layoutDebouncer","Debouncer","animationFrame","enqueueDebouncer","_notifyDescendantResize","_notifyLayoutChanged","self","link","_updateNoink","_parentNoink","_onTap","anchor","queryEffectiveChildren","IronMenubarBehaviorImpl","IronMenubarBehavior","_iron_menu_behavior_js__WEBPACK_IMPORTED_MODULE_1__","_onLeftKey","_onRightKey","PaperCheckedElementBehavior","aria-checked","radioContainer","afterNextRender","getComputedStyleValue","parseFloat","defaultInkSize","floor","updateStyles","--paper-radio-button-ink-size","supportsPassive_","applyPassive","globalObj","forceRefresh","isSupported_1","supportsCssVariables_","cssClasses","BG_FOCUSED","FG_ACTIVATION","FG_DEACTIVATION","ROOT","UNBOUNDED","VAR_FG_SCALE","VAR_FG_SIZE","VAR_FG_TRANSLATE_END","VAR_FG_TRANSLATE_START","VAR_LEFT","VAR_TOP","numbers","DEACTIVATION_TIMEOUT_MS","FG_DEACTIVATION_MS","INITIAL_ORIGIN_SCALE","PADDING","TAP_DELAY_MS","ACTIVATION_EVENT_TYPES","POINTER_DEACTIVATION_EVENT_TYPES","activatedTargets","ripple_foundation","_super","MDCRippleFoundation","defaultAdapter","activationAnimationHasEnded_","activationTimer_","fgDeactivationRemovalTimer_","fgScale_","frame_","initialSize_","layoutFrame_","maxRadius_","unboundedCoords_","activationState_","defaultActivationState_","activationTimerCallback_","runDeactivationUXLogicIfReady_","activateHandler_","activate_","deactivateHandler_","deactivate_","focusHandler_","blurHandler_","resizeHandler_","layout","addClass","browserSupportsCssVars","computeBoundingRect","containsEventTarget","deregisterDocumentInteractionHandler","deregisterInteractionHandler","deregisterResizeHandler","getWindowPageOffset","isSurfaceActive","isSurfaceDisabled","isUnbounded","registerDocumentInteractionHandler","registerInteractionHandler","registerResizeHandler","removeClass","updateCssVariable","supportsPressRipple","supportsPressRipple_","registerRootHandlers_","_a","ROOT_1","UNBOUNDED_1","layoutInternal_","ROOT_2","UNBOUNDED_2","removeCssVars_","deregisterRootHandlers_","deregisterDeactivationHandlers_","activate","evt","deactivate","setUnbounded","activationEvent","hasDeactivationUXRun","isActivated","isProgrammatic","wasActivatedByPointer","wasElementMadeActive","evtType","registerDeactivationHandlers_","rippleStrings","activationState","previousActivationEvent","previousActivationEvent_","some","resetActivationState_","checkElementMadeActive_","animateActivation_","_b","translateStart","translateEnd","_c","getFgTranslationCoordinates_","startPoint","endPoint","rmBoundedActivationClasses_","pageOffset","clientRect","normalizedX","normalizedY","documentX","documentY","touchEvent","changedTouches","mouseEvent","getNormalizedEventCoords","animateDeactivation_","maxDim","updateLayoutCssVars_","round","foundation","supportsCssVariablesWin","windowObj","CSS","supportsCssVars","supports","explicitlySupportsCssVars","weAreFeatureDetectingSafari10plus","computedStyle","hasPseudoVarBug","borderTopStyle","detectEdgePseudoVarBug","supportsCssVariables","isSafari","navigator","userAgent","didApplyRippleStyle","ripple_directive_rippleNode","ripple_directive_applyRippleStyle","surfaceNode","interactionNode","getRootNode","rippleFoundation","contains","handler","varName","setProperty","pageXOffset","pageYOffset","rippleInteractionNodes","existingInteractionNode","openAnimationConfig","closeAnimationConfig","focusTarget","noAnimations","allowOutsideScroll","neon-animation-finish","containedElement","_readied","_updateAnimationConfig","contentWrapper","_onNeonAnimationFinish","animationNode","animations","_updateOverlayPosition","_allowOutsideScrollChanged","NeonAnimationBehavior","animationTiming","easing","fill","timingFromConfig","timing","setPrefixedProperty","prefixes","transformOrigin","_effect","KeyframeEffect","ANIMATION_CUBIC_BEZIER","MAX_ANIMATION_TIME_MS","PaperMenuButton","paper_menu_button_templateObject","ignoreSelect","closeOnActivate","delay","_dropdownContent","aria-haspopup","iron-activate","iron-select","contentElement","dropdown","_onIronSelect","_onIronActivate","oldOpened","__onIronOverlayCanceled","uiEvent","trigger","IronScrollTargetBehavior","_defaultScrollTarget","_shouldHaveListener","_scrollTargetChanged","_oldScrollTarget","_toggleScrollListener","_doc","domHost","_isValidScrollTarget","_scrollHandler","_scrollTop","_scrollLeft","scrollTo","scroll","leftOrOptions","_scrollTargetWidth","offsetWidth","_scrollTargetHeight","yes","eventTarget","toggleScrollListener","_scrollEffects","AppScrollEffectsBehavior","effects","effectsConfig","threshold","thresholdTriggered","_updateScrollState","isOnScreen","isContentBelow","_effectsRunFn","_effects","_clampedScrollTop","_scrollStateChanged","_tearDownEffects","createEffect","effectName","effectConfig","effectDef","ReferenceError","_getUndefinedMsg","_boundEffect","setUp","_effectsChanged","_setUpEffect","_layoutIfDirty","startsAt","endsAt","deltaS","noop","runFn","run","progress","tearDown","_runEffects","_setThresholdTriggered","_getDOMRef","reveals","shadow","_height","_dHeight","_stickyElTop","_stickyElRef","_top","_progress","_wasScrollingDown","_initScrollTop","_initTimestamp","_lastTimestamp","_lastScrollTop","_maxHeaderTop","_stickyEl","slot","_configChanged","firstSetup","currentDisabled","_mayMove","offsetTop","forceUpdate","lastTop","maxHeaderTop","dScrollTop","absDScrollTop","isScrollingDown","_clamp","scrollVelocity","_transformHeader","willCondense","translate3d","_ensureBgContainers","_bgContainer","_bgRear","_bgFront","getScrollState","IronCheckedElementBehaviorImpl","checked","_hasIronCheckedElementBehavior","_value","_requiredChanged","_checkedChanged","_valueChanged","IronCheckedElementBehavior","PaperCheckedElementBehaviorImpl","_catch","recover","then","asyncIterator","unsubscribeEvents","subscription","const","Connection","socket","commandId","commands","eventListeners","closeRequested","setSocket","oldSocket","ev","_handleMessage","_handleClose","oldCommands","subscribe","unsub","unsubscribe","fireEvent","eventType","eventData","subscribeEvents","subscribeMessage","event_type","ping","sendMessagePromise","sendMessage","_genCmdId","send","messages","success","code","setupRetry","reconnect","tries","createSocket","tokenRequest","hassUrl","clientId","hostname","formData","FormData","append","fetch","method","credentials","resp","ok","status","json","tokens","expires","genExpires","expires_in","Auth","saveTokens","_saveTokens","prototypeAccessors","wsUrl","accessToken","access_token","expired","refreshAccessToken","grant_type","refresh_token","revoke","defineProperties","getCollection","conn","fetchCollection","subscribeUpdates","unsubProm","store","setState","overwrite","currentListeners","action","args","ret","listener","out","refresh","refreshSwallow","catch","OPEN","subscriber","createCollection","onChange","checkboxSizeText","units","unitsMatches","checkboxSize","--paper-checkbox-ink-size","_computeCheckboxClass","_computeCheckmarkClass","checkboxContainer","allowEmptySelection","newItem","oldItem","_activateFocusedItem","exports","m","toStringTag","__esModule","writable","h","maxPatternLength","u","caseSensitive","tokenSeparator","g","findAllMatches","minMatchCharLength","S","M","_","shouldSort","L","w","getFn","A","C","sortFn","I","score","O","tokenize","P","matchAllTokens","F","T","includeMatches","E","includeScore","K","verbose","J","TypeError","isCaseSensitive","setCollection","limit","_log","_prepareSearchers","tokenSearchers","fullSearcher","_search","weights","_computeScore","_sort","_format","_analyze","record","resultMap","weight","arrayIndex","search","isMatch","output","matchedIndices","nScore","indices","log","patternAlphabet","errors","currentLocation","expectedLocation","charAt","module","__WEBPACK_AMD_DEFINE_RESULT__","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","webpackPolyfill","deprecate","paths","repeat","createAndInsertPart","containerPart","beforePart","beforeNode","newPart","updatePart","insertPartBefore","removePart","generateMap","partListCache","keyListCache","keyFnOrTemplate","keyFn","newKeyToIndexMap","oldKeyToIndexMap","oldParts","oldKeys","newParts","newValues","newKeys","oldHead","oldTail","newHead","newTail","oldIndex","oldPart","_newPart","_oldPart","paper_tabs_templateObject","noBar","noSlide","scrollable","fitContainer","disableDrag","hideScrollButtons","alignBottom","autoselect","autoselectDelay","_holdDelay","_leftHidden","_rightHidden","_previousTab","iron-deselect","left:keyup right:keyup","_holdJob","_pendingActivationItem","_pendingActivationTimeout","_bindDelayedActivationHandler","_delayedActivationHandler","_onBlurCapture","setScrollDirection","tabsContainer","_cancelPendingActivation","_setNoinkAttribute","_removeNoinkAttribute","_computeScrollButtonClass","hideThisButton","_computeTabsContentClass","_computeSelectionBarClass","_onTabSizingChanged","_scroll","_tabChanged","_onIronDeselect","_scheduleActivation","_onArrowKeyup","_tabContainerScrollSize","ddx","_affectScroll","_down","_onLeftScrollButtonDown","_scrollToLeft","setInterval","_onRightScrollButtonDown","_scrollToRight","_onScrollButtonUp","clearInterval","tab","selectionBar","_positionBar","tabsContent","tabRect","tabOffsetLeft","_pos","_calcPercent","oldRect","moveRight","_left","_scrollToSelectedIfNeeded","tabWidth","w0","_width","_onBarTransitionEnd","cl"],"mappings":"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","file":"chunk.12902324b918e12549ba.js","sourcesContent":["/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module shady-render\n */\n\nimport {isTemplatePartActive, Template, TemplatePart} from './template.js';\n\nconst walkerNodeFilter = 133 /* NodeFilter.SHOW_{ELEMENT|COMMENT|TEXT} */;\n\n/**\n * Removes the list of nodes from a Template safely. In addition to removing\n * nodes from the Template, the Template part indices are updated to match\n * the mutated Template DOM.\n *\n * As the template is walked the removal state is tracked and\n * part indices are adjusted as needed.\n *\n * div\n * div#1 (remove) <-- start removing (removing node is div#1)\n * div\n * div#2 (remove) <-- continue removing (removing node is still div#1)\n * div\n * div <-- stop removing since previous sibling is the removing node (div#1,\n * removed 4 nodes)\n */\nexport function removeNodesFromTemplate(\n template: Template, nodesToRemove: Set) {\n const {element: {content}, parts} = template;\n const walker =\n document.createTreeWalker(content, walkerNodeFilter, null, false);\n let partIndex = nextActiveIndexInTemplateParts(parts);\n let part = parts[partIndex];\n let nodeIndex = -1;\n let removeCount = 0;\n const nodesToRemoveInTemplate = [];\n let currentRemovingNode: Node|null = null;\n while (walker.nextNode()) {\n nodeIndex++;\n const node = walker.currentNode as Element;\n // End removal if stepped past the removing node\n if (node.previousSibling === currentRemovingNode) {\n currentRemovingNode = null;\n }\n // A node to remove was found in the template\n if (nodesToRemove.has(node)) {\n nodesToRemoveInTemplate.push(node);\n // Track node we're removing\n if (currentRemovingNode === null) {\n currentRemovingNode = node;\n }\n }\n // When removing, increment count by which to adjust subsequent part indices\n if (currentRemovingNode !== null) {\n removeCount++;\n }\n while (part !== undefined && part.index === nodeIndex) {\n // If part is in a removed node deactivate it by setting index to -1 or\n // adjust the index as needed.\n part.index = currentRemovingNode !== null ? -1 : part.index - removeCount;\n // go to the next active part.\n partIndex = nextActiveIndexInTemplateParts(parts, partIndex);\n part = parts[partIndex];\n }\n }\n nodesToRemoveInTemplate.forEach((n) => n.parentNode!.removeChild(n));\n}\n\nconst countNodes = (node: Node) => {\n let count = (node.nodeType === 11 /* Node.DOCUMENT_FRAGMENT_NODE */) ? 0 : 1;\n const walker = document.createTreeWalker(node, walkerNodeFilter, null, false);\n while (walker.nextNode()) {\n count++;\n }\n return count;\n};\n\nconst nextActiveIndexInTemplateParts =\n (parts: TemplatePart[], startIndex: number = -1) => {\n for (let i = startIndex + 1; i < parts.length; i++) {\n const part = parts[i];\n if (isTemplatePartActive(part)) {\n return i;\n }\n }\n return -1;\n };\n\n/**\n * Inserts the given node into the Template, optionally before the given\n * refNode. In addition to inserting the node into the Template, the Template\n * part indices are updated to match the mutated Template DOM.\n */\nexport function insertNodeIntoTemplate(\n template: Template, node: Node, refNode: Node|null = null) {\n const {element: {content}, parts} = template;\n // If there's no refNode, then put node at end of template.\n // No part indices need to be shifted in this case.\n if (refNode === null || refNode === undefined) {\n content.appendChild(node);\n return;\n }\n const walker =\n document.createTreeWalker(content, walkerNodeFilter, null, false);\n let partIndex = nextActiveIndexInTemplateParts(parts);\n let insertCount = 0;\n let walkerIndex = -1;\n while (walker.nextNode()) {\n walkerIndex++;\n const walkerNode = walker.currentNode as Element;\n if (walkerNode === refNode) {\n insertCount = countNodes(node);\n refNode.parentNode!.insertBefore(node, refNode);\n }\n while (partIndex !== -1 && parts[partIndex].index === walkerIndex) {\n // If we've inserted the node, simply adjust all subsequent parts\n if (insertCount > 0) {\n while (partIndex !== -1) {\n parts[partIndex].index += insertCount;\n partIndex = nextActiveIndexInTemplateParts(parts, partIndex);\n }\n return;\n }\n partIndex = nextActiveIndexInTemplateParts(parts, partIndex);\n }\n }\n}\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * Module to add shady DOM/shady CSS polyfill support to lit-html template\n * rendering. See the [[render]] method for details.\n *\n * @module shady-render\n * @preferred\n */\n\n/**\n * Do not remove this comment; it keeps typedoc from misplacing the module\n * docs.\n */\nimport {removeNodes} from './dom.js';\nimport {insertNodeIntoTemplate, removeNodesFromTemplate} from './modify-template.js';\nimport {RenderOptions} from './render-options.js';\nimport {parts, render as litRender} from './render.js';\nimport {templateCaches} from './template-factory.js';\nimport {TemplateInstance} from './template-instance.js';\nimport {TemplateResult} from './template-result.js';\nimport {marker, Template} from './template.js';\n\nexport {html, svg, TemplateResult} from '../lit-html.js';\n\n// Get a key to lookup in `templateCaches`.\nconst getTemplateCacheKey = (type: string, scopeName: string) =>\n `${type}--${scopeName}`;\n\nlet compatibleShadyCSSVersion = true;\n\nif (typeof window.ShadyCSS === 'undefined') {\n compatibleShadyCSSVersion = false;\n} else if (typeof window.ShadyCSS.prepareTemplateDom === 'undefined') {\n console.warn(\n `Incompatible ShadyCSS version detected. ` +\n `Please update to at least @webcomponents/webcomponentsjs@2.0.2 and ` +\n `@webcomponents/shadycss@1.3.1.`);\n compatibleShadyCSSVersion = false;\n}\n\n/**\n * Template factory which scopes template DOM using ShadyCSS.\n * @param scopeName {string}\n */\nconst shadyTemplateFactory = (scopeName: string) =>\n (result: TemplateResult) => {\n const cacheKey = getTemplateCacheKey(result.type, scopeName);\n let templateCache = templateCaches.get(cacheKey);\n if (templateCache === undefined) {\n templateCache = {\n stringsArray: new WeakMap(),\n keyString: new Map()\n };\n templateCaches.set(cacheKey, templateCache);\n }\n\n let template = templateCache.stringsArray.get(result.strings);\n if (template !== undefined) {\n return template;\n }\n\n const key = result.strings.join(marker);\n template = templateCache.keyString.get(key);\n if (template === undefined) {\n const element = result.getTemplateElement();\n if (compatibleShadyCSSVersion) {\n window.ShadyCSS!.prepareTemplateDom(element, scopeName);\n }\n template = new Template(result, element);\n templateCache.keyString.set(key, template);\n }\n templateCache.stringsArray.set(result.strings, template);\n return template;\n };\n\nconst TEMPLATE_TYPES = ['html', 'svg'];\n\n/**\n * Removes all style elements from Templates for the given scopeName.\n */\nconst removeStylesFromLitTemplates = (scopeName: string) => {\n TEMPLATE_TYPES.forEach((type) => {\n const templates = templateCaches.get(getTemplateCacheKey(type, scopeName));\n if (templates !== undefined) {\n templates.keyString.forEach((template) => {\n const {element: {content}} = template;\n // IE 11 doesn't support the iterable param Set constructor\n const styles = new Set();\n Array.from(content.querySelectorAll('style')).forEach((s: Element) => {\n styles.add(s);\n });\n removeNodesFromTemplate(template, styles);\n });\n }\n });\n};\n\nconst shadyRenderSet = new Set();\n\n/**\n * For the given scope name, ensures that ShadyCSS style scoping is performed.\n * This is done just once per scope name so the fragment and template cannot\n * be modified.\n * (1) extracts styles from the rendered fragment and hands them to ShadyCSS\n * to be scoped and appended to the document\n * (2) removes style elements from all lit-html Templates for this scope name.\n *\n * Note, \n \n
    \n
    horizontal layout center alignment
    \n
    \n `;\n document.body.appendChild(template.content);\n ```\n\n2. [Custom CSS\nmixins](https://github.com/PolymerElements/iron-flex-layout/blob/master/iron-flex-layout.html).\nThe mixin stylesheet includes custom CSS mixins that can be applied inside a CSS\nrule using the `@apply` function.\n\nPlease note that the old [/deep/ layout\nclasses](https://github.com/PolymerElements/iron-flex-layout/tree/master/classes)\nare deprecated, and should not be used. To continue using layout properties\ndirectly in markup, please switch to using the new `dom-module`-based\n[layout\nclasses](https://github.com/PolymerElements/iron-flex-layout/tree/master/iron-flex-layout-classes.html).\nPlease note that the new version does not use `/deep/`, and therefore requires\nyou to import the `dom-modules` in every element that needs to use them.\n\n@group Iron Elements\n@pseudoElement iron-flex-layout\n@demo demo/index.html\n*/\nconst template = html`\n\n \n\n\n \n`;\n\ntemplate.setAttribute('style', 'display: none;');\ndocument.head.appendChild(template.content);\n\nvar style = document.createElement('style');\nstyle.textContent = '[hidden] { display: none !important; }';\ndocument.head.appendChild(style);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/* Taken from\n * https://www.google.com/design/spec/style/color.html#color-ui-color-application\n */\nimport '@polymer/polymer/polymer-legacy.js';\nimport './color.js';\n\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nconst template = html`\n\n \n`;\ntemplate.setAttribute('style', 'display: none;');\ndocument.head.appendChild(template.content);\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\nimport {Part} from './part.js';\nimport {AttributeCommitter, BooleanAttributePart, EventPart, NodePart, PropertyCommitter} from './parts.js';\nimport {RenderOptions} from './render-options.js';\nimport {TemplateProcessor} from './template-processor.js';\n\n/**\n * Creates Parts when a template is instantiated.\n */\nexport class DefaultTemplateProcessor implements TemplateProcessor {\n /**\n * Create parts for an attribute-position binding, given the event, attribute\n * name, and string literals.\n *\n * @param element The element containing the binding\n * @param name The attribute name\n * @param strings The string literals. There are always at least two strings,\n * event for fully-controlled bindings with a single expression.\n */\n handleAttributeExpressions(\n element: Element, name: string, strings: string[],\n options: RenderOptions): ReadonlyArray {\n const prefix = name[0];\n if (prefix === '.') {\n const committer = new PropertyCommitter(element, name.slice(1), strings);\n return committer.parts;\n }\n if (prefix === '@') {\n return [new EventPart(element, name.slice(1), options.eventContext)];\n }\n if (prefix === '?') {\n return [new BooleanAttributePart(element, name.slice(1), strings)];\n }\n const committer = new AttributeCommitter(element, name, strings);\n return committer.parts;\n }\n /**\n * Create parts for a text-position binding.\n * @param templateFactory\n */\n handleTextExpression(options: RenderOptions) {\n return new NodePart(options);\n }\n}\n\nexport const defaultTemplateProcessor = new DefaultTemplateProcessor();\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n *\n * Main lit-html module.\n *\n * Main exports:\n *\n * - [[html]]\n * - [[svg]]\n * - [[render]]\n *\n * @module lit-html\n * @preferred\n */\n\n/**\n * Do not remove this comment; it keeps typedoc from misplacing the module\n * docs.\n */\nimport {defaultTemplateProcessor} from './lib/default-template-processor.js';\nimport {SVGTemplateResult, TemplateResult} from './lib/template-result.js';\n\nexport {DefaultTemplateProcessor, defaultTemplateProcessor} from './lib/default-template-processor.js';\nexport {directive, DirectiveFn, isDirective} from './lib/directive.js';\n// TODO(justinfagnani): remove line when we get NodePart moving methods\nexport {removeNodes, reparentNodes} from './lib/dom.js';\nexport {noChange, nothing, Part} from './lib/part.js';\nexport {AttributeCommitter, AttributePart, BooleanAttributePart, EventPart, isIterable, isPrimitive, NodePart, PropertyCommitter, PropertyPart} from './lib/parts.js';\nexport {RenderOptions} from './lib/render-options.js';\nexport {parts, render} from './lib/render.js';\nexport {templateCaches, templateFactory} from './lib/template-factory.js';\nexport {TemplateInstance} from './lib/template-instance.js';\nexport {TemplateProcessor} from './lib/template-processor.js';\nexport {SVGTemplateResult, TemplateResult} from './lib/template-result.js';\nexport {createMarker, isTemplatePartActive, Template} from './lib/template.js';\n\ndeclare global {\n interface Window {\n litHtmlVersions: string[];\n }\n}\n\n// IMPORTANT: do not change the property name or the assignment expression.\n// This line will be used in regexes to search for lit-html usage.\n// TODO(justinfagnani): inject version number at build time\n(window['litHtmlVersions'] || (window['litHtmlVersions'] = [])).push('1.1.2');\n\n/**\n * Interprets a template literal as an HTML template that can efficiently\n * render to and update a container.\n */\nexport const html = (strings: TemplateStringsArray, ...values: unknown[]) =>\n new TemplateResult(strings, values, 'html', defaultTemplateProcessor);\n\n/**\n * Interprets a template literal as an SVG template that can efficiently\n * render to and update a container.\n */\nexport const svg = (strings: TemplateStringsArray, ...values: unknown[]) =>\n new SVGTemplateResult(strings, values, 'svg', defaultTemplateProcessor);\n","/**\n@license\nCopyright 2019 Google Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {HTMLElementWithRipple} from '@material/mwc-base/form-element';\nimport {ripple} from '@material/mwc-ripple/ripple-directive.js';\nimport {html, LitElement, property, query} from 'lit-element';\nimport {classMap} from 'lit-html/directives/class-map';\n\nexport class ButtonBase extends LitElement {\n @property({type: Boolean}) raised = false;\n\n @property({type: Boolean}) unelevated = false;\n\n @property({type: Boolean}) outlined = false;\n\n @property({type: Boolean}) dense = false;\n\n @property({type: Boolean, reflect: true}) disabled = false;\n\n @property({type: Boolean}) trailingIcon = false;\n\n @property() icon = '';\n\n @property() label = '';\n\n @query('#button') buttonElement!: HTMLElementWithRipple;\n\n protected createRenderRoot() {\n return this.attachShadow({mode: 'open', delegatesFocus: true});\n }\n\n focus() {\n const buttonElement = this.buttonElement;\n if (buttonElement) {\n const ripple = buttonElement.ripple;\n if (ripple) {\n ripple.handleFocus();\n }\n\n buttonElement.focus();\n }\n }\n\n blur() {\n const buttonElement = this.buttonElement;\n if (buttonElement) {\n const ripple = buttonElement.ripple;\n if (ripple) {\n ripple.handleBlur();\n }\n\n buttonElement.blur();\n }\n }\n\n protected render() {\n const classes = {\n 'mdc-button--raised': this.raised,\n 'mdc-button--unelevated': this.unelevated,\n 'mdc-button--outlined': this.outlined,\n 'mdc-button--dense': this.dense,\n };\n const mdcButtonIcon =\n html`${this.icon}`;\n const buttonRipple = ripple({unbounded: false});\n return html`\n `;\n }\n}\n","/**\n@license\nCopyright 2018 Google Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {css} from 'lit-element';\n\nexport const style = css`.mdc-button{font-family:Roboto, sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:2.25rem;font-weight:500;letter-spacing:.0892857143em;text-decoration:none;text-transform:uppercase;padding:0 8px 0 8px;display:inline-flex;position:relative;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;border-radius:4px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{background-color:transparent;color:rgba(0,0,0,.37);cursor:default;pointer-events:none}.mdc-button .mdc-button__ripple{border-radius:4px}.mdc-button:not(:disabled){background-color:transparent}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;width:18px;height:18px;font-size:18px;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__touch{position:absolute;top:50%;right:0;left:0;height:48px;transform:translateY(-50%)}.mdc-button:not(:disabled){color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--raised .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon,.mdc-button--outlined .mdc-button__icon{margin-left:-4px;margin-right:8px}[dir=rtl] .mdc-button--raised .mdc-button__icon,.mdc-button--raised .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__icon,.mdc-button--outlined .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--raised .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mdc-button--raised,.mdc-button--unelevated{padding:0 16px 0 16px}.mdc-button--raised:disabled,.mdc-button--unelevated:disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.37)}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:#6200ee}@supports not (-ms-ime-align: auto){.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:var(--mdc-theme-primary, #6200ee)}}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary, #fff)}.mdc-button--raised{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--raised:hover,.mdc-button--raised:focus{box-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12)}.mdc-button--raised:active{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0,0,0,.12)}.mdc-button--raised:disabled{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2),0px 0px 0px 0px rgba(0, 0, 0, 0.14),0px 0px 0px 0px rgba(0,0,0,.12)}.mdc-button--outlined{border-style:solid;padding:0 15px 0 15px;border-width:1px}.mdc-button--outlined:disabled{border-color:rgba(0,0,0,.37)}.mdc-button--outlined .mdc-button__ripple{top:-1px;left:-1px;border:1px solid transparent}.mdc-button--outlined:not(:disabled){border-color:#6200ee;border-color:var(--mdc-theme-primary, #6200ee)}.mdc-button--touch{margin-top:6px;margin-bottom:6px}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface--test-edge-var-bug{--mdc-ripple-surface-test-edge-var: 1px solid #000;visibility:hidden}.mdc-ripple-surface--test-edge-var-bug::before{border:var(--mdc-ripple-surface-test-edge-var)}.mdc-button{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-button .mdc-button__ripple::before,.mdc-button .mdc-button__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-button .mdc-button__ripple::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-button.mdc-ripple-upgraded .mdc-button__ripple::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button.mdc-ripple-upgraded .mdc-button__ripple::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-button.mdc-ripple-upgraded--unbounded .mdc-button__ripple::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-button.mdc-ripple-upgraded--foreground-activation .mdc-button__ripple::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-button.mdc-ripple-upgraded--foreground-deactivation .mdc-button__ripple::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button .mdc-button__ripple::before,.mdc-button .mdc-button__ripple::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-button.mdc-ripple-upgraded .mdc-button__ripple::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-button .mdc-button__ripple::before,.mdc-button .mdc-button__ripple::after{background-color:#6200ee}@supports not (-ms-ime-align: auto){.mdc-button .mdc-button__ripple::before,.mdc-button .mdc-button__ripple::after{background-color:var(--mdc-theme-primary, #6200ee)}}.mdc-button:hover .mdc-button__ripple::before{opacity:.04}.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{transition-duration:75ms;opacity:.12}.mdc-button:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{transition:opacity 150ms linear}.mdc-button:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{transition-duration:75ms;opacity:.12}.mdc-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-button .mdc-button__ripple{position:absolute;width:100%;height:100%;overflow:hidden}.mdc-button:not(.mdc-button--outlined) .mdc-button__ripple{top:0;left:0}.mdc-button--raised .mdc-button__ripple::before,.mdc-button--raised .mdc-button__ripple::after,.mdc-button--unelevated .mdc-button__ripple::before,.mdc-button--unelevated .mdc-button__ripple::after{background-color:#fff}@supports not (-ms-ime-align: auto){.mdc-button--raised .mdc-button__ripple::before,.mdc-button--raised .mdc-button__ripple::after,.mdc-button--unelevated .mdc-button__ripple::before,.mdc-button--unelevated .mdc-button__ripple::after{background-color:var(--mdc-theme-on-primary, #fff)}}.mdc-button--raised:hover .mdc-button__ripple::before,.mdc-button--unelevated:hover .mdc-button__ripple::before{opacity:.08}.mdc-button--raised.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.mdc-button--raised:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before,.mdc-button--unelevated.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{transition-duration:75ms;opacity:.24}.mdc-button--raised:not(.mdc-ripple-upgraded) .mdc-button__ripple::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{transition:opacity 150ms linear}.mdc-button--raised:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{transition-duration:75ms;opacity:.24}.mdc-button--raised.mdc-ripple-upgraded,.mdc-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.mdc-button{height:36px}.material-icons{font-family:var(--mdc-icon-font, \"Material Icons\");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}:host{display:inline-flex;outline:none}:host([disabled]){pointer-events:none}.mdc-button{flex:auto}`;\n","/**\n@license\nCopyright 2018 Google Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {customElement} from 'lit-element';\n\nimport {ButtonBase} from './mwc-button-base.js';\nimport {style} from './mwc-button-css.js';\n\n@customElement('mwc-button')\nexport class Button extends ButtonBase {\n static styles = style;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mwc-button': Button;\n }\n}\n","/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nimport {resolveUrl} from '@polymer/polymer/lib/utils/resolve-url.js';\n\n/**\n`iron-image` is an element for displaying an image that provides useful sizing and\npreloading options not found on the standard `` tag.\n\nThe `sizing` option allows the image to be either cropped (`cover`) or\nletterboxed (`contain`) to fill a fixed user-size placed on the element.\n\nThe `preload` option prevents the browser from rendering the image until the\nimage is fully loaded. In the interim, either the element's CSS `background-color`\ncan be be used as the placeholder, or the `placeholder` property can be\nset to a URL (preferably a data-URI, for instant rendering) for an\nplaceholder image.\n\nThe `fade` option (only valid when `preload` is set) will cause the placeholder\nimage/color to be faded out once the image is rendered.\n\nExamples:\n\n Basically identical to `` tag:\n\n \n\n Will letterbox the image to fit:\n\n \n\n Will crop the image to fit:\n\n \n\n Will show light-gray background until the image loads:\n\n \n\n Will show a base-64 encoded placeholder image until the image loads:\n\n \n\n Will fade the light-gray background out once the image is loaded:\n\n \n\nCustom property | Description | Default\n----------------|-------------|----------\n`--iron-image-placeholder` | Mixin applied to #placeholder | `{}`\n`--iron-image-width` | Sets the width of the wrapped image | `auto`\n`--iron-image-height` | Sets the height of the wrapped image | `auto`\n\n@group Iron Elements\n@element iron-image\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n
    \n
    \n \n
    \n`,\n\n is: 'iron-image',\n\n properties: {\n /**\n * The URL of an image.\n */\n src: {type: String, value: ''},\n\n /**\n * A short text alternative for the image.\n */\n alt: {type: String, value: null},\n\n /**\n * CORS enabled images support:\n * https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image\n */\n crossorigin: {type: String, value: null},\n\n /**\n * When true, the image is prevented from loading and any placeholder is\n * shown. This may be useful when a binding to the src property is known to\n * be invalid, to prevent 404 requests.\n */\n preventLoad: {type: Boolean, value: false},\n\n /**\n * Sets a sizing option for the image. Valid values are `contain` (full\n * aspect ratio of the image is contained within the element and\n * letterboxed) or `cover` (image is cropped in order to fully cover the\n * bounds of the element), or `null` (default: image takes natural size).\n */\n sizing: {type: String, value: null, reflectToAttribute: true},\n\n /**\n * When a sizing option is used (`cover` or `contain`), this determines\n * how the image is aligned within the element bounds.\n */\n position: {type: String, value: 'center'},\n\n /**\n * When `true`, any change to the `src` property will cause the\n * `placeholder` image to be shown until the new image has loaded.\n */\n preload: {type: Boolean, value: false},\n\n /**\n * This image will be used as a background/placeholder until the src image\n * has loaded. Use of a data-URI for placeholder is encouraged for instant\n * rendering.\n */\n placeholder: {type: String, value: null, observer: '_placeholderChanged'},\n\n /**\n * When `preload` is true, setting `fade` to true will cause the image to\n * fade into place.\n */\n fade: {type: Boolean, value: false},\n\n /**\n * Read-only value that is true when the image is loaded.\n */\n loaded: {notify: true, readOnly: true, type: Boolean, value: false},\n\n /**\n * Read-only value that tracks the loading state of the image when the\n * `preload` option is used.\n */\n loading: {notify: true, readOnly: true, type: Boolean, value: false},\n\n /**\n * Read-only value that indicates that the last set `src` failed to load.\n */\n error: {notify: true, readOnly: true, type: Boolean, value: false},\n\n /**\n * Can be used to set the width of image (e.g. via binding); size may also\n * be set via CSS.\n */\n width: {observer: '_widthChanged', type: Number, value: null},\n\n /**\n * Can be used to set the height of image (e.g. via binding); size may also\n * be set via CSS.\n *\n * @attribute height\n * @type number\n * @default null\n */\n height: {observer: '_heightChanged', type: Number, value: null},\n },\n\n observers: [\n '_transformChanged(sizing, position)',\n '_loadStateObserver(src, preventLoad)'\n ],\n\n created: function() {\n this._resolvedSrc = '';\n },\n\n _imgOnLoad: function() {\n if (this.$.img.src !== this._resolveSrc(this.src)) {\n return;\n }\n\n this._setLoading(false);\n this._setLoaded(true);\n this._setError(false);\n },\n\n _imgOnError: function() {\n if (this.$.img.src !== this._resolveSrc(this.src)) {\n return;\n }\n\n this.$.img.removeAttribute('src');\n this.$.sizedImgDiv.style.backgroundImage = '';\n\n this._setLoading(false);\n this._setLoaded(false);\n this._setError(true);\n },\n\n _computePlaceholderHidden: function() {\n return !this.preload || (!this.fade && !this.loading && this.loaded);\n },\n\n _computePlaceholderClassName: function() {\n return (this.preload && this.fade && !this.loading && this.loaded) ?\n 'faded-out' :\n '';\n },\n\n _computeImgDivHidden: function() {\n return !this.sizing;\n },\n\n _computeImgDivARIAHidden: function() {\n return this.alt === '' ? 'true' : undefined;\n },\n\n _computeImgDivARIALabel: function() {\n if (this.alt !== null) {\n return this.alt;\n }\n\n // Polymer.ResolveUrl.resolveUrl will resolve '' relative to a URL x to\n // that URL x, but '' is the default for src.\n if (this.src === '') {\n return '';\n }\n\n // NOTE: Use of `URL` was removed here because IE11 doesn't support\n // constructing it. If this ends up being problematic, we should\n // consider reverting and adding the URL polyfill as a dev dependency.\n var resolved = this._resolveSrc(this.src);\n // Remove query parts, get file name.\n return resolved.replace(/[?|#].*/g, '').split('/').pop();\n },\n\n _computeImgHidden: function() {\n return !!this.sizing;\n },\n\n _widthChanged: function() {\n this.style.width = isNaN(this.width) ? this.width : this.width + 'px';\n },\n\n _heightChanged: function() {\n this.style.height = isNaN(this.height) ? this.height : this.height + 'px';\n },\n\n _loadStateObserver: function(src, preventLoad) {\n var newResolvedSrc = this._resolveSrc(src);\n if (newResolvedSrc === this._resolvedSrc) {\n return;\n }\n\n this._resolvedSrc = '';\n this.$.img.removeAttribute('src');\n this.$.sizedImgDiv.style.backgroundImage = '';\n\n if (src === '' || preventLoad) {\n this._setLoading(false);\n this._setLoaded(false);\n this._setError(false);\n } else {\n this._resolvedSrc = newResolvedSrc;\n this.$.img.src = this._resolvedSrc;\n this.$.sizedImgDiv.style.backgroundImage =\n 'url(\"' + this._resolvedSrc + '\")';\n\n this._setLoading(true);\n this._setLoaded(false);\n this._setError(false);\n }\n },\n\n _placeholderChanged: function() {\n this.$.placeholder.style.backgroundImage =\n this.placeholder ? 'url(\"' + this.placeholder + '\")' : '';\n },\n\n _transformChanged: function() {\n var sizedImgDivStyle = this.$.sizedImgDiv.style;\n var placeholderStyle = this.$.placeholder.style;\n\n sizedImgDivStyle.backgroundSize = placeholderStyle.backgroundSize =\n this.sizing;\n\n sizedImgDivStyle.backgroundPosition = placeholderStyle.backgroundPosition =\n this.sizing ? this.position : '';\n\n sizedImgDivStyle.backgroundRepeat = placeholderStyle.backgroundRepeat =\n this.sizing ? 'no-repeat' : '';\n },\n\n _resolveSrc: function(testSrc) {\n var resolved = resolveUrl(testSrc, this.$.baseURIAnchor.href);\n // NOTE: Use of `URL` was removed here because IE11 doesn't support\n // constructing it. If this ends up being problematic, we should\n // consider reverting and adding the URL polyfill as a dev dependency.\n if (resolved.length >= 2 && resolved[0] === '/' && resolved[1] !== '/') {\n // In IE location.origin might not work\n // https://connect.microsoft.com/IE/feedback/details/1763802/location-origin-is-undefined-in-ie-11-on-windows-10-but-works-on-windows-7\n resolved = (location.origin || location.protocol + '//' + location.host) +\n resolved;\n }\n return resolved;\n }\n});\n","/**\n@license\nCopyright (c) 2017 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/**\nMaterial design:\n[Cards](https://www.google.com/design/spec/components/cards.html)\n\nShared styles that you can apply to an element to renders two shadows on top\nof each other,that create the effect of a lifted piece of paper.\n\nExample:\n\n \n \n \n\n
    \n ... content ...\n
    \n\n@group Paper Elements\n@demo demo/index.html\n*/\n\nimport '@polymer/polymer/polymer-legacy.js';\nimport '../shadow.js';\n\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nconst template = html`\n\n \n`;\ntemplate.setAttribute('style', 'display: none;');\ndocument.head.appendChild(template.content);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/iron-image/iron-image.js';\nimport '@polymer/paper-styles/element-styles/paper-material-styles.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Cards](https://www.google.com/design/spec/components/cards.html)\n\n`paper-card` is a container with a drop shadow.\n\nExample:\n\n \n
    Some content
    \n
    \n Some action\n
    \n
    \n\nExample - top card image:\n\n \n ...\n \n\n### Accessibility\n\nBy default, the `aria-label` will be set to the value of the `heading`\nattribute.\n\n### Styling\n\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-card-background-color` | The background color of the card | `--primary-background-color`\n`--paper-card-header-color` | The color of the header text | `#000`\n`--paper-card-header` | Mixin applied to the card header section | `{}`\n`--paper-card-header-text` | Mixin applied to the title in the card header section | `{}`\n`--paper-card-header-image` | Mixin applied to the image in the card header section | `{}`\n`--paper-card-header-image-text` | Mixin applied to the text overlapping the image in the card header section | `{}`\n`--paper-card-content` | Mixin applied to the card content section| `{}`\n`--paper-card-actions` | Mixin applied to the card action section | `{}`\n`--paper-card` | Mixin applied to the card | `{}`\n\n@group Paper Elements\n@element paper-card\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n`,\n\n is: 'paper-card',\n\n properties: {\n /**\n * The title of the card.\n */\n heading: {type: String, value: '', observer: '_headingChanged'},\n\n /**\n * The url of the title image of the card.\n */\n image: {type: String, value: ''},\n\n /**\n * The text alternative of the card's title image.\n */\n alt: {type: String},\n\n /**\n * When `true`, any change to the image url property will cause the\n * `placeholder` image to be shown until the image is fully rendered.\n */\n preloadImage: {type: Boolean, value: false},\n\n /**\n * When `preloadImage` is true, setting `fadeImage` to true will cause the\n * image to fade into place.\n */\n fadeImage: {type: Boolean, value: false},\n\n /**\n * This image will be used as a background/placeholder until the src image\n * has loaded. Use of a data-URI for placeholder is encouraged for instant\n * rendering.\n */\n placeholderImage: {type: String, value: null},\n\n /**\n * The z-depth of the card, from 0-5.\n */\n elevation: {type: Number, value: 1, reflectToAttribute: true},\n\n /**\n * Set this to true to animate the card shadow when setting a new\n * `z` value.\n */\n animatedShadow: {type: Boolean, value: false},\n\n /**\n * Read-only property used to pass down the `animatedShadow` value to\n * the underlying paper-material style (since they have different names).\n */\n animated: {\n type: Boolean,\n reflectToAttribute: true,\n readOnly: true,\n computed: '_computeAnimated(animatedShadow)'\n }\n },\n\n /**\n * Format function for aria-hidden. Use the ! operator results in the\n * empty string when given a falsy value.\n */\n _isHidden: function(image) {\n return image ? 'false' : 'true';\n },\n\n _headingChanged: function(heading) {\n var currentHeading = this.getAttribute('heading'),\n currentLabel = this.getAttribute('aria-label');\n\n if (typeof currentLabel !== 'string' || currentLabel === currentHeading) {\n this.setAttribute('aria-label', heading);\n }\n },\n\n _computeHeadingClass: function(image) {\n return image ? ' over-image' : '';\n },\n\n _computeAnimated: function(animatedShadow) {\n return animatedShadow;\n }\n});\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\nimport {isDirective} from './directive.js';\nimport {removeNodes} from './dom.js';\nimport {noChange, nothing, Part} from './part.js';\nimport {RenderOptions} from './render-options.js';\nimport {TemplateInstance} from './template-instance.js';\nimport {TemplateResult} from './template-result.js';\nimport {createMarker} from './template.js';\n\n// https://tc39.github.io/ecma262/#sec-typeof-operator\nexport type Primitive = null|undefined|boolean|number|string|Symbol|bigint;\nexport const isPrimitive = (value: unknown): value is Primitive => {\n return (\n value === null ||\n !(typeof value === 'object' || typeof value === 'function'));\n};\nexport const isIterable = (value: unknown): value is Iterable => {\n return Array.isArray(value) ||\n // tslint:disable-next-line:no-any\n !!(value && (value as any)[Symbol.iterator]);\n};\n\n/**\n * Writes attribute values to the DOM for a group of AttributeParts bound to a\n * single attibute. The value is only set once even if there are multiple parts\n * for an attribute.\n */\nexport class AttributeCommitter {\n readonly element: Element;\n readonly name: string;\n readonly strings: ReadonlyArray;\n readonly parts: ReadonlyArray;\n dirty = true;\n\n constructor(element: Element, name: string, strings: ReadonlyArray) {\n this.element = element;\n this.name = name;\n this.strings = strings;\n this.parts = [];\n for (let i = 0; i < strings.length - 1; i++) {\n (this.parts as AttributePart[])[i] = this._createPart();\n }\n }\n\n /**\n * Creates a single part. Override this to create a differnt type of part.\n */\n protected _createPart(): AttributePart {\n return new AttributePart(this);\n }\n\n protected _getValue(): unknown {\n const strings = this.strings;\n const l = strings.length - 1;\n let text = '';\n\n for (let i = 0; i < l; i++) {\n text += strings[i];\n const part = this.parts[i];\n if (part !== undefined) {\n const v = part.value;\n if (isPrimitive(v) || !isIterable(v)) {\n text += typeof v === 'string' ? v : String(v);\n } else {\n for (const t of v) {\n text += typeof t === 'string' ? t : String(t);\n }\n }\n }\n }\n\n text += strings[l];\n return text;\n }\n\n commit(): void {\n if (this.dirty) {\n this.dirty = false;\n this.element.setAttribute(this.name, this._getValue() as string);\n }\n }\n}\n\n/**\n * A Part that controls all or part of an attribute value.\n */\nexport class AttributePart implements Part {\n readonly committer: AttributeCommitter;\n value: unknown = undefined;\n\n constructor(committer: AttributeCommitter) {\n this.committer = committer;\n }\n\n setValue(value: unknown): void {\n if (value !== noChange && (!isPrimitive(value) || value !== this.value)) {\n this.value = value;\n // If the value is a not a directive, dirty the committer so that it'll\n // call setAttribute. If the value is a directive, it'll dirty the\n // committer if it calls setValue().\n if (!isDirective(value)) {\n this.committer.dirty = true;\n }\n }\n }\n\n commit() {\n while (isDirective(this.value)) {\n const directive = this.value;\n this.value = noChange;\n directive(this);\n }\n if (this.value === noChange) {\n return;\n }\n this.committer.commit();\n }\n}\n\n/**\n * A Part that controls a location within a Node tree. Like a Range, NodePart\n * has start and end locations and can set and update the Nodes between those\n * locations.\n *\n * NodeParts support several value types: primitives, Nodes, TemplateResults,\n * as well as arrays and iterables of those types.\n */\nexport class NodePart implements Part {\n readonly options: RenderOptions;\n startNode!: Node;\n endNode!: Node;\n value: unknown = undefined;\n private __pendingValue: unknown = undefined;\n\n constructor(options: RenderOptions) {\n this.options = options;\n }\n\n /**\n * Appends this part into a container.\n *\n * This part must be empty, as its contents are not automatically moved.\n */\n appendInto(container: Node) {\n this.startNode = container.appendChild(createMarker());\n this.endNode = container.appendChild(createMarker());\n }\n\n /**\n * Inserts this part after the `ref` node (between `ref` and `ref`'s next\n * sibling). Both `ref` and its next sibling must be static, unchanging nodes\n * such as those that appear in a literal section of a template.\n *\n * This part must be empty, as its contents are not automatically moved.\n */\n insertAfterNode(ref: Node) {\n this.startNode = ref;\n this.endNode = ref.nextSibling!;\n }\n\n /**\n * Appends this part into a parent part.\n *\n * This part must be empty, as its contents are not automatically moved.\n */\n appendIntoPart(part: NodePart) {\n part.__insert(this.startNode = createMarker());\n part.__insert(this.endNode = createMarker());\n }\n\n /**\n * Inserts this part after the `ref` part.\n *\n * This part must be empty, as its contents are not automatically moved.\n */\n insertAfterPart(ref: NodePart) {\n ref.__insert(this.startNode = createMarker());\n this.endNode = ref.endNode;\n ref.endNode = this.startNode;\n }\n\n setValue(value: unknown): void {\n this.__pendingValue = value;\n }\n\n commit() {\n while (isDirective(this.__pendingValue)) {\n const directive = this.__pendingValue;\n this.__pendingValue = noChange;\n directive(this);\n }\n const value = this.__pendingValue;\n if (value === noChange) {\n return;\n }\n if (isPrimitive(value)) {\n if (value !== this.value) {\n this.__commitText(value);\n }\n } else if (value instanceof TemplateResult) {\n this.__commitTemplateResult(value);\n } else if (value instanceof Node) {\n this.__commitNode(value);\n } else if (isIterable(value)) {\n this.__commitIterable(value);\n } else if (value === nothing) {\n this.value = nothing;\n this.clear();\n } else {\n // Fallback, will render the string representation\n this.__commitText(value);\n }\n }\n\n private __insert(node: Node) {\n this.endNode.parentNode!.insertBefore(node, this.endNode);\n }\n\n private __commitNode(value: Node): void {\n if (this.value === value) {\n return;\n }\n this.clear();\n this.__insert(value);\n this.value = value;\n }\n\n private __commitText(value: unknown): void {\n const node = this.startNode.nextSibling!;\n value = value == null ? '' : value;\n // If `value` isn't already a string, we explicitly convert it here in case\n // it can't be implicitly converted - i.e. it's a symbol.\n const valueAsString: string =\n typeof value === 'string' ? value : String(value);\n if (node === this.endNode.previousSibling &&\n node.nodeType === 3 /* Node.TEXT_NODE */) {\n // If we only have a single text node between the markers, we can just\n // set its value, rather than replacing it.\n // TODO(justinfagnani): Can we just check if this.value is primitive?\n (node as Text).data = valueAsString;\n } else {\n this.__commitNode(document.createTextNode(valueAsString));\n }\n this.value = value;\n }\n\n private __commitTemplateResult(value: TemplateResult): void {\n const template = this.options.templateFactory(value);\n if (this.value instanceof TemplateInstance &&\n this.value.template === template) {\n this.value.update(value.values);\n } else {\n // Make sure we propagate the template processor from the TemplateResult\n // so that we use its syntax extension, etc. The template factory comes\n // from the render function options so that it can control template\n // caching and preprocessing.\n const instance =\n new TemplateInstance(template, value.processor, this.options);\n const fragment = instance._clone();\n instance.update(value.values);\n this.__commitNode(fragment);\n this.value = instance;\n }\n }\n\n private __commitIterable(value: Iterable): void {\n // For an Iterable, we create a new InstancePart per item, then set its\n // value to the item. This is a little bit of overhead for every item in\n // an Iterable, but it lets us recurse easily and efficiently update Arrays\n // of TemplateResults that will be commonly returned from expressions like:\n // array.map((i) => html`${i}`), by reusing existing TemplateInstances.\n\n // If _value is an array, then the previous render was of an\n // iterable and _value will contain the NodeParts from the previous\n // render. If _value is not an array, clear this part and make a new\n // array for NodeParts.\n if (!Array.isArray(this.value)) {\n this.value = [];\n this.clear();\n }\n\n // Lets us keep track of how many items we stamped so we can clear leftover\n // items from a previous render\n const itemParts = this.value as NodePart[];\n let partIndex = 0;\n let itemPart: NodePart|undefined;\n\n for (const item of value) {\n // Try to reuse an existing part\n itemPart = itemParts[partIndex];\n\n // If no existing part, create a new one\n if (itemPart === undefined) {\n itemPart = new NodePart(this.options);\n itemParts.push(itemPart);\n if (partIndex === 0) {\n itemPart.appendIntoPart(this);\n } else {\n itemPart.insertAfterPart(itemParts[partIndex - 1]);\n }\n }\n itemPart.setValue(item);\n itemPart.commit();\n partIndex++;\n }\n\n if (partIndex < itemParts.length) {\n // Truncate the parts array so _value reflects the current state\n itemParts.length = partIndex;\n this.clear(itemPart && itemPart.endNode);\n }\n }\n\n clear(startNode: Node = this.startNode) {\n removeNodes(\n this.startNode.parentNode!, startNode.nextSibling!, this.endNode);\n }\n}\n\n/**\n * Implements a boolean attribute, roughly as defined in the HTML\n * specification.\n *\n * If the value is truthy, then the attribute is present with a value of\n * ''. If the value is falsey, the attribute is removed.\n */\nexport class BooleanAttributePart implements Part {\n readonly element: Element;\n readonly name: string;\n readonly strings: ReadonlyArray;\n value: unknown = undefined;\n private __pendingValue: unknown = undefined;\n\n constructor(element: Element, name: string, strings: ReadonlyArray) {\n if (strings.length !== 2 || strings[0] !== '' || strings[1] !== '') {\n throw new Error(\n 'Boolean attributes can only contain a single expression');\n }\n this.element = element;\n this.name = name;\n this.strings = strings;\n }\n\n setValue(value: unknown): void {\n this.__pendingValue = value;\n }\n\n commit() {\n while (isDirective(this.__pendingValue)) {\n const directive = this.__pendingValue;\n this.__pendingValue = noChange;\n directive(this);\n }\n if (this.__pendingValue === noChange) {\n return;\n }\n const value = !!this.__pendingValue;\n if (this.value !== value) {\n if (value) {\n this.element.setAttribute(this.name, '');\n } else {\n this.element.removeAttribute(this.name);\n }\n this.value = value;\n }\n this.__pendingValue = noChange;\n }\n}\n\n/**\n * Sets attribute values for PropertyParts, so that the value is only set once\n * even if there are multiple parts for a property.\n *\n * If an expression controls the whole property value, then the value is simply\n * assigned to the property under control. If there are string literals or\n * multiple expressions, then the strings are expressions are interpolated into\n * a string first.\n */\nexport class PropertyCommitter extends AttributeCommitter {\n readonly single: boolean;\n\n constructor(element: Element, name: string, strings: ReadonlyArray) {\n super(element, name, strings);\n this.single =\n (strings.length === 2 && strings[0] === '' && strings[1] === '');\n }\n\n protected _createPart(): PropertyPart {\n return new PropertyPart(this);\n }\n\n protected _getValue() {\n if (this.single) {\n return this.parts[0].value;\n }\n return super._getValue();\n }\n\n commit(): void {\n if (this.dirty) {\n this.dirty = false;\n // tslint:disable-next-line:no-any\n (this.element as any)[this.name] = this._getValue();\n }\n }\n}\n\nexport class PropertyPart extends AttributePart {}\n\n// Detect event listener options support. If the `capture` property is read\n// from the options object, then options are supported. If not, then the thrid\n// argument to add/removeEventListener is interpreted as the boolean capture\n// value so we should only pass the `capture` property.\nlet eventOptionsSupported = false;\n\ntry {\n const options = {\n get capture() {\n eventOptionsSupported = true;\n return false;\n }\n };\n // tslint:disable-next-line:no-any\n window.addEventListener('test', options as any, options);\n // tslint:disable-next-line:no-any\n window.removeEventListener('test', options as any, options);\n} catch (_e) {\n}\n\n\ntype EventHandlerWithOptions =\n EventListenerOrEventListenerObject&Partial;\nexport class EventPart implements Part {\n readonly element: Element;\n readonly eventName: string;\n readonly eventContext?: EventTarget;\n value: undefined|EventHandlerWithOptions = undefined;\n private __options?: AddEventListenerOptions;\n private __pendingValue: undefined|EventHandlerWithOptions = undefined;\n private readonly __boundHandleEvent: (event: Event) => void;\n\n constructor(element: Element, eventName: string, eventContext?: EventTarget) {\n this.element = element;\n this.eventName = eventName;\n this.eventContext = eventContext;\n this.__boundHandleEvent = (e) => this.handleEvent(e);\n }\n\n setValue(value: undefined|EventHandlerWithOptions): void {\n this.__pendingValue = value;\n }\n\n commit() {\n while (isDirective(this.__pendingValue)) {\n const directive = this.__pendingValue;\n this.__pendingValue = noChange as EventHandlerWithOptions;\n directive(this);\n }\n if (this.__pendingValue === noChange) {\n return;\n }\n\n const newListener = this.__pendingValue;\n const oldListener = this.value;\n const shouldRemoveListener = newListener == null ||\n oldListener != null &&\n (newListener.capture !== oldListener.capture ||\n newListener.once !== oldListener.once ||\n newListener.passive !== oldListener.passive);\n const shouldAddListener =\n newListener != null && (oldListener == null || shouldRemoveListener);\n\n if (shouldRemoveListener) {\n this.element.removeEventListener(\n this.eventName, this.__boundHandleEvent, this.__options);\n }\n if (shouldAddListener) {\n this.__options = getOptions(newListener);\n this.element.addEventListener(\n this.eventName, this.__boundHandleEvent, this.__options);\n }\n this.value = newListener;\n this.__pendingValue = noChange as EventHandlerWithOptions;\n }\n\n handleEvent(event: Event) {\n if (typeof this.value === 'function') {\n this.value.call(this.eventContext || this.element, event);\n } else {\n (this.value as EventListenerObject).handleEvent(event);\n }\n }\n}\n\n// We copy options because of the inconsistent behavior of browsers when reading\n// the third argument of add/removeEventListener. IE11 doesn't support options\n// at all. Chrome 41 only reads `capture` if the argument is an object.\nconst getOptions = (o: AddEventListenerOptions|undefined) => o &&\n (eventOptionsSupported ?\n {capture: o.capture, passive: o.passive, once: o.once} :\n o.capture as AddEventListenerOptions);\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\nimport {TemplateResult} from './template-result.js';\n\n/**\n * An expression marker with embedded unique key to avoid collision with\n * possible text in templates.\n */\nexport const marker = `{{lit-${String(Math.random()).slice(2)}}}`;\n\n/**\n * An expression marker used text-positions, multi-binding attributes, and\n * attributes with markup-like text values.\n */\nexport const nodeMarker = ``;\n\nexport const markerRegex = new RegExp(`${marker}|${nodeMarker}`);\n\n/**\n * Suffix appended to all bound attribute names.\n */\nexport const boundAttributeSuffix = '$lit$';\n\n/**\n * An updateable Template that tracks the location of dynamic parts.\n */\nexport class Template {\n readonly parts: TemplatePart[] = [];\n readonly element: HTMLTemplateElement;\n\n constructor(result: TemplateResult, element: HTMLTemplateElement) {\n this.element = element;\n\n const nodesToRemove: Node[] = [];\n const stack: Node[] = [];\n // Edge needs all 4 parameters present; IE11 needs 3rd parameter to be null\n const walker = document.createTreeWalker(\n element.content,\n 133 /* NodeFilter.SHOW_{ELEMENT|COMMENT|TEXT} */,\n null,\n false);\n // Keeps track of the last index associated with a part. We try to delete\n // unnecessary nodes, but we never want to associate two different parts\n // to the same index. They must have a constant node between.\n let lastPartIndex = 0;\n let index = -1;\n let partIndex = 0;\n const {strings, values: {length}} = result;\n while (partIndex < length) {\n const node = walker.nextNode() as Element | Comment | Text | null;\n if (node === null) {\n // We've exhausted the content inside a nested template element.\n // Because we still have parts (the outer for-loop), we know:\n // - There is a template in the stack\n // - The walker will find a nextNode outside the template\n walker.currentNode = stack.pop()!;\n continue;\n }\n index++;\n\n if (node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n if ((node as Element).hasAttributes()) {\n const attributes = (node as Element).attributes;\n const {length} = attributes;\n // Per\n // https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap,\n // attributes are not guaranteed to be returned in document order.\n // In particular, Edge/IE can return them out of order, so we cannot\n // assume a correspondence between part index and attribute index.\n let count = 0;\n for (let i = 0; i < length; i++) {\n if (endsWith(attributes[i].name, boundAttributeSuffix)) {\n count++;\n }\n }\n while (count-- > 0) {\n // Get the template literal section leading up to the first\n // expression in this attribute\n const stringForPart = strings[partIndex];\n // Find the attribute name\n const name = lastAttributeNameRegex.exec(stringForPart)![2];\n // Find the corresponding attribute\n // All bound attributes have had a suffix added in\n // TemplateResult#getHTML to opt out of special attribute\n // handling. To look up the attribute value we also need to add\n // the suffix.\n const attributeLookupName =\n name.toLowerCase() + boundAttributeSuffix;\n const attributeValue =\n (node as Element).getAttribute(attributeLookupName)!;\n (node as Element).removeAttribute(attributeLookupName);\n const statics = attributeValue.split(markerRegex);\n this.parts.push({type: 'attribute', index, name, strings: statics});\n partIndex += statics.length - 1;\n }\n }\n if ((node as Element).tagName === 'TEMPLATE') {\n stack.push(node);\n walker.currentNode = (node as HTMLTemplateElement).content;\n }\n } else if (node.nodeType === 3 /* Node.TEXT_NODE */) {\n const data = (node as Text).data;\n if (data.indexOf(marker) >= 0) {\n const parent = node.parentNode!;\n const strings = data.split(markerRegex);\n const lastIndex = strings.length - 1;\n // Generate a new text node for each literal section\n // These nodes are also used as the markers for node parts\n for (let i = 0; i < lastIndex; i++) {\n let insert: Node;\n let s = strings[i];\n if (s === '') {\n insert = createMarker();\n } else {\n const match = lastAttributeNameRegex.exec(s);\n if (match !== null && endsWith(match[2], boundAttributeSuffix)) {\n s = s.slice(0, match.index) + match[1] +\n match[2].slice(0, -boundAttributeSuffix.length) + match[3];\n }\n insert = document.createTextNode(s);\n }\n parent.insertBefore(insert, node);\n this.parts.push({type: 'node', index: ++index});\n }\n // If there's no text, we must insert a comment to mark our place.\n // Else, we can trust it will stick around after cloning.\n if (strings[lastIndex] === '') {\n parent.insertBefore(createMarker(), node);\n nodesToRemove.push(node);\n } else {\n (node as Text).data = strings[lastIndex];\n }\n // We have a part for each match found\n partIndex += lastIndex;\n }\n } else if (node.nodeType === 8 /* Node.COMMENT_NODE */) {\n if ((node as Comment).data === marker) {\n const parent = node.parentNode!;\n // Add a new marker node to be the startNode of the Part if any of\n // the following are true:\n // * We don't have a previousSibling\n // * The previousSibling is already the start of a previous part\n if (node.previousSibling === null || index === lastPartIndex) {\n index++;\n parent.insertBefore(createMarker(), node);\n }\n lastPartIndex = index;\n this.parts.push({type: 'node', index});\n // If we don't have a nextSibling, keep this node so we have an end.\n // Else, we can remove it to save future costs.\n if (node.nextSibling === null) {\n (node as Comment).data = '';\n } else {\n nodesToRemove.push(node);\n index--;\n }\n partIndex++;\n } else {\n let i = -1;\n while ((i = (node as Comment).data.indexOf(marker, i + 1)) !== -1) {\n // Comment node has a binding marker inside, make an inactive part\n // The binding won't work, but subsequent bindings will\n // TODO (justinfagnani): consider whether it's even worth it to\n // make bindings in comments work\n this.parts.push({type: 'node', index: -1});\n partIndex++;\n }\n }\n }\n }\n\n // Remove text binding nodes after the walk to not disturb the TreeWalker\n for (const n of nodesToRemove) {\n n.parentNode!.removeChild(n);\n }\n }\n}\n\nconst endsWith = (str: string, suffix: string): boolean => {\n const index = str.length - suffix.length;\n return index >= 0 && str.slice(index) === suffix;\n};\n\n/**\n * A placeholder for a dynamic expression in an HTML template.\n *\n * There are two built-in part types: AttributePart and NodePart. NodeParts\n * always represent a single dynamic expression, while AttributeParts may\n * represent as many expressions are contained in the attribute.\n *\n * A Template's parts are mutable, so parts can be replaced or modified\n * (possibly to implement different template semantics). The contract is that\n * parts can only be replaced, not removed, added or reordered, and parts must\n * always consume the correct number of values in their `update()` method.\n *\n * TODO(justinfagnani): That requirement is a little fragile. A\n * TemplateInstance could instead be more careful about which values it gives\n * to Part.update().\n */\nexport type TemplatePart = {\n readonly type: 'node',\n index: number\n}|{readonly type: 'attribute', index: number, readonly name: string, readonly strings: ReadonlyArray};\n\nexport const isTemplatePartActive = (part: TemplatePart) => part.index !== -1;\n\n// Allows `document.createComment('')` to be renamed for a\n// small manual size-savings.\nexport const createMarker = () => document.createComment('');\n\n/**\n * This regex extracts the attribute name preceding an attribute-position\n * expression. It does this by matching the syntax allowed for attributes\n * against the string literal directly preceding the expression, assuming that\n * the expression is in an attribute-value position.\n *\n * See attributes in the HTML spec:\n * https://www.w3.org/TR/html5/syntax.html#elements-attributes\n *\n * \" \\x09\\x0a\\x0c\\x0d\" are HTML space characters:\n * https://www.w3.org/TR/html5/infrastructure.html#space-characters\n *\n * \"\\0-\\x1F\\x7F-\\x9F\" are Unicode control characters, which includes every\n * space character except \" \".\n *\n * So an attribute is:\n * * The name: any character except a control character, space character, ('),\n * (\"), \">\", \"=\", or \"/\"\n * * Followed by zero or more space characters\n * * Followed by \"=\"\n * * Followed by zero or more space characters\n * * Followed by:\n * * Any character except space, ('), (\"), \"<\", \">\", \"=\", (`), or\n * * (\") then any non-(\"), or\n * * (') then any non-(')\n */\nexport const lastAttributeNameRegex =\n /([ \\x09\\x0a\\x0c\\x0d])([^\\0-\\x1F\\x7F-\\x9F \"'>=/]+)([ \\x09\\x0a\\x0c\\x0d]*=[ \\x09\\x0a\\x0c\\x0d]*(?:[^ \\x09\\x0a\\x0c\\x0d\"'`<>=]*|\"[^\"]*|'[^']*))$/;\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\n\nimport {IronMeta} from '@polymer/iron-meta/iron-meta.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nimport {Base} from '@polymer/polymer/polymer-legacy.js';\n\n/**\n\nThe `iron-icon` element displays an icon. By default an icon renders as a 24px\nsquare.\n\nExample using src:\n\n \n\nExample setting size to 32px x 32px:\n\n \n\n \n\nThe iron elements include several sets of icons. To use the default set of\nicons, import `iron-icons.js` and use the `icon` attribute to specify an icon:\n\n \n\n \n\nTo use a different built-in set of icons, import the specific\n`iron-icons/-icons.js`, and specify the icon as `:`.\nFor example, to use a communication icon, you would use:\n\n \n\n \n\nYou can also create custom icon sets of bitmap or SVG icons.\n\nExample of using an icon named `cherry` from a custom iconset with the ID\n`fruit`:\n\n \n\nSee `` and `` for more information about how to\ncreate a custom iconset.\n\nSee the `iron-icons` demo to see the icons available in the various iconsets.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--iron-icon` | Mixin applied to the icon | {}\n`--iron-icon-width` | Width of the icon | `24px`\n`--iron-icon-height` | Height of the icon | `24px`\n`--iron-icon-fill-color` | Fill color of the svg icon | `currentcolor`\n`--iron-icon-stroke-color` | Stroke color of the svg icon | none\n\n@group Iron Elements\n@element iron-icon\n@demo demo/index.html\n@hero hero.svg\n@homepage polymer.github.io\n*/\nPolymer({\n _template: html`\n \n`,\n\n is: 'iron-icon',\n\n properties: {\n\n /**\n * The name of the icon to use. The name should be of the form:\n * `iconset_name:icon_name`.\n */\n icon: {type: String},\n\n /**\n * The name of the theme to used, if one is specified by the\n * iconset.\n */\n theme: {type: String},\n\n /**\n * If using iron-icon without an iconset, you can set the src to be\n * the URL of an individual icon image file. Note that this will take\n * precedence over a given icon attribute.\n */\n src: {type: String},\n\n /**\n * @type {!IronMeta}\n */\n _meta: {value: Base.create('iron-meta', {type: 'iconset'})}\n\n },\n\n observers: [\n '_updateIcon(_meta, isAttached)',\n '_updateIcon(theme, isAttached)',\n '_srcChanged(src, isAttached)',\n '_iconChanged(icon, isAttached)'\n ],\n\n _DEFAULT_ICONSET: 'icons',\n\n _iconChanged: function(icon) {\n var parts = (icon || '').split(':');\n this._iconName = parts.pop();\n this._iconsetName = parts.pop() || this._DEFAULT_ICONSET;\n this._updateIcon();\n },\n\n _srcChanged: function(src) {\n this._updateIcon();\n },\n\n _usesIconset: function() {\n return this.icon || !this.src;\n },\n\n /** @suppress {visibility} */\n _updateIcon: function() {\n if (this._usesIconset()) {\n if (this._img && this._img.parentNode) {\n dom(this.root).removeChild(this._img);\n }\n if (this._iconName === '') {\n if (this._iconset) {\n this._iconset.removeIcon(this);\n }\n } else if (this._iconsetName && this._meta) {\n this._iconset = /** @type {?Polymer.Iconset} */ (\n this._meta.byKey(this._iconsetName));\n if (this._iconset) {\n this._iconset.applyIcon(this, this._iconName, this.theme);\n this.unlisten(window, 'iron-iconset-added', '_updateIcon');\n } else {\n this.listen(window, 'iron-iconset-added', '_updateIcon');\n }\n }\n } else {\n if (this._iconset) {\n this._iconset.removeIcon(this);\n }\n if (!this._img) {\n this._img = document.createElement('img');\n this._img.style.width = '100%';\n this._img.style.height = '100%';\n this._img.draggable = false;\n }\n this._img.src = this.src;\n dom(this.root).appendChild(this._img);\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-icon/iron-icon.js';\nimport '@polymer/paper-styles/default-theme.js';\n\nimport {PaperInkyFocusBehavior} from '@polymer/paper-behaviors/paper-inky-focus-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design: [Icon\ntoggles](https://www.google.com/design/spec/components/buttons.html#buttons-toggle-buttons)\n\n`paper-icon-button` is a button with an image placed at the center. When the\nuser touches the button, a ripple effect emanates from the center of the button.\n\n`paper-icon-button` does not include a default icon set. To use icons from the\ndefault set, include `PolymerElements/iron-icons/iron-icons.html`, and use the\n`icon` attribute to specify which icon from the icon set to use.\n\n \n\nSee [`iron-iconset`](iron-iconset) for more information about\nhow to use a custom icon set.\n\nExample:\n\n \n\n \n \n\nTo use `paper-icon-button` as a link, wrap it in an anchor tag. Since\n`paper-icon-button` will already receive focus, you may want to prevent the\nanchor tag from receiving focus as well by setting its tabindex to -1.\n\n \n \n \n\n### Styling\n\nStyle the button with CSS as you would a normal DOM element. If you are using\nthe icons provided by `iron-icons`, they will inherit the foreground color of\nthe button.\n\n /* make a red \"favorite\" button *\\/\n \n\nBy default, the ripple is the same color as the foreground at 25% opacity. You\nmay customize the color using the `--paper-icon-button-ink-color` custom\nproperty.\n\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-icon-button-disabled-text` | The color of the disabled button | `--disabled-text-color`\n`--paper-icon-button-ink-color` | Selected/focus ripple color | `--primary-text-color`\n`--paper-icon-button` | Mixin for a button | `{}`\n`--paper-icon-button-disabled` | Mixin for a disabled button | `{}`\n`--paper-icon-button-hover` | Mixin for button on hover | `{}`\n\n@group Paper Elements\n@element paper-icon-button\n@demo demo/index.html\n*/\nPolymer({\n is: 'paper-icon-button',\n\n _template: html`\n \n\n \n `,\n\n hostAttributes: {role: 'button', tabindex: '0'},\n\n behaviors: [PaperInkyFocusBehavior],\n\n registered: function() {\n this._template.setAttribute('strip-whitespace', '');\n },\n\n properties: {\n /**\n * The URL of an image for the icon. If the src property is specified,\n * the icon property should not be.\n */\n src: {type: String},\n\n /**\n * Specifies the icon name or index in the set of icons available in\n * the icon's icon set. If the icon property is specified,\n * the src property should not be.\n */\n icon: {type: String},\n\n /**\n * Specifies the alternate text for the button, for accessibility.\n */\n alt: {type: String, observer: '_altChanged'}\n },\n\n _altChanged: function(newValue, oldValue) {\n var label = this.getAttribute('aria-label');\n\n // Don't stomp over a user-set aria-label.\n if (!label || oldValue == label) {\n this.setAttribute('aria-label', newValue);\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n * @demo demo/index.html\n * @polymerBehavior\n */\nexport const IronControlState = {\n\n properties: {\n\n /**\n * If true, the element currently has focus.\n */\n focused: {\n type: Boolean,\n value: false,\n notify: true,\n readOnly: true,\n reflectToAttribute: true\n },\n\n /**\n * If true, the user cannot interact with this element.\n */\n disabled: {\n type: Boolean,\n value: false,\n notify: true,\n observer: '_disabledChanged',\n reflectToAttribute: true\n },\n\n /**\n * Value of the `tabindex` attribute before `disabled` was activated.\n * `null` means the attribute was not present.\n * @type {?string|undefined}\n */\n _oldTabIndex: {type: String},\n\n _boundFocusBlurHandler: {\n type: Function,\n value: function() {\n return this._focusBlurHandler.bind(this);\n }\n }\n },\n\n observers: ['_changedControlState(focused, disabled)'],\n\n /**\n * @return {void}\n */\n ready: function() {\n this.addEventListener('focus', this._boundFocusBlurHandler, true);\n this.addEventListener('blur', this._boundFocusBlurHandler, true);\n },\n\n _focusBlurHandler: function(event) {\n // Polymer takes care of retargeting events.\n this._setFocused(event.type === 'focus');\n return;\n },\n\n _disabledChanged: function(disabled, old) {\n this.setAttribute('aria-disabled', disabled ? 'true' : 'false');\n this.style.pointerEvents = disabled ? 'none' : '';\n if (disabled) {\n // Read the `tabindex` attribute instead of the `tabIndex` property.\n // The property returns `-1` if there is no `tabindex` attribute.\n // This distinction is important when restoring the value because\n // leaving `-1` hides shadow root children from the tab order.\n this._oldTabIndex = this.getAttribute('tabindex');\n this._setFocused(false);\n this.tabIndex = -1;\n this.blur();\n } else if (this._oldTabIndex !== undefined) {\n if (this._oldTabIndex === null) {\n this.removeAttribute('tabindex');\n } else {\n this.setAttribute('tabindex', this._oldTabIndex);\n }\n }\n },\n\n _changedControlState: function() {\n // _controlStateChanged is abstract, follow-on behaviors may implement it\n if (this._controlStateChanged) {\n this._controlStateChanged();\n }\n }\n\n};\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\n/**\n * Chrome uses an older version of DOM Level 3 Keyboard Events\n *\n * Most keys are labeled as text, but some are Unicode codepoints.\n * Values taken from:\n * http://www.w3.org/TR/2007/WD-DOM-Level-3-Events-20071221/keyset.html#KeySet-Set\n */\nvar KEY_IDENTIFIER = {\n 'U+0008': 'backspace',\n 'U+0009': 'tab',\n 'U+001B': 'esc',\n 'U+0020': 'space',\n 'U+007F': 'del'\n};\n\n/**\n * Special table for KeyboardEvent.keyCode.\n * KeyboardEvent.keyIdentifier is better, and KeyBoardEvent.key is even better\n * than that.\n *\n * Values from:\n * https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.keyCode#Value_of_keyCode\n */\nvar KEY_CODE = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 27: 'esc',\n 33: 'pageup',\n 34: 'pagedown',\n 35: 'end',\n 36: 'home',\n 32: 'space',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 46: 'del',\n 106: '*'\n};\n\n/**\n * MODIFIER_KEYS maps the short name for modifier keys used in a key\n * combo string to the property name that references those same keys\n * in a KeyboardEvent instance.\n */\nvar MODIFIER_KEYS = {\n 'shift': 'shiftKey',\n 'ctrl': 'ctrlKey',\n 'alt': 'altKey',\n 'meta': 'metaKey'\n};\n\n/**\n * KeyboardEvent.key is mostly represented by printable character made by\n * the keyboard, with unprintable keys labeled nicely.\n *\n * However, on OS X, Alt+char can make a Unicode character that follows an\n * Apple-specific mapping. In this case, we fall back to .keyCode.\n */\nvar KEY_CHAR = /[a-z0-9*]/;\n\n/**\n * Matches a keyIdentifier string.\n */\nvar IDENT_CHAR = /U\\+/;\n\n/**\n * Matches arrow keys in Gecko 27.0+\n */\nvar ARROW_KEY = /^arrow/;\n\n/**\n * Matches space keys everywhere (notably including IE10's exceptional name\n * `spacebar`).\n */\nvar SPACE_KEY = /^space(bar)?/;\n\n/**\n * Matches ESC key.\n *\n * Value from: http://w3c.github.io/uievents-key/#key-Escape\n */\nvar ESC_KEY = /^escape$/;\n\n/**\n * Transforms the key.\n * @param {string} key The KeyBoardEvent.key\n * @param {Boolean} [noSpecialChars] Limits the transformation to\n * alpha-numeric characters.\n */\nfunction transformKey(key, noSpecialChars) {\n var validKey = '';\n if (key) {\n var lKey = key.toLowerCase();\n if (lKey === ' ' || SPACE_KEY.test(lKey)) {\n validKey = 'space';\n } else if (ESC_KEY.test(lKey)) {\n validKey = 'esc';\n } else if (lKey.length == 1) {\n if (!noSpecialChars || KEY_CHAR.test(lKey)) {\n validKey = lKey;\n }\n } else if (ARROW_KEY.test(lKey)) {\n validKey = lKey.replace('arrow', '');\n } else if (lKey == 'multiply') {\n // numpad '*' can map to Multiply on IE/Windows\n validKey = '*';\n } else {\n validKey = lKey;\n }\n }\n return validKey;\n}\n\nfunction transformKeyIdentifier(keyIdent) {\n var validKey = '';\n if (keyIdent) {\n if (keyIdent in KEY_IDENTIFIER) {\n validKey = KEY_IDENTIFIER[keyIdent];\n } else if (IDENT_CHAR.test(keyIdent)) {\n keyIdent = parseInt(keyIdent.replace('U+', '0x'), 16);\n validKey = String.fromCharCode(keyIdent).toLowerCase();\n } else {\n validKey = keyIdent.toLowerCase();\n }\n }\n return validKey;\n}\n\nfunction transformKeyCode(keyCode) {\n var validKey = '';\n if (Number(keyCode)) {\n if (keyCode >= 65 && keyCode <= 90) {\n // ascii a-z\n // lowercase is 32 offset from uppercase\n validKey = String.fromCharCode(32 + keyCode);\n } else if (keyCode >= 112 && keyCode <= 123) {\n // function keys f1-f12\n validKey = 'f' + (keyCode - 112 + 1);\n } else if (keyCode >= 48 && keyCode <= 57) {\n // top 0-9 keys\n validKey = String(keyCode - 48);\n } else if (keyCode >= 96 && keyCode <= 105) {\n // num pad 0-9\n validKey = String(keyCode - 96);\n } else {\n validKey = KEY_CODE[keyCode];\n }\n }\n return validKey;\n}\n\n/**\n * Calculates the normalized key for a KeyboardEvent.\n * @param {KeyboardEvent} keyEvent\n * @param {Boolean} [noSpecialChars] Set to true to limit keyEvent.key\n * transformation to alpha-numeric chars. This is useful with key\n * combinations like shift + 2, which on FF for MacOS produces\n * keyEvent.key = @\n * To get 2 returned, set noSpecialChars = true\n * To get @ returned, set noSpecialChars = false\n */\nfunction normalizedKeyForEvent(keyEvent, noSpecialChars) {\n // Fall back from .key, to .detail.key for artifical keyboard events,\n // and then to deprecated .keyIdentifier and .keyCode.\n if (keyEvent.key) {\n return transformKey(keyEvent.key, noSpecialChars);\n }\n if (keyEvent.detail && keyEvent.detail.key) {\n return transformKey(keyEvent.detail.key, noSpecialChars);\n }\n return transformKeyIdentifier(keyEvent.keyIdentifier) ||\n transformKeyCode(keyEvent.keyCode) || '';\n}\n\nfunction keyComboMatchesEvent(keyCombo, event) {\n // For combos with modifiers we support only alpha-numeric keys\n var keyEvent = normalizedKeyForEvent(event, keyCombo.hasModifiers);\n return keyEvent === keyCombo.key &&\n (!keyCombo.hasModifiers ||\n (!!event.shiftKey === !!keyCombo.shiftKey &&\n !!event.ctrlKey === !!keyCombo.ctrlKey &&\n !!event.altKey === !!keyCombo.altKey &&\n !!event.metaKey === !!keyCombo.metaKey));\n}\n\nfunction parseKeyComboString(keyComboString) {\n if (keyComboString.length === 1) {\n return {combo: keyComboString, key: keyComboString, event: 'keydown'};\n }\n return keyComboString.split('+')\n .reduce(function(parsedKeyCombo, keyComboPart) {\n var eventParts = keyComboPart.split(':');\n var keyName = eventParts[0];\n var event = eventParts[1];\n\n if (keyName in MODIFIER_KEYS) {\n parsedKeyCombo[MODIFIER_KEYS[keyName]] = true;\n parsedKeyCombo.hasModifiers = true;\n } else {\n parsedKeyCombo.key = keyName;\n parsedKeyCombo.event = event || 'keydown';\n }\n\n return parsedKeyCombo;\n }, {combo: keyComboString.split(':').shift()});\n}\n\nfunction parseEventString(eventString) {\n return eventString.trim().split(' ').map(function(keyComboString) {\n return parseKeyComboString(keyComboString);\n });\n}\n\n/**\n * `Polymer.IronA11yKeysBehavior` provides a normalized interface for processing\n * keyboard commands that pertain to [WAI-ARIA best\n * practices](http://www.w3.org/TR/wai-aria-practices/#kbd_general_binding). The\n * element takes care of browser differences with respect to Keyboard events and\n * uses an expressive syntax to filter key presses.\n *\n * Use the `keyBindings` prototype property to express what combination of keys\n * will trigger the callback. A key binding has the format\n * `\"KEY+MODIFIER:EVENT\": \"callback\"` (`\"KEY\": \"callback\"` or\n * `\"KEY:EVENT\": \"callback\"` are valid as well). Some examples:\n *\n * keyBindings: {\n * 'space': '_onKeydown', // same as 'space:keydown'\n * 'shift+tab': '_onKeydown',\n * 'enter:keypress': '_onKeypress',\n * 'esc:keyup': '_onKeyup'\n * }\n *\n * The callback will receive with an event containing the following information\n * in `event.detail`:\n *\n * _onKeydown: function(event) {\n * console.log(event.detail.combo); // KEY+MODIFIER, e.g. \"shift+tab\"\n * console.log(event.detail.key); // KEY only, e.g. \"tab\"\n * console.log(event.detail.event); // EVENT, e.g. \"keydown\"\n * console.log(event.detail.keyboardEvent); // the original KeyboardEvent\n * }\n *\n * Use the `keyEventTarget` attribute to set up event handlers on a specific\n * node.\n *\n * See the [demo source\n * code](https://github.com/PolymerElements/iron-a11y-keys-behavior/blob/master/demo/x-key-aware.html)\n * for an example.\n *\n * @demo demo/index.html\n * @polymerBehavior\n */\nexport const IronA11yKeysBehavior = {\n properties: {\n /**\n * The EventTarget that will be firing relevant KeyboardEvents. Set it to\n * `null` to disable the listeners.\n * @type {?EventTarget}\n */\n keyEventTarget: {\n type: Object,\n value: function() {\n return this;\n }\n },\n\n /**\n * If true, this property will cause the implementing element to\n * automatically stop propagation on any handled KeyboardEvents.\n */\n stopKeyboardEventPropagation: {type: Boolean, value: false},\n\n _boundKeyHandlers: {\n type: Array,\n value: function() {\n return [];\n }\n },\n\n // We use this due to a limitation in IE10 where instances will have\n // own properties of everything on the \"prototype\".\n _imperativeKeyBindings: {\n type: Object,\n value: function() {\n return {};\n }\n }\n },\n\n observers: ['_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)'],\n\n\n /**\n * To be used to express what combination of keys will trigger the relative\n * callback. e.g. `keyBindings: { 'esc': '_onEscPressed'}`\n * @type {!Object}\n */\n keyBindings: {},\n\n registered: function() {\n this._prepKeyBindings();\n },\n\n attached: function() {\n this._listenKeyEventListeners();\n },\n\n detached: function() {\n this._unlistenKeyEventListeners();\n },\n\n /**\n * Can be used to imperatively add a key binding to the implementing\n * element. This is the imperative equivalent of declaring a keybinding\n * in the `keyBindings` prototype property.\n *\n * @param {string} eventString\n * @param {string} handlerName\n */\n addOwnKeyBinding: function(eventString, handlerName) {\n this._imperativeKeyBindings[eventString] = handlerName;\n this._prepKeyBindings();\n this._resetKeyEventListeners();\n },\n\n /**\n * When called, will remove all imperatively-added key bindings.\n */\n removeOwnKeyBindings: function() {\n this._imperativeKeyBindings = {};\n this._prepKeyBindings();\n this._resetKeyEventListeners();\n },\n\n /**\n * Returns true if a keyboard event matches `eventString`.\n *\n * @param {KeyboardEvent} event\n * @param {string} eventString\n * @return {boolean}\n */\n keyboardEventMatchesKeys: function(event, eventString) {\n var keyCombos = parseEventString(eventString);\n for (var i = 0; i < keyCombos.length; ++i) {\n if (keyComboMatchesEvent(keyCombos[i], event)) {\n return true;\n }\n }\n return false;\n },\n\n _collectKeyBindings: function() {\n var keyBindings = this.behaviors.map(function(behavior) {\n return behavior.keyBindings;\n });\n\n if (keyBindings.indexOf(this.keyBindings) === -1) {\n keyBindings.push(this.keyBindings);\n }\n\n return keyBindings;\n },\n\n _prepKeyBindings: function() {\n this._keyBindings = {};\n\n this._collectKeyBindings().forEach(function(keyBindings) {\n for (var eventString in keyBindings) {\n this._addKeyBinding(eventString, keyBindings[eventString]);\n }\n }, this);\n\n for (var eventString in this._imperativeKeyBindings) {\n this._addKeyBinding(\n eventString, this._imperativeKeyBindings[eventString]);\n }\n\n // Give precedence to combos with modifiers to be checked first.\n for (var eventName in this._keyBindings) {\n this._keyBindings[eventName].sort(function(kb1, kb2) {\n var b1 = kb1[0].hasModifiers;\n var b2 = kb2[0].hasModifiers;\n return (b1 === b2) ? 0 : b1 ? -1 : 1;\n })\n }\n },\n\n _addKeyBinding: function(eventString, handlerName) {\n parseEventString(eventString).forEach(function(keyCombo) {\n this._keyBindings[keyCombo.event] =\n this._keyBindings[keyCombo.event] || [];\n\n this._keyBindings[keyCombo.event].push([keyCombo, handlerName]);\n }, this);\n },\n\n _resetKeyEventListeners: function() {\n this._unlistenKeyEventListeners();\n\n if (this.isAttached) {\n this._listenKeyEventListeners();\n }\n },\n\n _listenKeyEventListeners: function() {\n if (!this.keyEventTarget) {\n return;\n }\n Object.keys(this._keyBindings).forEach(function(eventName) {\n var keyBindings = this._keyBindings[eventName];\n var boundKeyHandler = this._onKeyBindingEvent.bind(this, keyBindings);\n\n this._boundKeyHandlers.push(\n [this.keyEventTarget, eventName, boundKeyHandler]);\n\n this.keyEventTarget.addEventListener(eventName, boundKeyHandler);\n }, this);\n },\n\n _unlistenKeyEventListeners: function() {\n var keyHandlerTuple;\n var keyEventTarget;\n var eventName;\n var boundKeyHandler;\n\n while (this._boundKeyHandlers.length) {\n // My kingdom for block-scope binding and destructuring assignment..\n keyHandlerTuple = this._boundKeyHandlers.pop();\n keyEventTarget = keyHandlerTuple[0];\n eventName = keyHandlerTuple[1];\n boundKeyHandler = keyHandlerTuple[2];\n\n keyEventTarget.removeEventListener(eventName, boundKeyHandler);\n }\n },\n\n _onKeyBindingEvent: function(keyBindings, event) {\n if (this.stopKeyboardEventPropagation) {\n event.stopPropagation();\n }\n\n // if event has been already prevented, don't do anything\n if (event.defaultPrevented) {\n return;\n }\n\n for (var i = 0; i < keyBindings.length; i++) {\n var keyCombo = keyBindings[i][0];\n var handlerName = keyBindings[i][1];\n if (keyComboMatchesEvent(keyCombo, event)) {\n this._triggerKeyHandler(keyCombo, handlerName, event);\n // exit the loop if eventDefault was prevented\n if (event.defaultPrevented) {\n return;\n }\n }\n }\n },\n\n _triggerKeyHandler: function(keyCombo, handlerName, keyboardEvent) {\n var detail = Object.create(keyCombo);\n detail.keyboardEvent = keyboardEvent;\n var event =\n new CustomEvent(keyCombo.event, {detail: detail, cancelable: true});\n this[handlerName].call(this, event);\n if (event.defaultPrevented) {\n keyboardEvent.preventDefault();\n }\n }\n};\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\ninterface MaybePolyfilledCe extends CustomElementRegistry {\n readonly polyfillWrapFlushCallback?: object;\n}\n\n/**\n * True if the custom elements polyfill is in use.\n */\nexport const isCEPolyfill = window.customElements !== undefined &&\n (window.customElements as MaybePolyfilledCe).polyfillWrapFlushCallback !==\n undefined;\n\n/**\n * Reparents nodes, starting from `start` (inclusive) to `end` (exclusive),\n * into another container (could be the same container), before `before`. If\n * `before` is null, it appends the nodes to the container.\n */\nexport const reparentNodes =\n (container: Node,\n start: Node|null,\n end: Node|null = null,\n before: Node|null = null): void => {\n while (start !== end) {\n const n = start!.nextSibling;\n container.insertBefore(start!, before);\n start = n;\n }\n };\n\n/**\n * Removes nodes, starting from `start` (inclusive) to `end` (exclusive), from\n * `container`.\n */\nexport const removeNodes =\n (container: Node, start: Node|null, end: Node|null = null): void => {\n while (start !== end) {\n const n = start!.nextSibling;\n container.removeChild(start!);\n start = n;\n }\n };\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\nTypographic styles are provided matching the Material Design standard styles:\nhttp://www.google.com/design/spec/style/typography.html#typography-standard-styles\n\nNote that these are English/Latin centric styles. You may need to further adjust\nline heights and weights for CJK typesetting. See the notes in the Material\nDesign typography section.\n*/\n\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/font-roboto/roboto.js';\n\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nconst template = html`\n \n`;\ntemplate.setAttribute('style', 'display: none;');\ndocument.head.appendChild(template.content);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\nimport {reparentNodes} from './dom.js';\nimport {TemplateProcessor} from './template-processor.js';\nimport {boundAttributeSuffix, lastAttributeNameRegex, marker, nodeMarker} from './template.js';\n\nconst commentMarker = ` ${marker} `;\n\n/**\n * The return type of `html`, which holds a Template and the values from\n * interpolated expressions.\n */\nexport class TemplateResult {\n readonly strings: TemplateStringsArray;\n readonly values: ReadonlyArray;\n readonly type: string;\n readonly processor: TemplateProcessor;\n\n constructor(\n strings: TemplateStringsArray, values: ReadonlyArray,\n type: string, processor: TemplateProcessor) {\n this.strings = strings;\n this.values = values;\n this.type = type;\n this.processor = processor;\n }\n\n /**\n * Returns a string of HTML used to create a `\n \n \n \n \n \n ']);return G=function(){return e},e}function V(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=[],o=!0,a=!1,i=void 0;try{for(var r,s=e[Symbol.iterator]();!(o=(r=s.next()).done)&&(t.push(r.value),!n||t.length!==n);o=!0);}catch(c){a=!0,i=c}finally{try{o||null==s.return||s.return()}finally{if(a)throw i}}return t}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Y(e,n){for(var t=0;t4?"green":e>2?"yellow":"red"}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/options"),e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/options"),e)}},{key:"protectionToggled",value:function(){var e={protected:!this.addon.protected};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/security"),e),this.set("addon.protected",!this.addon.protected)}},{key:"panelToggled",value:function(){var e={ingress_panel:!this.addon.ingress_panel};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/options"),e)}},{key:"showMoreInfo",value:function(e){var n=e.target.getAttribute("id");Object(X.a)(this,{title:ee[n].title,content:ee[n].description})}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/".concat(this.addonSlug,"/changelog")).then(function(e){return e},function(){return"Error getting changelog"}).then(function(n){Object(X.a)(e,{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/".concat(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:"_computeCannotIngressSidebar",value:function(e,n){return!n.ingress||!this._computeHA92plus(e)}},{key:"_computeHA92plus",value:function(e){var n=V(e.config.version.split(".",2),2),t=n[0],o=n[1];return Number(t)>0||"0"===t&&Number(o)>=92}}])&&Y(t.prototype,r),s&&Y(t,s),n}();customElements.define("hassio-addon-info",ne);var te=t(100);function oe(e){return(oe="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})(e)}function ae(){var e=function(e,n){n||(n=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(n)}}))}(['\n \n ','\n \n
    \n
    \n Refresh\n
    \n
    \n ']);return ae=function(){return e},e}function ie(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 \n \n \n
    ContainerHostDescription
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n ']);return ue=function(){return e},e}function pe(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 max-width: calc(100% - 8px);\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 min-width: 100%;\n }\n }\n \n \n
    \n \n\n \n
    \n
    \n ']);return ye=function(){return e},e}function ve(e,n){for(var t=0;t=0?n:null}:null}),e._resize();for(var n=document.createTreeWalker(e,1,null,!1);n.nextNode();){var t=n.currentNode;"A"===t.tagName&&t.host!==document.location.host?t.target="_blank":"IMG"===t.tagName&&t.addEventListener("load",e._resize)}}else 2===e._scriptLoaded&&(e.innerText=e.content)}))}}])&&r(i.prototype,f),h&&r(i,h),n}();customElements.define("ha-markdown",f)}}]); -//# sourceMappingURL=chunk.87d3a6d0178fb26762cf.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.87d3a6d0178fb26762cf.js.gz b/hassio/api/panel/chunk.87d3a6d0178fb26762cf.js.gz deleted file mode 100644 index a97b204c74d5c0361680f2fe76f31d6a62f0a5d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10354 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 diff --git a/hassio/api/panel/chunk.87d3a6d0178fb26762cf.js.map b/hassio/api/panel/chunk.87d3a6d0178fb26762cf.js.map deleted file mode 100644 index c114be5c5..000000000 --- a/hassio/api/panel/chunk.87d3a6d0178fb26762cf.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/addon-view/hassio-addon-audio.js","webpack:///./src/addon-view/hassio-addon-config.js","webpack:///../src/components/ha-icon.ts","webpack:///../src/components/ha-label-badge.ts","webpack:///./src/addon-view/hassio-addon-info.js","webpack:///./src/addon-view/hassio-addon-logs.js","webpack:///./src/addon-view/hassio-addon-network.js","webpack:///./src/addon-view/hassio-addon-view.js","webpack:///../src/components/ha-markdown.js"],"names":["HassioAddonAudio","EventsMixin","PolymerElement","html","_templateObject","hass","Object","addon","type","observer","inputDevices","Array","outputDevices","selectedInput","String","selectedOutput","error","_this","this","setProperties","audio_input","audio_output","noDevice","device","name","callApi","then","resp","dev","data","audio","input","keys","map","key","output","concat","_this2","path","slug","fire","success","body","message","customElements","define","HassioAddonConfig","hassio_addon_config_templateObject","addonSlug","config","configParsed","resetData","value","options","JSON","stringify","$","classList","remove","parse","err","add","catch","ironIconClass","get","loaded","HaIcon","_ironIconClass","_getPrototypeOf2","ha_icon_classCallCheck","_len","arguments","length","args","_key","ha_icon_possibleConstructorReturn","ha_icon_getPrototypeOf","call","apply","_iconsetName","ha_icon_inherits","node","eventName","methodName","_get","prototype","__webpack_require__","e","bind","HaLabelBadge","icon","label","description","image","LitElement","css","_templateObject6","ha_label_badge_templateObject","classMap","big","Boolean","_templateObject2","_templateObject3","_templateObject4","_templateObject5","changedProperties","ha_label_badge_get","ha_label_badge_getPrototypeOf","has","shadowRoot","getElementById","style","backgroundImage","PERMIS_DESC","rating","title","host_network","homeassistant_api","full_access","hassio_api","docker_api","host_pid","apparmor","auth_api","ingress","HassioAddonInfo","hassio_addon_info_templateObject","isRunning","computed","state","detached","version","last_version","hassio_role","webui","replace","document","location","hostname","navigate","boot","auto_update","protected","set","ingress_panel","id","target","getAttribute","showHassioMarkdownDialog","content","confirm","eventData","response","_computeHA92plus","_hass$config$version$2","_slicedToArray","split","major","minor","Number","HassioAddonLogs","hassio_addon_logs_templateObject","ANSI_HTML_STYLE","refresh","setTimeout","addonChanged","text","lastChild","removeChild","appendChild","parseTextToColoredPre","HassioAddonNetwork","hassio_addon_network_templateObject","network","network_description","items","container","host","sort","el1","el2","forEach","item","parseInt","HassioAddonView","hassio_addon_view_templateObject","route","hassio_addon_view_get","hassio_addon_view_getPrototypeOf","addEventListener","ev","apiCalled","detail","substr","lastIndexOf","history","back","routeDataChanged","routeData","info","svgWhiteList","HaMarkdown","allowSvg","_getPrototypeOf","_scriptLoaded","_renderScheduled","_resize","Promise","all","_ref","marked","filterXSS","_render","resolve","innerHTML","gfm","tables","breaks","onIgnoreTag","tag","indexOf","walker","createTreeWalker","nextNode","currentNode","tagName","innerText"],"mappings":"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","file":"chunk.87d3a6d0178fb26762cf.js","sourcesContent":["import \"web-animations-js/web-animations-next-lite.min\";\n\nimport \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport \"@polymer/paper-dropdown-menu/paper-dropdown-menu\";\nimport \"@polymer/paper-item/paper-item\";\nimport \"@polymer/paper-listbox/paper-listbox\";\nimport { html } from \"@polymer/polymer/lib/utils/html-tag\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\n\nimport \"../../../src/resources/ha-style\";\nimport { EventsMixin } from \"../../../src/mixins/events-mixin\";\n\nclass HassioAddonAudio extends EventsMixin(PolymerElement) {\n static get template() {\n return html`\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n `;\n }\n\n static get properties() {\n return {\n hass: Object,\n addon: {\n type: Object,\n observer: \"addonChanged\",\n },\n inputDevices: Array,\n outputDevices: Array,\n selectedInput: String,\n selectedOutput: String,\n error: String,\n };\n }\n\n addonChanged(addon) {\n this.setProperties({\n selectedInput: addon.audio_input || \"null\",\n selectedOutput: addon.audio_output || \"null\",\n });\n if (this.outputDevices) return;\n\n const noDevice = [{ device: \"null\", name: \"-\" }];\n this.hass.callApi(\"get\", \"hassio/hardware/audio\").then(\n (resp) => {\n const dev = resp.data.audio;\n const input = Object.keys(dev.input).map((key) => ({\n device: key,\n name: dev.input[key],\n }));\n const output = Object.keys(dev.output).map((key) => ({\n device: key,\n name: dev.output[key],\n }));\n this.setProperties({\n inputDevices: noDevice.concat(input),\n outputDevices: noDevice.concat(output),\n });\n },\n () => {\n this.setProperties({\n inputDevices: noDevice,\n outputDevices: noDevice,\n });\n }\n );\n }\n\n _saveSettings() {\n this.error = null;\n const path = `hassio/addons/${this.addon.slug}/options`;\n this.hass\n .callApi(\"post\", path, {\n audio_input: this.selectedInput === \"null\" ? null : this.selectedInput,\n audio_output:\n this.selectedOutput === \"null\" ? null : this.selectedOutput,\n })\n .then(\n () => {\n this.fire(\"hass-api-called\", { success: true, path: path });\n },\n (resp) => {\n this.error = resp.body.message;\n }\n );\n }\n}\n\ncustomElements.define(\"hassio-addon-audio\", HassioAddonAudio);\n","import \"@polymer/iron-autogrow-textarea/iron-autogrow-textarea\";\nimport \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport { html } from \"@polymer/polymer/lib/utils/html-tag\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\n\nimport \"../../../src/components/buttons/ha-call-api-button\";\n\nclass HassioAddonConfig extends PolymerElement {\n static get template() {\n return html`\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n `;\n }\n\n static get properties() {\n return {\n hass: Object,\n addon: {\n type: Object,\n observer: \"addonChanged\",\n },\n addonSlug: String,\n config: {\n type: String,\n observer: \"configChanged\",\n },\n configParsed: Object,\n error: String,\n resetData: {\n type: Object,\n value: {\n options: null,\n },\n },\n };\n }\n\n addonChanged(addon) {\n this.config = addon ? JSON.stringify(addon.options, null, 2) : \"\";\n }\n\n configChanged(config) {\n try {\n this.$.config.classList.remove(\"syntaxerror\");\n this.configParsed = JSON.parse(config);\n } catch (err) {\n this.$.config.classList.add(\"syntaxerror\");\n this.configParsed = null;\n }\n }\n\n saveTapped() {\n this.error = null;\n\n this.hass\n .callApi(\"post\", `hassio/addons/${this.addonSlug}/options`, {\n options: this.configParsed,\n })\n .catch((resp) => {\n this.error = resp.body.message;\n });\n }\n}\n\ncustomElements.define(\"hassio-addon-config\", HassioAddonConfig);\n","import { Constructor } from \"lit-element\";\nimport \"@polymer/iron-icon/iron-icon\";\n// Not duplicate, this is for typing.\n// tslint:disable-next-line\nimport { IronIconElement } from \"@polymer/iron-icon/iron-icon\";\n\nconst ironIconClass = customElements.get(\"iron-icon\") as Constructor<\n IronIconElement\n>;\n\nlet loaded = false;\n\nexport class HaIcon extends ironIconClass {\n private _iconsetName?: string;\n\n public listen(\n node: EventTarget | null,\n eventName: string,\n methodName: string\n ): void {\n super.listen(node, eventName, methodName);\n\n if (!loaded && this._iconsetName === \"mdi\") {\n loaded = true;\n import(/* webpackChunkName: \"mdi-icons\" */ \"../resources/mdi-icons\");\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-icon\": HaIcon;\n }\n}\n\ncustomElements.define(\"ha-icon\", HaIcon);\n","import {\n html,\n LitElement,\n PropertyDeclarations,\n PropertyValues,\n TemplateResult,\n CSSResult,\n css,\n} from \"lit-element\";\nimport { classMap } from \"lit-html/directives/class-map\";\nimport \"./ha-icon\";\n\nclass HaLabelBadge extends LitElement {\n public value?: string;\n public icon?: string;\n public label?: string;\n public description?: string;\n public image?: string;\n\n static get properties(): PropertyDeclarations {\n return {\n value: {},\n icon: {},\n label: {},\n description: {},\n image: {},\n };\n }\n\n protected render(): TemplateResult | void {\n return html`\n
    \n
    \n 4),\n })}\"\n >\n ${this.icon && !this.value && !this.image\n ? html`\n \n `\n : \"\"}\n ${this.value && !this.image\n ? html`\n ${this.value}\n `\n : \"\"}\n
    \n ${this.label\n ? html`\n 5,\n })}\"\n >\n ${this.label}\n
    \n `\n : \"\"}\n \n ${this.description\n ? html`\n
    ${this.description}
    \n `\n : \"\"}\n \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n css`\n .badge-container {\n display: inline-block;\n text-align: center;\n vertical-align: top;\n }\n .label-badge {\n position: relative;\n display: block;\n margin: 0 auto;\n width: var(--ha-label-badge-size, 2.5em);\n text-align: center;\n height: var(--ha-label-badge-size, 2.5em);\n line-height: var(--ha-label-badge-size, 2.5em);\n font-size: var(--ha-label-badge-font-size, 1.5em);\n border-radius: 50%;\n border: 0.1em solid var(--ha-label-badge-color, var(--primary-color));\n color: var(--label-badge-text-color, rgb(76, 76, 76));\n\n white-space: nowrap;\n background-color: var(--label-badge-background-color, white);\n background-size: cover;\n transition: border 0.3s ease-in-out;\n }\n .label-badge .value {\n font-size: 90%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .label-badge .value.big {\n font-size: 70%;\n }\n .label-badge .label {\n position: absolute;\n bottom: -1em;\n /* Make the label as wide as container+border. (parent_borderwidth / font-size) */\n left: -0.2em;\n right: -0.2em;\n line-height: 1em;\n font-size: 0.5em;\n }\n .label-badge .label span {\n box-sizing: border-box;\n max-width: 100%;\n display: inline-block;\n background-color: var(--ha-label-badge-color, var(--primary-color));\n color: var(--ha-label-badge-label-color, white);\n border-radius: 1em;\n padding: 9% 16% 8% 16%; /* mostly apitalized text, not much descenders => bit more top margin */\n font-weight: 500;\n overflow: hidden;\n text-transform: uppercase;\n text-overflow: ellipsis;\n transition: background-color 0.3s ease-in-out;\n text-transform: var(--ha-label-badge-label-text-transform, uppercase);\n }\n .label-badge .label.big span {\n font-size: 90%;\n padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */\n }\n .badge-container .title {\n margin-top: 1em;\n font-size: var(--ha-label-badge-title-font-size, 0.9em);\n width: var(--ha-label-badge-title-width, 5em);\n font-weight: var(--ha-label-badge-title-font-weight, 400);\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: normal;\n }\n `,\n ];\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n if (changedProperties.has(\"image\")) {\n this.shadowRoot!.getElementById(\"badge\")!.style.backgroundImage = this\n .image\n ? `url(${this.image})`\n : \"\";\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-label-badge\": HaLabelBadge;\n }\n}\n\ncustomElements.define(\"ha-label-badge\", HaLabelBadge);\n","import \"@polymer/iron-icon/iron-icon\";\nimport \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport \"@polymer/paper-tooltip/paper-tooltip\";\nimport \"@polymer/paper-toggle-button/paper-toggle-button\";\nimport { html } from \"@polymer/polymer/lib/utils/html-tag\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\n\nimport \"../../../src/components/ha-label-badge\";\nimport \"../../../src/components/ha-markdown\";\nimport \"../../../src/components/buttons/ha-call-api-button\";\nimport \"../../../src/resources/ha-style\";\nimport { EventsMixin } from \"../../../src/mixins/events-mixin\";\nimport { navigate } from \"../../../src/common/navigate\";\n\nimport { showHassioMarkdownDialog } from \"../dialogs/markdown/show-dialog-hassio-markdown\";\nimport \"../components/hassio-card-content\";\n\nconst PERMIS_DESC = {\n rating: {\n title: \"Add-on Security Rating\",\n description:\n \"Hass.io provides a security rating to each of the add-ons, which indicates the risks involved when using this add-on. The more access an add-on requires on your system, the lower the score, thus raising the possible security risks.\\n\\nA score is on a scale from 1 to 6. Where 1 is the lowest score (considered the most insecure and highest risk) and a score of 6 is the highest score (considered the most secure and lowest risk).\",\n },\n host_network: {\n title: \"Host Network\",\n description:\n \"Add-ons usually run in their own isolated network layer, which prevents them from accessing the network of the host operating system. In some cases, this network isolation can limit add-ons in providing their services and therefore, the isolation can be lifted by the add-on author, giving the add-on full access to the network capabilities of the host machine. This gives the add-on more networking capabilities but lowers the security, hence, the security rating of the add-on will be lowered when this option is used by the add-on.\",\n },\n homeassistant_api: {\n title: \"Home Assistant API Access\",\n description:\n \"This add-on is allowed to access your running Home Assistant instance directly via the Home Assistant API. This mode handles authentication for the add-on as well, which enables an add-on to interact with Home Assistant without the need for additional authentication tokens.\",\n },\n full_access: {\n title: \"Full Hardware Access\",\n description:\n \"This add-on is given full access to the hardware of your system, by request of the add-on author. Access is comparable to the privileged mode in Docker. Since this opens up possible security risks, this feature impacts the add-on security score negatively.\\n\\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on.\",\n },\n hassio_api: {\n title: \"Hass.io API Access\",\n description:\n \"The add-on was given access to the Hass.io API, by request of the add-on author. By default, the add-on can access general version information of your system. When the add-on requests 'manager' or 'admin' level access to the API, it will gain access to control multiple parts of your Hass.io system. This permission is indicated by this badge and will impact the security score of the addon negatively.\",\n },\n docker_api: {\n title: \"Full Docker Access\",\n description:\n \"The add-on author has requested the add-on to have management access to the Docker instance running on your system. This mode gives the add-on full access and control to your entire Hass.io system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\\n\\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on.\",\n },\n host_pid: {\n title: \"Host Processes Namespace\",\n description:\n \"Usually, the processes the add-on runs, are isolated from all other system processes. The add-on author has requested the add-on to have access to the system processes running on the host system instance, and allow the add-on to spawn processes on the host system as well. This mode gives the add-on full access and control to your entire Hass.io system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\\n\\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on.\",\n },\n apparmor: {\n title: \"AppArmor\",\n description:\n \"AppArmor ('Application Armor') is a Linux kernel security module that restricts add-ons capabilities like network access, raw socket access, and permission to read, write, or execute specific files.\\n\\nAdd-on authors can provide their security profiles, optimized for the add-on, or request it to be disabled. If AppArmor is disabled, it will raise security risks and therefore, has a negative impact on the security score of the add-on.\",\n },\n auth_api: {\n title: \"Home Assistant Authentication\",\n description:\n \"An add-on can authenticate users against Home Assistant, allowing add-ons to give users the possibility to log into applications running inside add-ons, using their Home Assistant username/password. This badge indicates if the add-on author requests this capability.\",\n },\n ingress: {\n title: \"Ingress\",\n description:\n \"This add-on is using Ingress to embed its interface securely into Home Assistant.\",\n },\n};\n\nclass HassioAddonInfo extends EventsMixin(PolymerElement) {\n static get template() {\n return html`\n \n\n \n\n \n\n \n
    \n
    \n [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n
    \n \n \n Open web UI\n \n \n \n
    \n \n \n `;\n }\n\n static get properties() {\n return {\n hass: Object,\n addon: Object,\n addonSlug: String,\n isRunning: { type: Boolean, computed: \"computeIsRunning(addon)\" },\n };\n }\n\n computeIsRunning(addon) {\n return addon && addon.state === \"started\";\n }\n\n computeUpdateAvailable(addon) {\n return (\n addon &&\n !addon.detached &&\n addon.version &&\n addon.version !== addon.last_version\n );\n }\n\n computeHassioApi(addon) {\n return (\n addon.hassio_api &&\n (addon.hassio_role === \"manager\" || addon.hassio_role === \"admin\")\n );\n }\n\n computeApparmorClassName(apparmor) {\n if (apparmor === \"profile\") {\n return \"green\";\n }\n if (apparmor === \"disable\") {\n return \"red\";\n }\n return \"\";\n }\n\n pathWebui(webui) {\n return webui && webui.replace(\"[HOST]\", document.location.hostname);\n }\n\n computeShowWebUI(ingress, webui, isRunning) {\n return !ingress && webui && isRunning;\n }\n\n openIngress() {\n navigate(this, `/hassio/ingress/${this.addon.slug}`);\n }\n\n computeShowIngressUI(ingress, isRunning) {\n return ingress && isRunning;\n }\n\n computeStartOnBoot(state) {\n return state === \"auto\";\n }\n\n computeSecurityClassName(rating) {\n if (rating > 4) {\n return \"green\";\n }\n if (rating > 2) {\n return \"yellow\";\n }\n return \"red\";\n }\n\n startOnBootToggled() {\n const data = { boot: this.addon.boot === \"auto\" ? \"manual\" : \"auto\" };\n this.hass.callApi(\"POST\", `hassio/addons/${this.addonSlug}/options`, data);\n }\n\n autoUpdateToggled() {\n const data = { auto_update: !this.addon.auto_update };\n this.hass.callApi(\"POST\", `hassio/addons/${this.addonSlug}/options`, data);\n }\n\n protectionToggled() {\n const data = { protected: !this.addon.protected };\n this.hass.callApi(\"POST\", `hassio/addons/${this.addonSlug}/security`, data);\n this.set(\"addon.protected\", !this.addon.protected);\n }\n\n panelToggled() {\n const data = { ingress_panel: !this.addon.ingress_panel };\n this.hass.callApi(\"POST\", `hassio/addons/${this.addonSlug}/options`, data);\n }\n\n showMoreInfo(e) {\n const id = e.target.getAttribute(\"id\");\n showHassioMarkdownDialog(this, {\n title: PERMIS_DESC[id].title,\n content: PERMIS_DESC[id].description,\n });\n }\n\n openChangelog() {\n this.hass\n .callApi(\"get\", `hassio/addons/${this.addonSlug}/changelog`)\n .then((resp) => resp, () => \"Error getting changelog\")\n .then((content) => {\n showHassioMarkdownDialog(this, {\n title: \"Changelog\",\n content: content,\n });\n });\n }\n\n _unistallClicked() {\n if (!confirm(\"Are you sure you want to uninstall this add-on?\")) {\n return;\n }\n const path = `hassio/addons/${this.addonSlug}/uninstall`;\n const eventData = {\n path: path,\n };\n this.hass\n .callApi(\"post\", path)\n .then(\n (resp) => {\n eventData.success = true;\n eventData.response = resp;\n },\n (resp) => {\n eventData.success = false;\n eventData.response = resp;\n }\n )\n .then(() => {\n this.fire(\"hass-api-called\", eventData);\n });\n }\n\n _computeCannotIngressSidebar(hass, addon) {\n return !addon.ingress || !this._computeHA92plus(hass);\n }\n\n _computeHA92plus(hass) {\n const [major, minor] = hass.config.version.split(\".\", 2);\n return Number(major) > 0 || (major === \"0\" && Number(minor) >= 92);\n }\n}\ncustomElements.define(\"hassio-addon-info\", HassioAddonInfo);\n","import \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport { html } from \"@polymer/polymer/lib/utils/html-tag\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\nimport { ANSI_HTML_STYLE, parseTextToColoredPre } from \"../ansi-to-html\";\n\nimport \"../../../src/resources/ha-style\";\n\nclass HassioAddonLogs extends PolymerElement {\n static get template() {\n return html`\n \n ${ANSI_HTML_STYLE}\n \n
    \n
    \n Refresh\n
    \n
    \n `;\n }\n\n static get properties() {\n return {\n hass: Object,\n addonSlug: {\n type: String,\n observer: \"addonSlugChanged\",\n },\n };\n }\n\n addonSlugChanged(slug) {\n if (!this.hass) {\n setTimeout(() => {\n this.addonChanged(slug);\n }, 0);\n return;\n }\n\n this.refresh();\n }\n\n refresh() {\n this.hass\n .callApi(\"get\", `hassio/addons/${this.addonSlug}/logs`)\n .then((text) => {\n while (this.$.content.lastChild) {\n this.$.content.removeChild(this.$.content.lastChild);\n }\n this.$.content.appendChild(parseTextToColoredPre(text));\n });\n }\n}\n\ncustomElements.define(\"hassio-addon-logs\", HassioAddonLogs);\n","import \"@polymer/paper-card/paper-card\";\nimport \"@polymer/paper-input/paper-input\";\nimport { html } from \"@polymer/polymer/lib/utils/html-tag\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\n\nimport \"../../../src/components/buttons/ha-call-api-button\";\nimport \"../../../src/resources/ha-style\";\nimport { EventsMixin } from \"../../../src/mixins/events-mixin\";\n\nclass HassioAddonNetwork extends EventsMixin(PolymerElement) {\n static get template() {\n return html`\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n
    ContainerHostDescription
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n `;\n }\n\n static get properties() {\n return {\n hass: Object,\n addonSlug: String,\n config: Object,\n addon: {\n type: Object,\n observer: \"addonChanged\",\n },\n error: String,\n resetData: {\n type: Object,\n value: {\n network: null,\n },\n },\n };\n }\n\n addonChanged(addon) {\n if (!addon) return;\n\n const network = addon.network || {};\n const description = addon.network_description || {};\n const items = Object.keys(network).map((key) => ({\n container: key,\n host: network[key],\n description: description[key],\n }));\n this.config = items.sort(function(el1, el2) {\n return el1.host - el2.host;\n });\n }\n\n saveTapped() {\n this.error = null;\n const data = {};\n this.config.forEach(function(item) {\n data[item.container] = parseInt(item.host);\n });\n const path = `hassio/addons/${this.addonSlug}/options`;\n\n this.hass\n .callApi(\"post\", path, {\n network: data,\n })\n .then(\n () => {\n this.fire(\"hass-api-called\", { success: true, path: path });\n },\n (resp) => {\n this.error = resp.body.message;\n }\n );\n }\n}\n\ncustomElements.define(\"hassio-addon-network\", HassioAddonNetwork);\n","import \"@polymer/app-layout/app-header-layout/app-header-layout\";\nimport \"@polymer/app-layout/app-header/app-header\";\nimport \"@polymer/app-layout/app-toolbar/app-toolbar\";\nimport \"@polymer/paper-icon-button/paper-icon-button\";\nimport { html } from \"@polymer/polymer/lib/utils/html-tag\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\n\nimport \"./hassio-addon-audio\";\nimport \"./hassio-addon-config\";\nimport \"./hassio-addon-info\";\nimport \"./hassio-addon-logs\";\nimport \"./hassio-addon-network\";\n\nclass HassioAddonView extends PolymerElement {\n static get template() {\n return html`\n \n \n
    \n \n\n \n
    \n
    \n `;\n }\n\n static get properties() {\n return {\n hass: Object,\n route: {\n type: Object,\n observer: \"routeDataChanged\",\n },\n addonSlug: {\n type: String,\n computed: \"_computeSlug(route)\",\n },\n addon: Object,\n };\n }\n\n ready() {\n super.ready();\n this.addEventListener(\"hass-api-called\", (ev) => this.apiCalled(ev));\n }\n\n apiCalled(ev) {\n const path = ev.detail.path;\n\n if (!path) return;\n\n if (path.substr(path.lastIndexOf(\"/\") + 1) === \"uninstall\") {\n history.back();\n } else {\n this.routeDataChanged(this.route);\n }\n }\n\n routeDataChanged(routeData) {\n const addon = routeData.path.substr(1);\n this.hass.callApi(\"get\", `hassio/addons/${addon}/info`).then(\n (info) => {\n this.addon = info.data;\n },\n () => {\n this.addon = null;\n }\n );\n }\n\n _computeSlug(route) {\n return route.path.substr(1);\n }\n}\n\ncustomElements.define(\"hassio-addon-view\", HassioAddonView);\n","import { PolymerElement } from \"@polymer/polymer/polymer-element\";\nimport { EventsMixin } from \"../mixins/events-mixin\";\n\nlet loaded = null;\n\n/**\n * White list allowed svg tag.\n * Only put in the tag used in QR code, can be extend in future.\n */\nconst svgWhiteList = [\"svg\", \"path\"];\n\n/*\n * @appliesMixin EventsMixin\n */\nclass HaMarkdown extends EventsMixin(PolymerElement) {\n static get properties() {\n return {\n content: {\n type: String,\n observer: \"_render\",\n },\n allowSvg: {\n type: Boolean,\n value: false,\n },\n };\n }\n\n connectedCallback() {\n super.connectedCallback();\n // 0 = not loaded, 1 = success, 2 = error\n this._scriptLoaded = 0;\n this._renderScheduled = false;\n this._resize = () => this.fire(\"iron-resize\");\n\n if (!loaded) {\n loaded = import(/* webpackChunkName: \"load_markdown\" */ \"../resources/load_markdown\");\n }\n loaded\n .then(\n ({ marked, filterXSS }) => {\n this.marked = marked;\n this.filterXSS = filterXSS;\n this._scriptLoaded = 1;\n },\n () => {\n this._scriptLoaded = 2;\n }\n )\n .then(() => this._render());\n }\n\n _render() {\n if (this._scriptLoaded === 0 || this._renderScheduled) return;\n\n this._renderScheduled = true;\n\n // debounce it to next microtask.\n Promise.resolve().then(() => {\n this._renderScheduled = false;\n\n if (this._scriptLoaded === 1) {\n this.innerHTML = this.filterXSS(\n this.marked(this.content, {\n gfm: true,\n tables: true,\n breaks: true,\n }),\n {\n onIgnoreTag: this.allowSvg\n ? (tag, html) => (svgWhiteList.indexOf(tag) >= 0 ? html : null)\n : null,\n }\n );\n this._resize();\n\n const walker = document.createTreeWalker(\n this,\n 1 /* SHOW_ELEMENT */,\n null,\n false\n );\n\n while (walker.nextNode()) {\n const node = walker.currentNode;\n\n // Open external links in a new window\n if (node.tagName === \"A\" && node.host !== document.location.host) {\n node.target = \"_blank\";\n\n // Fire a resize event when images loaded to notify content resized\n } else if (node.tagName === \"IMG\") {\n node.addEventListener(\"load\", this._resize);\n }\n }\n } else if (this._scriptLoaded === 2) {\n this.innerText = this.content;\n }\n });\n }\n}\n\ncustomElements.define(\"ha-markdown\", HaMarkdown);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.884d6e32c83f99e41040.js b/hassio/api/panel/chunk.884d6e32c83f99e41040.js new file mode 100644 index 000000000..f8e30ed1d --- /dev/null +++ b/hassio/api/panel/chunk.884d6e32c83f99e41040.js @@ -0,0 +1,2 @@ +(self.webpackJsonp=self.webpackJsonp||[]).push([[8],{133:function(H,V,C){"use strict";C.r(V);var L=document.createElement("template");L.setAttribute("style","display: none;"),L.innerHTML='',document.head.appendChild(L.content)}}]); +//# sourceMappingURL=chunk.884d6e32c83f99e41040.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.884d6e32c83f99e41040.js.gz b/hassio/api/panel/chunk.884d6e32c83f99e41040.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1f293531d6cc414dc526c6871f40afe5df2ef61e GIT binary patch literal 483935 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 z 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 tF$QoD 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 W`Tu_Y<+pFX`~Ly%bN*\";","import iconSetContent from \"../../build/mdi.html\";\n\nconst documentContainer = document.createElement(\"template\");\ndocumentContainer.setAttribute(\"style\", \"display: none;\");\ndocumentContainer.innerHTML = iconSetContent;\ndocument.head.appendChild(documentContainer.content);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.900c5d3fab8b6ebdcbc6.js b/hassio/api/panel/chunk.900c5d3fab8b6ebdcbc6.js new file mode 100644 index 000000000..66b349f52 --- /dev/null +++ b/hassio/api/panel/chunk.900c5d3fab8b6ebdcbc6.js @@ -0,0 +1,2 @@ +(self.webpackJsonp=self.webpackJsonp||[]).push([[6],{130:function(e,t,r){"use strict";r.r(t);var n=r(4),i=r(54),o=r(25);r(93),r(91);function s(e){return(s="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})(e)}function a(){var e=u(["\n iframe {\n display: block;\n width: 100%;\n height: 100%;\n border: 0;\n }\n paper-icon-button {\n color: var(--text-primary-color);\n }\n "]);return a=function(){return e},e}function c(e,t){return k(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(c){i=!0,o=c}finally{try{n||null==a.return||a.return()}finally{if(i)throw o}}return r}(e,t)||g()}function l(){var e=u(["\n \n \n \n "]);return l=function(){return e},e}function f(){var e=u(["\n \n "]);return f=function(){return e},e}function u(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t,r=w(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function m(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function y(e){return e.decorators&&e.decorators.length}function v(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function w(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}function g(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function k(e){if(Array.isArray(e))return e}function E(e,t,r){return(E="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=O(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(r):i.value}})(e,t,r||e)}function O(e){return(O=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!y(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var s=t[e.placement];s.splice(s.indexOf(e.key),1);var a=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(a)||a);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var f=0;f=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var s=0;sh=MGv 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 dbpGl5V>VxO^X}v7KiXCw{||<22\n `;\n }\n\n return html`\n \n \n \n `;\n }\n\n protected updated(changedProps: PropertyValues) {\n super.firstUpdated(changedProps);\n\n if (!changedProps.has(\"route\")) {\n return;\n }\n\n const addon = this.route.path.substr(1);\n\n const oldRoute = changedProps.get(\"route\") as this[\"route\"] | undefined;\n const oldAddon = oldRoute ? oldRoute.path.substr(1) : undefined;\n\n if (addon && addon !== oldAddon) {\n this._fetchData(addon);\n }\n }\n\n private async _fetchData(addonSlug: string) {\n try {\n const [addon] = await Promise.all([\n fetchHassioAddonInfo(this.hass, addonSlug).catch(() => {\n throw new Error(\"Failed to fetch add-on info\");\n }),\n createHassioSession(this.hass).catch(() => {\n throw new Error(\"Failed to create an ingress session\");\n }),\n ]);\n\n if (!addon.ingress) {\n throw new Error(\"This add-on does not support ingress\");\n }\n\n this._addon = addon;\n } catch (err) {\n // tslint:disable-next-line\n console.error(err);\n alert(err.message || \"Unknown error starting ingress.\");\n history.back();\n }\n }\n\n static get styles(): CSSResult {\n return css`\n iframe {\n display: block;\n width: 100%;\n height: 100%;\n border: 0;\n }\n paper-icon-button {\n color: var(--text-primary-color);\n }\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-ingress-view\": HassioIngressView;\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.9cea224f33b375867edd.js b/hassio/api/panel/chunk.9cea224f33b375867edd.js new file mode 100644 index 000000000..a37c1efd2 --- /dev/null +++ b/hassio/api/panel/chunk.9cea224f33b375867edd.js @@ -0,0 +1,3 @@ +/*! For license information please see chunk.9cea224f33b375867edd.js.LICENSE */ +(self.webpackJsonp=self.webpackJsonp||[]).push([[1],{125:function(e,t,r){"use strict";r.r(t);r(41),r(75),r(22);var n=r(4),i=r(12),o=r(9);r(77),r(72);function a(e){return(a="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})(e)}function s(){var e=c(['\n ha-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 ha-paper-dialog {\n max-height: 100%;\n }\n ha-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 ']);return s=function(){return e},e}function l(){var e=c(['\n \n \n \n

    \n \n \n \n \n \n "]);return l=function(){return e},e}function c(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){var t,r=v(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function h(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function m(e){return e.decorators&&e.decorators.length}function y(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function v(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!m(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,i[o])(s)||s);e=l.element,this.addElementPlacement(e,t),l.finisher&&n.push(l.finisher);var c=l.extras;if(c){for(var p=0;p=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,i[o])(s)||s);e=l.element,this.addElementPlacement(e,t),l.finisher&&n.push(l.finisher);var c=l.extras;if(c){for(var p=0;p=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\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']);return a=function(){return e},e}Object(i.a)({_template:Object(o.a)(a()),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(n.b)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})},77:function(e,t,r){"use strict";r(3),r(10),r(11),r(29),r(39);var n=document.createElement("template");n.setAttribute("style","display: none;"),n.innerHTML='\n \n',document.head.appendChild(n.content);var i=r(82),o=r(43),a=r(6),s=r(5);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return l=function(){return e},e}Object(a.a)({_template:Object(s.a)(l()),is:"paper-dialog",behaviors:[o.a,i.a],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 c=r(63),p=r(7),d=r(71),u={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?d.a._sortByTabIndex(t):t},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!d.a._isVisible(e))return!1;var r,n=e,i=d.a._normalizedTabIndex(n),o=i>0;i>=0&&t.push(n),r="content"===n.localName||"slot"===n.localName?Object(p.a)(n).getDistributedNodes():Object(p.a)(n.shadowRoot||n.root||n).children;for(var a=0;a&8nCNf#N<50J=@B258Pmc_8tO=Gl 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 R%n~s?{|2{J9}*RF006}hmeT+L literal 0 HcmV?d00001 diff --git a/hassio/api/panel/chunk.9cea224f33b375867edd.js.map b/hassio/api/panel/chunk.9cea224f33b375867edd.js.map new file mode 100644 index 000000000..ba988a581 --- /dev/null +++ b/hassio/api/panel/chunk.9cea224f33b375867edd.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./hassio/src/dialogs/markdown/dialog-hassio-markdown.ts","webpack:///./node_modules/@polymer/paper-dialog-behavior/paper-dialog-behavior.js","webpack:///./src/components/ha-markdown.ts","webpack:///./src/resources/markdown_worker.ts","webpack:///../src/rpc-wrapper.js","webpack:///./node_modules/@polymer/paper-dialog-scrollable/paper-dialog-scrollable.js","webpack:///./node_modules/@polymer/paper-dialog-behavior/paper-dialog-shared-styles.js","webpack:///./node_modules/@polymer/paper-dialog/paper-dialog.js","webpack:///./src/components/dialog/ha-iron-focusables-helper.js","webpack:///./src/components/dialog/ha-paper-dialog.ts"],"names":["customElement","property","query","params","this","title","content","_dialog","open","html","_templateObject","haStyleDialog","hassioStyle","css","_templateObject2","LitElement","__webpack_require__","d","__webpack_exports__","PaperDialogBehaviorImpl","PaperDialogBehavior","_polymer_iron_overlay_behavior_iron_overlay_behavior_js__WEBPACK_IMPORTED_MODULE_1__","_polymer_polymer_lib_legacy_polymer_dom_js__WEBPACK_IMPORTED_MODULE_2__","hostAttributes","role","tabindex","properties","modal","type","Boolean","value","__readied","observers","listeners","tap","ready","__prevNoCancelOnOutsideClick","noCancelOnOutsideClick","__prevNoCancelOnEscKey","noCancelOnEscKey","__prevWithBackdrop","withBackdrop","_modalChanged","readied","_updateClosingReasonConfirmed","confirmed","closingReason","_onDialogClick","event","path","dom","i","l","indexOf","target","hasAttribute","close","stopPropagation","IronOverlayBehavior","worker","HaMarkdown","changedProps","_get","_getPrototypeOf","prototype","call","markdownWorker","_render","walker","node","regeneratorRuntime","async","_context","prev","next","awrap","renderMarkdown","breaks","gfm","tables","allowSvg","innerHTML","sent","_resize","document","createTreeWalker","nextNode","currentNode","HTMLAnchorElement","host","location","rel","addEventListener","stop","fireEvent","_this2","UpdatingElement","addMethods","methods","module","exports","w","Worker","p","name","c","callbacks","e","data","id","f","error","Object","Error","evt","method","Promise","a","b","Polymer","_template","is","dialogElement","scrollTarget","$","scrollable","_ensureTarget","classList","add","attached","requestAnimationFrame","updateScrollState","bind","toggleClass","scrollTop","offsetHeight","scrollHeight","parentElement","behaviors","sizingTarget","remove","$_documentContainer","createElement","setAttribute","head","appendChild","NeonAnimationRunnerBehavior","neon-animation-finish","_renderOpened","cancelAnimation","playAnimation","_renderClosed","_onNeonAnimationFinish","opened","_finishRenderOpened","_finishRenderClosed","HaIronFocusablesHelper","getTabbableNodes","result","_collectTabbableNodes","IronFocusablesHelper","_sortByTabIndex","nodeType","Node","ELEMENT_NODE","_isVisible","children","element","tabIndex","_normalizedTabIndex","needsSort","push","localName","getDistributedNodes","shadowRoot","root","length","paperDialogClass","customElements","get","haTabFixBehaviorImpl","_focusableNodes","HaPaperDialog","_mixinBehaviors","_classCallCheck","_possibleConstructorReturn","apply","arguments","_inherits","mixinBehaviors","define"],"mappings":"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","file":"chunk.9cea224f33b375867edd.js","sourcesContent":["import \"@polymer/app-layout/app-toolbar/app-toolbar\";\nimport \"@polymer/paper-dialog-scrollable/paper-dialog-scrollable\";\nimport \"@polymer/paper-icon-button/paper-icon-button\";\nimport { PaperDialogElement } from \"@polymer/paper-dialog\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n query,\n} from \"lit-element\";\n\nimport { hassioStyle } from \"../../resources/hassio-style\";\nimport { haStyleDialog } from \"../../../../src/resources/styles\";\nimport { HassioMarkdownDialogParams } from \"./show-dialog-hassio-markdown\";\n\nimport \"../../../../src/components/dialog/ha-paper-dialog\";\nimport \"../../../../src/components/ha-markdown\";\n\n@customElement(\"dialog-hassio-markdown\")\nclass HassioMarkdownDialog extends LitElement {\n @property() public title!: string;\n @property() public content!: string;\n @query(\"#dialog\") private _dialog!: PaperDialogElement;\n\n public showDialog(params: HassioMarkdownDialogParams) {\n this.title = params.title;\n this.content = params.content;\n this._dialog.open();\n }\n\n protected render(): TemplateResult {\n return html`\n \n \n \n
    ${this.title}
    \n
    \n \n \n \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyleDialog,\n hassioStyle,\n css`\n ha-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 ha-paper-dialog {\n max-height: 100%;\n }\n ha-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\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dialog-hassio-markdown\": HassioMarkdownDialog;\n }\n}\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {IronOverlayBehavior} from '@polymer/iron-overlay-behavior/iron-overlay-behavior.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n Use `Polymer.PaperDialogBehavior` and `paper-dialog-shared-styles.html` to\n implement a Material Design dialog.\n\n For example, if `` implements this behavior:\n\n \n

    Header

    \n
    Dialog body
    \n
    \n Cancel\n Accept\n
    \n
    \n\n `paper-dialog-shared-styles.html` provide styles for a header, content area,\n and an action area for buttons. Use the `

    ` tag for the header and the\n `buttons` class for the action area. You can use the `paper-dialog-scrollable`\n element (in its own repository) if you need a scrolling content area.\n\n Use the `dialog-dismiss` and `dialog-confirm` attributes on interactive\n controls to close the dialog. If the user dismisses the dialog with\n `dialog-confirm`, the `closingReason` will update to include `confirmed:\n true`.\n\n ### Accessibility\n\n This element has `role=\"dialog\"` by default. Depending on the context, it may\n be more appropriate to override this attribute with `role=\"alertdialog\"`.\n\n If `modal` is set, the element will prevent the focus from exiting the\n element. It will also ensure that focus remains in the dialog.\n\n @hero hero.svg\n @demo demo/index.html\n @polymerBehavior PaperDialogBehavior\n */\nexport const PaperDialogBehaviorImpl = {\n\n hostAttributes: {'role': 'dialog', 'tabindex': '-1'},\n\n properties: {\n\n /**\n * If `modal` is true, this implies `no-cancel-on-outside-click`,\n * `no-cancel-on-esc-key` and `with-backdrop`.\n */\n modal: {type: Boolean, value: false},\n\n __readied: {type: Boolean, value: false}\n\n },\n\n observers: ['_modalChanged(modal, __readied)'],\n\n listeners: {'tap': '_onDialogClick'},\n\n /**\n * @return {void}\n */\n ready: function() {\n // Only now these properties can be read.\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.__readied = true;\n },\n\n _modalChanged: function(modal, readied) {\n // modal implies noCancelOnOutsideClick, noCancelOnEscKey and withBackdrop.\n // We need to wait for the element to be ready before we can read the\n // properties values.\n if (!readied) {\n return;\n }\n\n if (modal) {\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.noCancelOnOutsideClick = true;\n this.noCancelOnEscKey = true;\n this.withBackdrop = true;\n } else {\n // If the value was changed to false, let it false.\n this.noCancelOnOutsideClick =\n this.noCancelOnOutsideClick && this.__prevNoCancelOnOutsideClick;\n this.noCancelOnEscKey =\n this.noCancelOnEscKey && this.__prevNoCancelOnEscKey;\n this.withBackdrop = this.withBackdrop && this.__prevWithBackdrop;\n }\n },\n\n _updateClosingReasonConfirmed: function(confirmed) {\n this.closingReason = this.closingReason || {};\n this.closingReason.confirmed = confirmed;\n },\n\n /**\n * Will dismiss the dialog if user clicked on an element with dialog-dismiss\n * or dialog-confirm attribute.\n */\n _onDialogClick: function(event) {\n // Search for the element with dialog-confirm or dialog-dismiss,\n // from the root target until this (excluded).\n var path = dom(event).path;\n for (var i = 0, l = path.indexOf(this); i < l; i++) {\n var target = path[i];\n if (target.hasAttribute &&\n (target.hasAttribute('dialog-dismiss') ||\n target.hasAttribute('dialog-confirm'))) {\n this._updateClosingReasonConfirmed(\n target.hasAttribute('dialog-confirm'));\n this.close();\n event.stopPropagation();\n break;\n }\n }\n }\n\n};\n\n/** @polymerBehavior */\nexport const PaperDialogBehavior =\n [IronOverlayBehavior, PaperDialogBehaviorImpl];\n","import { UpdatingElement, property, customElement } from \"lit-element\";\n// eslint-disable-next-line import/no-webpack-loader-syntax\n// @ts-ignore\n// tslint:disable-next-line: no-implicit-dependencies\nimport markdownWorker from \"workerize-loader!../resources/markdown_worker\";\nimport { fireEvent } from \"../common/dom/fire_event\";\n\nlet worker: any | undefined;\n\n@customElement(\"ha-markdown\")\nclass HaMarkdown extends UpdatingElement {\n @property() public content = \"\";\n @property({ type: Boolean }) public allowSvg = false;\n\n protected update(changedProps) {\n super.update(changedProps);\n\n if (!worker) {\n worker = markdownWorker();\n }\n\n this._render();\n }\n\n private async _render() {\n this.innerHTML = await worker.renderMarkdown(\n this.content,\n {\n breaks: true,\n gfm: true,\n tables: true,\n },\n {\n allowSvg: this.allowSvg,\n }\n );\n\n this._resize();\n\n const walker = document.createTreeWalker(\n this,\n 1 /* SHOW_ELEMENT */,\n null,\n false\n );\n\n while (walker.nextNode()) {\n const node = walker.currentNode;\n\n // Open external links in a new window\n if (\n node instanceof HTMLAnchorElement &&\n node.host !== document.location.host\n ) {\n node.target = \"_blank\";\n\n // protect referrer on external links and deny window.opener access for security reasons\n // (see https://mathiasbynens.github.io/rel-noopener/)\n node.rel = \"noreferrer noopener\";\n\n // Fire a resize event when images loaded to notify content resized\n } else if (node) {\n node.addEventListener(\"load\", this._resize);\n }\n }\n }\n\n private _resize = () => fireEvent(this, \"iron-resize\");\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-markdown\": HaMarkdown;\n }\n}\n","\n\t\t\t\tvar addMethods = require(\"../../node_modules/workerize-loader/dist/rpc-wrapper.js\")\n\t\t\t\tvar methods = [\"renderMarkdown\"]\n\t\t\t\tmodule.exports = function() {\n\t\t\t\t\tvar w = new Worker(__webpack_public_path__ + \"201359fd5a526afe13ef.worker.js\", { name: \"[hash].worker.js\" })\n\t\t\t\t\taddMethods(w, methods)\n\t\t\t\t\t\n\t\t\t\t\treturn w\n\t\t\t\t}\n\t\t\t","export default function addMethods(worker, methods) {\n\tlet c = 0;\n\tlet callbacks = {};\n\tworker.addEventListener('message', (e) => {\n\t\tlet d = e.data;\n\t\tif (d.type!=='RPC') return;\n\t\tif (d.id) {\n\t\t\tlet f = callbacks[d.id];\n\t\t\tif (f) {\n\t\t\t\tdelete callbacks[d.id];\n\t\t\t\tif (d.error) {\n\t\t\t\t\tf[1](Object.assign(Error(d.error.message), d.error));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tf[0](d.result);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tlet evt = document.createEvent('Event');\n\t\t\tevt.initEvent(d.method, false, false);\n\t\t\tevt.data = d.params;\n\t\t\tworker.dispatchEvent(evt);\n\t\t}\n\t});\n\tmethods.forEach( method => {\n\t\tworker[method] = (...params) => new Promise( (a, b) => {\n\t\t\tlet id = ++c;\n\t\t\tcallbacks[id] = [a, b];\n\t\t\tworker.postMessage({ type: 'RPC', id, method, params });\n\t\t});\n\t});\n}\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/default-theme.js';\n\nimport {PaperDialogBehaviorImpl} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`paper-dialog-scrollable` implements a scrolling area used in a Material Design\ndialog. It shows a divider at the top and/or bottom indicating more content,\ndepending on scroll position. Use this together with elements implementing\n`Polymer.PaperDialogBehavior`.\n\n \n

    Header

    \n \n Lorem ipsum...\n \n
    \n OK\n
    \n
    \n\nIt shows a top divider after scrolling if it is not the first child in its\nparent container, indicating there is more content above. It shows a bottom\ndivider if it is scrollable and it is not the last child in its parent\ncontainer, indicating there is more content below. The bottom divider is hidden\nif it is scrolled to the bottom.\n\nIf `paper-dialog-scrollable` is not a direct child of the element implementing\n`Polymer.PaperDialogBehavior`, remember to set the `dialogElement`:\n\n \n

    Header

    \n
    \n

    Sub-header

    \n \n Lorem ipsum...\n \n
    \n
    \n OK\n
    \n
    \n\n \n\n### Styling\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-scrollable` | Mixin for the scrollable content | {}\n\n@group Paper Elements\n@element paper-dialog-scrollable\n@demo demo/index.html\n@hero hero.svg\n*/\nPolymer({\n _template: html`\n \n\n
    \n \n
    \n`,\n\n is: 'paper-dialog-scrollable',\n\n properties: {\n\n /**\n * The dialog element that implements `Polymer.PaperDialogBehavior`\n * containing this element.\n * @type {?Node}\n */\n dialogElement: {type: Object}\n\n },\n\n /**\n * Returns the scrolling element.\n */\n get scrollTarget() {\n return this.$.scrollable;\n },\n\n ready: function() {\n this._ensureTarget();\n this.classList.add('no-padding');\n },\n\n attached: function() {\n this._ensureTarget();\n requestAnimationFrame(this.updateScrollState.bind(this));\n },\n\n updateScrollState: function() {\n this.toggleClass('is-scrolled', this.scrollTarget.scrollTop > 0);\n this.toggleClass(\n 'can-scroll',\n this.scrollTarget.offsetHeight < this.scrollTarget.scrollHeight);\n this.toggleClass(\n 'scrolled-to-bottom',\n this.scrollTarget.scrollTop + this.scrollTarget.offsetHeight >=\n this.scrollTarget.scrollHeight);\n },\n\n _ensureTarget: function() {\n // Read parentElement instead of parentNode in order to skip shadowRoots.\n this.dialogElement = this.dialogElement || this.parentElement;\n // Check if dialog implements paper-dialog-behavior. If not, fit\n // scrollTarget to host.\n if (this.dialogElement && this.dialogElement.behaviors &&\n this.dialogElement.behaviors.indexOf(PaperDialogBehaviorImpl) >= 0) {\n this.dialogElement.sizingTarget = this.scrollTarget;\n this.scrollTarget.classList.remove('fit');\n } else if (this.dialogElement) {\n this.scrollTarget.classList.add('fit');\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\n### Styling\n\nThe following custom properties and mixins are available for styling.\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-background-color` | Dialog background color | `--primary-background-color`\n`--paper-dialog-color` | Dialog foreground color | `--primary-text-color`\n`--paper-dialog` | Mixin applied to the dialog | `{}`\n`--paper-dialog-title` | Mixin applied to the title (`

    `) element | `{}`\n`--paper-dialog-button-color` | Button area foreground color | `--default-primary-color`\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport '@polymer/paper-styles/typography.js';\nimport '@polymer/paper-styles/shadow.js';\nconst $_documentContainer = document.createElement('template');\n$_documentContainer.setAttribute('style', 'display: none;');\n\n$_documentContainer.innerHTML = `\n \n`;\n\ndocument.head.appendChild($_documentContainer.content);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/paper-dialog-behavior/paper-dialog-shared-styles.js';\n\nimport {NeonAnimationRunnerBehavior} from '@polymer/neon-animation/neon-animation-runner-behavior.js';\nimport {PaperDialogBehavior} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`` is a dialog with Material Design styling and optional\nanimations when it is opened or closed. It provides styles for a header, content\narea, and an action area for buttons. You can use the\n`` element (in its own repository) if you need a\nscrolling content area. To autofocus a specific child element after opening the\ndialog, give it the `autofocus` attribute. See `Polymer.PaperDialogBehavior` and\n`Polymer.IronOverlayBehavior` for specifics.\n\nFor example, the following code implements a dialog with a header, scrolling\ncontent area and buttons. Focus will be given to the `dialog-confirm` button\nwhen the dialog is opened.\n\n \n

    Header

    \n \n Lorem ipsum...\n \n
    \n Cancel\n Accept\n
    \n
    \n\n### Styling\n\nSee the docs for `Polymer.PaperDialogBehavior` for the custom properties\navailable for styling this element.\n\n### Animations\n\nSet the `entry-animation` and/or `exit-animation` attributes to add an animation\nwhen the dialog is opened or closed. See the documentation in\n[PolymerElements/neon-animation](https://github.com/PolymerElements/neon-animation)\nfor more info.\n\nFor example:\n\n \n\n \n

    Header

    \n
    Dialog body
    \n
    \n\n### Accessibility\n\nSee the docs for `Polymer.PaperDialogBehavior` for accessibility features\nimplemented by this element.\n\n@group Paper Elements\n@element paper-dialog\n@hero hero.svg\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n \n`,\n\n is: 'paper-dialog',\n behaviors: [PaperDialogBehavior, NeonAnimationRunnerBehavior],\n listeners: {'neon-animation-finish': '_onNeonAnimationFinish'},\n\n _renderOpened: function() {\n this.cancelAnimation();\n this.playAnimation('entry');\n },\n\n _renderClosed: function() {\n this.cancelAnimation();\n this.playAnimation('exit');\n },\n\n _onNeonAnimationFinish: function() {\n if (this.opened) {\n this._finishRenderOpened();\n } else {\n this._finishRenderClosed();\n }\n }\n});\n","/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\n Fixes issue with not using shadow dom properly in iron-overlay-behavior/icon-focusables-helper.js\n*/\nimport { dom } from \"@polymer/polymer/lib/legacy/polymer.dom.js\";\n\nimport { IronFocusablesHelper } from \"@polymer/iron-overlay-behavior/iron-focusables-helper.js\";\n\nexport const HaIronFocusablesHelper = {\n /**\n * Returns a sorted array of tabbable nodes, including the root node.\n * It searches the tabbable nodes in the light and shadow dom of the chidren,\n * sorting the result by tabindex.\n * @param {!Node} node\n * @return {!Array}\n */\n getTabbableNodes: function(node) {\n var result = [];\n // If there is at least one element with tabindex > 0, we need to sort\n // the final array by tabindex.\n var needsSortByTabIndex = this._collectTabbableNodes(node, result);\n if (needsSortByTabIndex) {\n return IronFocusablesHelper._sortByTabIndex(result);\n }\n return result;\n },\n\n /**\n * Searches for nodes that are tabbable and adds them to the `result` array.\n * Returns if the `result` array needs to be sorted by tabindex.\n * @param {!Node} node The starting point for the search; added to `result`\n * if tabbable.\n * @param {!Array} result\n * @return {boolean}\n * @private\n */\n _collectTabbableNodes: function(node, result) {\n // If not an element or not visible, no need to explore children.\n if (\n node.nodeType !== Node.ELEMENT_NODE ||\n !IronFocusablesHelper._isVisible(node)\n ) {\n return false;\n }\n var element = /** @type {!HTMLElement} */ (node);\n var tabIndex = IronFocusablesHelper._normalizedTabIndex(element);\n var needsSort = tabIndex > 0;\n if (tabIndex >= 0) {\n result.push(element);\n }\n\n // In ShadowDOM v1, tab order is affected by the order of distrubution.\n // E.g. getTabbableNodes(#root) in ShadowDOM v1 should return [#A, #B];\n // in ShadowDOM v0 tab order is not affected by the distrubution order,\n // in fact getTabbableNodes(#root) returns [#B, #A].\n //
    \n // \n // \n // \n // \n // \n // \n //
    \n // TODO(valdrin) support ShadowDOM v1 when upgrading to Polymer v2.0.\n var children;\n if (element.localName === \"content\" || element.localName === \"slot\") {\n children = dom(element).getDistributedNodes();\n } else {\n // /////////////////////////\n // Use shadow root if possible, will check for distributed nodes.\n // THIS IS THE CHANGED LINE\n children = dom(element.shadowRoot || element.root || element).children;\n // /////////////////////////\n }\n for (var i = 0; i < children.length; i++) {\n // Ensure method is always invoked to collect tabbable children.\n needsSort = this._collectTabbableNodes(children[i], result) || needsSort;\n }\n return needsSort;\n },\n};\n","import \"@polymer/paper-dialog/paper-dialog\";\nimport { mixinBehaviors } from \"@polymer/polymer/lib/legacy/class\";\nimport { HaIronFocusablesHelper } from \"./ha-iron-focusables-helper.js\";\n// tslint:disable-next-line\nimport { PaperDialogElement } from \"@polymer/paper-dialog/paper-dialog\";\n\nconst paperDialogClass = customElements.get(\"paper-dialog\");\n\n// behavior that will override existing iron-overlay-behavior and call the fixed implementation\nconst haTabFixBehaviorImpl = {\n get _focusableNodes() {\n return HaIronFocusablesHelper.getTabbableNodes(this);\n },\n};\n\n// paper-dialog that uses the haTabFixBehaviorImpl behvaior\n// export class HaPaperDialog extends paperDialogClass {}\n// @ts-ignore\nexport class HaPaperDialog\n extends mixinBehaviors([haTabFixBehaviorImpl], paperDialogClass)\n implements PaperDialogElement {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-paper-dialog\": HaPaperDialog;\n }\n}\ncustomElements.define(\"ha-paper-dialog\", HaPaperDialog);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.9d7374dae6137783dda4.js b/hassio/api/panel/chunk.9d7374dae6137783dda4.js deleted file mode 100644 index 58050a04d..000000000 --- a/hassio/api/panel/chunk.9d7374dae6137783dda4.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see chunk.9d7374dae6137783dda4.js.LICENSE */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{118:function(t,e){var n,i,r,o;n=function(){return this}(),r={},o={},function(t,e){function n(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear",this._easingFunction=h}function i(){return t.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function r(e,i,r){var o=new n;return i&&(o.fill="both",o.duration="auto"),"number"!=typeof e||isNaN(e)?void 0!==e&&Object.getOwnPropertyNames(e).forEach(function(n){if("auto"!=e[n]){if(("number"==typeof o[n]||"duration"==n)&&("number"!=typeof e[n]||isNaN(e[n])))return;if("fill"==n&&-1==c.indexOf(e[n]))return;if("direction"==n&&-1==p.indexOf(e[n]))return;if("playbackRate"==n&&1!==e[n]&&t.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;o[n]=e[n]}}):o.duration=e,o}function o(t,e,n,i){return t<0||t>1||n<0||n>1?h:function(r){function o(t,e,n){return 3*t*(1-n)*(1-n)*n+3*e*(1-n)*n*n+n*n*n}if(r<=0){var a=0;return t>0?a=e/t:!e&&n>0&&(a=i/n),a*r}if(r>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&t<1&&(s=(e-1)/(t-1)),1+s*(r-1)}for(var l=0,u=1;l=1)return 1;var i=1/t;return(n+=e*i)-n%i}}function s(t){v||(v=document.createElement("div").style),v.animationTimingFunction="",v.animationTimingFunction=t;var e=v.animationTimingFunction;if(""==e&&i())throw new TypeError(t+" is not a valid value for easing");return e}function l(t){if("linear"==t)return h;var e=_.exec(t);if(e)return o.apply(this,e.slice(1).map(Number));var n=b.exec(t);return n?a(Number(n[1]),{start:d,middle:f,end:m}[n[2]]):g[t]||h}function u(t,e,n){if(null==e)return w;var i=n.delay+t+n.endDelay;return e=Math.min(n.delay+t,i)?T:A}var c="backwards|forwards|both|none".split("|"),p="reverse|alternate|alternate-reverse".split("|"),h=function(t){return t};n.prototype={_setMember:function(e,n){this["_"+e]=n,this._effect&&(this._effect._timingInput[e]=n,this._effect._timing=t.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=t.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(t){this._setMember("delay",t)},get delay(){return this._delay},set endDelay(t){this._setMember("endDelay",t)},get endDelay(){return this._endDelay},set fill(t){this._setMember("fill",t)},get fill(){return this._fill},set iterationStart(t){if((isNaN(t)||t<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",t)},get iterationStart(){return this._iterationStart},set duration(t){if("auto"!=t&&(isNaN(t)||t<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+t);this._setMember("duration",t)},get duration(){return this._duration},set direction(t){this._setMember("direction",t)},get direction(){return this._direction},set easing(t){this._easingFunction=l(s(t)),this._setMember("easing",t)},get easing(){return this._easing},set iterations(t){if((isNaN(t)||t<0)&&i())throw new TypeError("iterations must be non-negative, received: "+t);this._setMember("iterations",t)},get iterations(){return this._iterations}};var d=1,f=.5,m=0,g={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":a(1,d),"step-middle":a(1,f),"step-end":a(1,m)},v=null,y="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",_=new RegExp("cubic-bezier\\("+y+","+y+","+y+","+y+"\\)"),b=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,w=0,x=1,T=2,A=3;t.cloneTimingInput=function(t){if("number"==typeof t)return t;var e={};for(var n in t)e[n]=t[n];return e},t.makeTiming=r,t.numericTimingToObject=function(t){return"number"==typeof t&&(t=isNaN(t)?{duration:0}:{duration:t}),t},t.normalizeTimingInput=function(e,n){return r(e=t.numericTimingToObject(e),n)},t.calculateActiveDuration=function(t){return Math.abs(function(t){return 0===t.duration||0===t.iterations?0:t.duration*t.iterations}(t)/t.playbackRate)},t.calculateIterationProgress=function(t,e,n){var i=u(t,e,n),r=function(t,e,n,i,r){switch(i){case x:return"backwards"==e||"both"==e?0:null;case A:return n-r;case T:return"forwards"==e||"both"==e?t:null;case w:return null}}(t,n.fill,e,i,n.delay);if(null===r)return null;var o=function(t,e,n,i,r){var o=r;return 0===t?e!==x&&(o+=n):o+=i/t,o}(n.duration,i,n.iterations,r,n.iterationStart),a=function(t,e,n,i,r,o){var a=t===1/0?e%1:t%1;return 0!==a||n!==T||0===i||0===r&&0!==o||(a=1),a}(o,n.iterationStart,i,n.iterations,r,n.duration),s=function(t,e,n,i){return t===T&&e===1/0?1/0:1===n?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,a,o),l=function(t,e,n){var i=t;if("normal"!==t&&"reverse"!==t){var r=e;"alternate-reverse"===t&&(r+=1),i="normal",r!==1/0&&r%2!=0&&(i="reverse")}return"normal"===i?n:1-n}(n.direction,s,a);return n._easingFunction(l)},t.calculatePhase=u,t.normalizeEasing=s,t.parseEasingFunction=l}(i={}),function(t,e){function n(t,e){return t in l&&l[t][e]||e}function i(t,e,i){if(!function(t){return"display"===t||0===t.lastIndexOf("animation",0)||0===t.lastIndexOf("transition",0)}(t)){var r=o[t];if(r)for(var s in a.style[t]=e,r){var l=r[s],u=a.style[l];i[l]=n(l,u)}else i[t]=n(t,e)}}function r(t){var e=[];for(var n in t)if(!(n in["easing","offset","composite"])){var i=t[n];Array.isArray(i)||(i=[i]);for(var r,o=i.length,a=0;a1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){if("add"==o||"accumulate"==o)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=o)throw new TypeError("Invalid composite mode "+o+".")}else o="easing"==r?t.normalizeEasing(o):""+o;i(r,o,n)}return null==n.offset&&(n.offset=null),null==n.easing&&(n.easing="linear"),n}),o=!0,a=-1/0,s=0;s=0&&t.offset<=1}),o||function(){var t=n.length;null==n[t-1].offset&&(n[t-1].offset=1),t>1&&null==n[0].offset&&(n[0].offset=0);for(var e=0,i=n[0].offset,r=1;r=t.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(t){t=+t,isNaN(t)||(e.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-t/this._playbackRate),this._currentTimePending=!1,this._currentTime!=t&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(t,!0),e.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(t){t=+t,isNaN(t)||this._paused||this._idle||(this._startTime=t,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),e.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(t){if(t!=this._playbackRate){var n=this.currentTime;this._playbackRate=t,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.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(),e.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,e.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),e.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(t,e){"function"==typeof e&&"finish"==t&&this._finishHandlers.push(e)},removeEventListener:function(t,e){if("finish"==t){var n=this._finishHandlers.indexOf(e);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(t){if(this._isFinished){if(!this._finishedFlag){var e=new i(this,this._currentTime,t),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){n.forEach(function(t){t.call(e.target,e)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(t,e){this._idle||this._paused||(null==this._startTime?e&&(this.startTime=t-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((t-this._startTime)*this.playbackRate)),e&&(this._currentTimePending=!1,this._fireEvents(t))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var t=this._effect._target;return t._activeAnimations||(t._activeAnimations=[]),t._activeAnimations},_markTarget:function(){var t=this._targetAnimations();-1===t.indexOf(this)&&t.push(this)},_unmarkTarget:function(){var t=this._targetAnimations(),e=t.indexOf(this);-1!==e&&t.splice(e,1)}}}(i,r),function(t,e,n){function i(t){var e=u;u=[],ti?n%=i:i%=n;return t*e/(n+i)}(i.length,r.length),u=0;u=1?e:"visible"}]},["visibility"]),function(t,e){function n(t){t=t.trim(),o.fillStyle="#000",o.fillStyle=t;var e=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=t,e==o.fillStyle){o.fillRect(0,0,1,1);var n=o.getImageData(0,0,1,1).data;o.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(e,n){return[e,n,function(e){function n(t){return Math.max(0,Math.min(255,t))}if(e[3])for(var i=0;i<3;i++)e[i]=Math.round(n(e[i]/e[3]));return e[3]=t.numberToString(t.clamp(0,1,e[3])),"rgba("+e.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");t.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"]),t.consumeColor=t.consumeParenthesised.bind(null,n),t.mergeColors=i}(r),function(t,e){function n(t){function e(){var e=a.exec(t);o=e?e[0]:void 0}function n(){if("("!==o)return function(){var t=Number(o);return e(),t}();e();var t=r();return")"!==o?NaN:(e(),t)}function i(){for(var t=n();"*"===o||"/"===o;){var i=o;e();var r=n();"*"===i?t*=r:t/=r}return t}function r(){for(var t=i();"+"===o||"-"===o;){var n=o;e();var r=i();"+"===n?t+=r:t-=r}return t}var o,a=/([\+\-\w\.]+|[\(\)\*\/])/g;return e(),r()}function i(t,e){if("0"==(e=e.trim().toLowerCase())&&"px".search(t)>=0)return{px:0};if(/^[^(]*$|^calc/.test(e)){e=e.replace(/calc\(/g,"(");var i={};e=e.replace(t,function(t){return i[t]=null,"U"+t});for(var r="U("+t.source+")",o=e.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+r,"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")),u=i.bind(null,/deg|rad|grad|turn/g);t.parseLength=s,t.parseLengthOrPercent=l,t.consumeLengthOrPercent=t.consumeParenthesised.bind(null,l),t.parseAngle=u,t.mergeDimensions=o;var c=t.consumeParenthesised.bind(null,s),p=t.consumeRepeated.bind(void 0,c,/^/),h=t.consumeRepeated.bind(void 0,p,/^,/);t.consumeSizePairList=h;var d=t.mergeNestedRepeated.bind(void 0,r," "),f=t.mergeNestedRepeated.bind(void 0,d,",");t.mergeNonNegativeSizePair=d,t.addPropertiesHandler(function(t){var e=h(t);if(e&&""==e[1])return e[0]},f,["background-size"]),t.addPropertiesHandler(l,r,["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"]),t.addPropertiesHandler(l,o,["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"])}(r),function(t,e){function n(e){return t.consumeLengthOrPercent(e)||t.consumeToken(/^auto/,e)}function i(e){var i=t.consumeList([t.ignore(t.consumeToken.bind(null,/^rect/)),t.ignore(t.consumeToken.bind(null,/^\(/)),t.consumeRepeated.bind(null,n,/^,/),t.ignore(t.consumeToken.bind(null,/^\)/))],e);if(i&&4==i[0].length)return i[0]}var r=t.mergeWrappedNestedRepeated.bind(null,function(t){return"rect("+t+")"},function(e,n){return"auto"==e||"auto"==n?[!0,!1,function(i){var r=i?e:n;if("auto"==r)return"auto";var o=t.mergeDimensions(r,r);return o[2](o[0])}]:t.mergeDimensions(e,n)},", ");t.parseBox=i,t.mergeBoxes=r,t.addPropertiesHandler(i,r,["clip"])}(r),function(t,e){function n(t){return function(e){var n=0;return t.map(function(t){return t===u?e[n++]:t})}}function i(t){return t}function r(e){if("none"==(e=e.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;n=i.exec(e);){if(n.index!=o)return;o=n.index+n[0].length;var a=n[1],s=h[a];if(!s)return;var l=n[2].split(","),u=s[0];if(u.length=0&&this._cancelHandlers.splice(n,1)}else l.call(this,t,e)},o}}}(),function(t){var e=document.documentElement,n=null,i=!1;try{var r="0"==getComputedStyle(e).getPropertyValue("opacity")?"1":"0";(n=e.animate({opacity:[r,r]},{duration:1})).currentTime=0,i=getComputedStyle(e).getPropertyValue("opacity")==r}catch(t){}finally{n&&n.cancel()}if(!i){var o=window.Element.prototype.animate;window.Element.prototype.animate=function(e,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArray(e)||null===e||(e=t.convertToArrayForm(e)),o.call(this,e,n)}}}(i),function(t,e,n){function i(t){var n=e.timeline;n.currentTime=t,n._discardAnimations(),0==n._animations.length?o=!1:requestAnimationFrame(i)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(t){return r(function(n){e.timeline._updateAnimationsPromises(),t(n),e.timeline._updateAnimationsPromises()})},e.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},e.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){e.animationsWithPromises=e.animationsWithPromises.filter(function(t){return t._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(t){return"finished"!=t.playState&&"idle"!=t.playState})},_play:function(t){var n=new e.Animation(t,this);return this._animations.push(n),e.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(t){return t&&t.remove(),this._play(t)}};var o=!1;e.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(i))};var a=new e.AnimationTimeline;e.timeline=a;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return a}})}catch(t){}try{window.document.timeline=a}catch(t){}}(0,o),function(t,e,n){e.animationsWithPromises=[],e.Animation=function(e,n){if(this.id="",e&&e._id&&(this.id=e._id),this.effect=e,e&&(e._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=t.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()},e.Animation.prototype={_updatePromises:function(){var t=this._oldPlayState,e=this.playState;return this._readyPromise&&e!==t&&("idle"==e?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==t?this._resolveReadyPromise():"pending"==e&&(this._readyPromise=void 0)),this._finishedPromise&&e!==t&&("idle"==e?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==e?this._resolveFinishedPromise():"finished"==t&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var t,n,i,r,o=!!this._animation;o&&(t=this.playbackRate,n=this._paused,i=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=e.newUnderlyingAnimationForKeyframeEffect(this.effect),e.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=e.newUnderlyingAnimationForGroup(this.effect),e.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&e.bindAnimationForCustomEffect(this),o&&(1!=t&&(this.playbackRate=t),null!==i?this.startTime=i:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var t=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,t),this.effect instanceof window.SequenceEffect&&(t+=e.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(t){if(this.effect&&this._isGroup)for(var e=0;e\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"]);return a=function(){return t},t}Object(r.a)({_template:Object(o.a)(a()),is:"paper-listbox",behaviors:[i.a],hostAttributes:{role:"listbox"}})},120:function(t,e,n){"use strict";n(3),n(10);var i=n(20),r=n(53),o=n(5),a=n(6),s=n(4);function l(){var t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}(['\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'],['\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']);return l=function(){return t},t}Object(o.a)({_template:Object(s.a)(l()),is:"iron-autogrow-textarea",behaviors:[r.a,i.a],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(t){this.$.textarea.selectionStart=t},set selectionEnd(t){this.$.textarea.selectionEnd=t},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var t=this.$.textarea.validity.valid;return t&&(this.required&&""===this.value?t=!1:this.hasValidator()&&(t=r.a.validate.call(this,this.value))),this.invalid=!t,this.fire("iron-input-validate"),t},_bindValueChanged:function(t){this.value=t},_valueChanged:function(t){var e=this.textarea;e&&(e.value!==t&&(e.value=t||0===t?t:""),this.bindValue=t,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(t){var e=Object(a.a)(t).path;this.value=e?e[0].value:t.target.value},_constrain:function(t){var e;for(t=t||[""],e=this.maxRows>0&&t.length>this.maxRows?t.slice(0,this.maxRows):t.slice(0);this.rows>0&&e.length")+" "},_valueForMirror:function(){var t=this.textarea;if(t)return this.tokens=t&&t.value?t.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}})},121:function(t,e,n){"use strict";n(3);var i=n(5),r=n(6),o=n(4);function a(){var t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}(['\n \n\n \n']);return a=function(){return t},t}Object(i.a)({_template:Object(o.a)(a()),is:"paper-tooltip",hostAttributes:{role:"tooltip",tabindex:-1},properties:{for:{type:String,observer:"_findTarget"},manualMode:{type:Boolean,value:!1,observer:"_manualModeChanged"},position:{type:String,value:"bottom"},fitToVisibleBounds:{type:Boolean,value:!1},offset:{type:Number,value:14},marginTop:{type:Number,value:14},animationDelay:{type:Number,value:500,observer:"_delayChange"},animationEntry:{type:String,value:""},animationExit:{type:String,value:""},animationConfig:{type:Object,value:function(){return{entry:[{name:"fade-in-animation",node:this,timing:{delay:0}}],exit:[{name:"fade-out-animation",node:this}]}}},_showing:{type:Boolean,value:!1}},listeners:{webkitAnimationEnd:"_onAnimationEnd"},get target(){var t=Object(r.a)(this).parentNode,e=Object(r.a)(this).getOwnerRoot();return this.for?Object(r.a)(e).querySelector("#"+this.for):t.nodeType==Node.DOCUMENT_FRAGMENT_NODE?e.host:t},attached:function(){this._findTarget()},detached:function(){this.manualMode||this._removeListeners()},playAnimation:function(t){"entry"===t?this.show():"exit"===t&&this.hide()},cancelAnimation:function(){this.$.tooltip.classList.add("cancel-animation")},show:function(){if(!this._showing){if(""===Object(r.a)(this).textContent.trim()){for(var t=!0,e=Object(r.a)(this).getEffectiveChildNodes(),n=0;nwindow.innerWidth?(this.style.right="0px",this.style.left="auto"):(this.style.left=Math.max(0,e)+"px",this.style.right="auto"),i.top+n+o.height>window.innerHeight?(this.style.bottom=i.height-u+t+"px",this.style.top="auto"):(this.style.top=Math.max(-i.top,n)+"px",this.style.bottom="auto")):(this.style.left=e+"px",this.style.top=n+"px")}},_addListeners:function(){this._target&&(this.listen(this._target,"mouseenter","show"),this.listen(this._target,"focus","show"),this.listen(this._target,"mouseleave","hide"),this.listen(this._target,"blur","hide"),this.listen(this._target,"tap","hide")),this.listen(this.$.tooltip,"animationend","_onAnimationEnd"),this.listen(this,"mouseenter","hide")},_findTarget:function(){this.manualMode||this._removeListeners(),this._target=this.target,this.manualMode||this._addListeners()},_delayChange:function(t){500!==t&&this.updateStyles({"--paper-tooltip-delay-in":t+"ms"})},_manualModeChanged:function(){this.manualMode?this._removeListeners():this._addListeners()},_cancelAnimation:function(){this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add("hidden")},_onAnimationFinish:function(){this._showing&&(this.$.tooltip.classList.remove(this._getAnimationType("entry")),this.$.tooltip.classList.remove("cancel-animation"),this.$.tooltip.classList.add(this._getAnimationType("exit")))},_onAnimationEnd:function(){this._animationPlaying=!1,this._showing||(this.$.tooltip.classList.remove(this._getAnimationType("exit")),this.$.tooltip.classList.add("hidden"))},_getAnimationType:function(t){if("entry"===t&&""!==this.animationEntry)return this.animationEntry;if("exit"===t&&""!==this.animationExit)return this.animationExit;if(this.animationConfig[t]&&"string"==typeof this.animationConfig[t][0].name){if(this.animationConfig[t][0].timing&&this.animationConfig[t][0].timing.delay&&0!==this.animationConfig[t][0].timing.delay){var e=this.animationConfig[t][0].timing.delay;"entry"===t?this.updateStyles({"--paper-tooltip-delay-in":e+"ms"}):"exit"===t&&this.updateStyles({"--paper-tooltip-delay-out":e+"ms"})}return this.animationConfig[t][0].name}},_removeListeners:function(){this._target&&(this.unlisten(this._target,"mouseenter","show"),this.unlisten(this._target,"focus","show"),this.unlisten(this._target,"mouseleave","hide"),this.unlisten(this._target,"blur","hide"),this.unlisten(this._target,"tap","hide")),this.unlisten(this.$.tooltip,"animationend","_onAnimationEnd"),this.unlisten(this,"mouseenter","hide")}})},122:function(t,e,n){"use strict";n(3),n(10),n(28),n(11);var i=n(79),r=n(52),o=n(5),a=n(37),s=n(4),l=n(47);function u(){var t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}(['\n\n \n\n
    \n
    \n
    \n
    \n\n
    \n\n ']);return u=function(){return t},t}var c=Object(s.a)(u());c.setAttribute("strip-whitespace",""),Object(o.a)({_template:c,is:"paper-toggle-button",behaviors:[i.a],hostAttributes:{role:"button","aria-pressed":"false",tabindex:0},properties:{},listeners:{track:"_ontrack"},attached:function(){Object(l.a)(this,function(){Object(a.e)(this,"pan-y")})},_ontrack:function(t){var e=t.detail;"start"===e.state?this._trackStart(e):"track"===e.state?this._trackMove(e):"end"===e.state&&this._trackEnd(e)},_trackStart:function(t){this._width=this.$.toggleBar.offsetWidth/2,this._trackChecked=this.checked,this.$.toggleButton.classList.add("dragging")},_trackMove:function(t){var e=t.dx;this._x=Math.min(this._width,Math.max(0,this._trackChecked?this._width+e:e)),this.translate3d(this._x+"px",0,0,this.$.toggleButton),this._userActivate(this._x>this._width/2)},_trackEnd:function(t){this.$.toggleButton.classList.remove("dragging"),this.transform("",this.$.toggleButton)},_createRipple:function(){this._rippleContainer=this.$.toggleButton;var t=r.a._createRipple();return t.id="ink",t.setAttribute("recenters",""),t.classList.add("circle","toggle-ink"),t}})},130:function(t,e,n){"use strict";n(3);var i=n(21),r=(n(25),n(34),n(20)),o=n(73),a=n(80),s=n(5),l=n(6),u=n(4);function c(){var t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}(['\n \n\n
    \n \n
    \n']);return c=function(){return t},t}Object(s.a)({_template:Object(u.a)(c()),is:"iron-dropdown",behaviors:[r.a,i.a,o.a,a.a],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 t=Object(l.a)(this.$.content).getDistributedNodes(),e=0,n=t.length;e\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']);return h=function(){return t},t}Object(s.a)({is:"paper-menu-grow-height-animation",behaviors:[p],configure:function(t){var e=t.node,n=e.getBoundingClientRect().height;return this._effect=new KeyframeEffect(e,[{height:n/2+"px"},{height:n+"px"}],this.timingFromConfig(t)),this._effect}}),Object(s.a)({is:"paper-menu-grow-width-animation",behaviors:[p],configure:function(t){var e=t.node,n=e.getBoundingClientRect().width;return this._effect=new KeyframeEffect(e,[{width:n/2+"px"},{width:n+"px"}],this.timingFromConfig(t)),this._effect}}),Object(s.a)({is:"paper-menu-shrink-width-animation",behaviors:[p],configure:function(t){var e=t.node,n=e.getBoundingClientRect().width;return this._effect=new KeyframeEffect(e,[{width:n+"px"},{width:n-n/20+"px"}],this.timingFromConfig(t)),this._effect}}),Object(s.a)({is:"paper-menu-shrink-height-animation",behaviors:[p],configure:function(t){var e=t.node,n=e.getBoundingClientRect().height;return this.setPrefixedProperty(e,"transformOrigin","0 0"),this._effect=new KeyframeEffect(e,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(t)),this._effect}});var d={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},f=Object(s.a)({_template:Object(u.a)(h()),is:"paper-menu-button",behaviors:[i.a,r.a],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:d.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:d.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:d.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 t=Object(l.a)(this.$.content).getDistributedNodes(),e=0,n=t.length;e-1&&t.preventDefault()}});Object.keys(d).forEach(function(t){f[t]=d[t]});n(86),n(55);var m=document.createElement("template");m.setAttribute("style","display: none;"),m.innerHTML='\n\n\n\n',document.head.appendChild(m.content);var g=document.createElement("template");g.setAttribute("style","display: none;"),g.innerHTML='\n \n',document.head.appendChild(g.content);var v=n(39),y=n(67),_=n(53),b=n(37);function w(){var t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}(['\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']);return w=function(){return t},t}Object(s.a)({_template:Object(u.a)(w()),is:"paper-dropdown-menu",behaviors:[v.a,r.a,y.a,_.a],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 t=this.contentElement;t&&t.selectedItem&&this._setSelectedItem(t.selectedItem)},get contentElement(){for(var t=Object(l.a)(this.$.content).getDistributedNodes(),e=0,n=t.length;e\n \n",document.head.appendChild(i.content);var r=n(5),o=n(4),a=n(39),s=n(20),l=[a.a,s.a,{hostAttributes:{role:"option",tabindex:"0"}}];function u(){var t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}(['\n \n \n']);return u=function(){return t},t}Object(r.a)({_template:Object(o.a)(u()),is:"paper-item",behaviors:[l]})}}]); -//# sourceMappingURL=chunk.9d7374dae6137783dda4.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.9d7374dae6137783dda4.js.gz b/hassio/api/panel/chunk.9d7374dae6137783dda4.js.gz deleted file mode 100644 index 703f1f0f6f4e3d77a75f4e2e063f9c56b2508f44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22233 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 z�f*zzDL;uDU;*G9rH>Ig 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 sbe;V%`g(Ey_We7H#N31||c<0||c>1?x:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(e<=0){var g=0;return a>0?g=b/a:!b&&c>0&&(g=d/c),g*e}if(e>=1){var h=0;return c<1?h=(d-1)/(c-1):1==c&&a<1&&(h=(b-1)/(a-1)),1+h*(e-1)}for(var i=0,j=1;i=1)return 1;var d=1/a;return(c+=b*d)-c%d}}function k(a){C||(C=document.createElement(\"div\").style),C.animationTimingFunction=\"\",C.animationTimingFunction=a;var b=C.animationTimingFunction;if(\"\"==b&&e())throw new TypeError(a+\" is not a valid value for easing\");return b}function l(a){if(\"linear\"==a)return x;var b=E.exec(a);if(b)return i.apply(this,b.slice(1).map(Number));var c=F.exec(a);return c?j(Number(c[1]),{start:y,middle:z,end:A}[c[2]]):B[a]||x}function m(a){return Math.abs(n(a)/a.playbackRate)}function n(a){return 0===a.duration||0===a.iterations?0:a.duration*a.iterations}function o(a,b,c){if(null==b)return G;var d=c.delay+a+c.endDelay;return b=Math.min(c.delay+a,d)?I:J}function p(a,b,c,d,e){switch(d){case H:return\"backwards\"==b||\"both\"==b?0:null;case J:return c-e;case I:return\"forwards\"==b||\"both\"==b?a:null;case G:return null}}function q(a,b,c,d,e){var f=e;return 0===a?b!==H&&(f+=c):f+=d/a,f}function r(a,b,c,d,e,f){var g=a===1/0?b%1:a%1;return 0!==g||c!==I||0===d||0===e&&0!==f||(g=1),g}function s(a,b,c,d){return a===I&&b===1/0?1/0:1===c?Math.floor(d)-1:Math.floor(d)}function t(a,b,c){var d=a;if(\"normal\"!==a&&\"reverse\"!==a){var e=b;\"alternate-reverse\"===a&&(e+=1),d=\"normal\",e!==1/0&&e%2!=0&&(d=\"reverse\")}return\"normal\"===d?c:1-c}function u(a,b,c){var d=o(a,b,c),e=p(a,c.fill,b,d,c.delay);if(null===e)return null;var f=q(c.duration,d,c.iterations,e,c.iterationStart),g=r(f,c.iterationStart,d,c.iterations,e,c.duration),h=s(d,c.iterations,g,f),i=t(c.direction,h,g);return c._easingFunction(i)}var v=\"backwards|forwards|both|none\".split(\"|\"),w=\"reverse|alternate|alternate-reverse\".split(\"|\"),x=function(a){return a};d.prototype={_setMember:function(b,c){this[\"_\"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember(\"delay\",a)},get delay(){return this._delay},set endDelay(a){this._setMember(\"endDelay\",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember(\"fill\",a)},get fill(){return this._fill},set iterationStart(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterationStart must be a non-negative number, received: \"+timing.iterationStart);this._setMember(\"iterationStart\",a)},get iterationStart(){return this._iterationStart},set duration(a){if(\"auto\"!=a&&(isNaN(a)||a<0)&&e())throw new TypeError(\"duration must be non-negative or auto, received: \"+a);this._setMember(\"duration\",a)},get duration(){return this._duration},set direction(a){this._setMember(\"direction\",a)},get direction(){return this._direction},set easing(a){this._easingFunction=l(k(a)),this._setMember(\"easing\",a)},get easing(){return this._easing},set iterations(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterations must be non-negative, received: \"+a);this._setMember(\"iterations\",a)},get iterations(){return this._iterations}};var y=1,z=.5,A=0,B={ease:i(.25,.1,.25,1),\"ease-in\":i(.42,0,1,1),\"ease-out\":i(0,0,.58,1),\"ease-in-out\":i(.42,0,.58,1),\"step-start\":j(1,y),\"step-middle\":j(1,z),\"step-end\":j(1,A)},C=null,D=\"\\\\s*(-?\\\\d+\\\\.?\\\\d*|-?\\\\.\\\\d+)\\\\s*\",E=new RegExp(\"cubic-bezier\\\\(\"+D+\",\"+D+\",\"+D+\",\"+D+\"\\\\)\"),F=/steps\\(\\s*(\\d+)\\s*,\\s*(start|middle|end)\\s*\\)/,G=0,H=1,I=2,J=3;a.cloneTimingInput=c,a.makeTiming=f,a.numericTimingToObject=g,a.normalizeTimingInput=h,a.calculateActiveDuration=m,a.calculateIterationProgress=u,a.calculatePhase=o,a.normalizeEasing=k,a.parseEasingFunction=l}(c),function(a,b){function c(a,b){return a in k?k[a][b]||b:b}function d(a){return\"display\"===a||0===a.lastIndexOf(\"animation\",0)||0===a.lastIndexOf(\"transition\",0)}function e(a,b,e){if(!d(a)){var f=h[a];if(f){i.style[a]=b;for(var g in f){var j=f[g],k=i.style[j];e[j]=c(j,k)}}else e[a]=c(a,b)}}function f(a){var b=[];for(var c in a)if(!(c in[\"easing\",\"offset\",\"composite\"])){var d=a[c];Array.isArray(d)||(d=[d]);for(var e,f=d.length,g=0;g1&&null==d[0].offset&&(d[0].offset=0);for(var b=0,c=d[0].offset,e=1;e1)throw new TypeError(\"Keyframe offsets must be between 0 and 1.\")}}else if(\"composite\"==d){if(\"add\"==f||\"accumulate\"==f)throw{type:DOMException.NOT_SUPPORTED_ERR,name:\"NotSupportedError\",message:\"add compositing is not supported\"};if(\"replace\"!=f)throw new TypeError(\"Invalid composite mode \"+f+\".\")}else f=\"easing\"==d?a.normalizeEasing(f):\"\"+f;e(d,f,c)}return void 0==c.offset&&(c.offset=null),void 0==c.easing&&(c.easing=\"linear\"),c}),g=!0,h=-1/0,i=0;i=0&&a.offset<=1}),g||c(),d}var h={background:[\"backgroundImage\",\"backgroundPosition\",\"backgroundSize\",\"backgroundRepeat\",\"backgroundAttachment\",\"backgroundOrigin\",\"backgroundClip\",\"backgroundColor\"],border:[\"borderTopColor\",\"borderTopStyle\",\"borderTopWidth\",\"borderRightColor\",\"borderRightStyle\",\"borderRightWidth\",\"borderBottomColor\",\"borderBottomStyle\",\"borderBottomWidth\",\"borderLeftColor\",\"borderLeftStyle\",\"borderLeftWidth\"],borderBottom:[\"borderBottomWidth\",\"borderBottomStyle\",\"borderBottomColor\"],borderColor:[\"borderTopColor\",\"borderRightColor\",\"borderBottomColor\",\"borderLeftColor\"],borderLeft:[\"borderLeftWidth\",\"borderLeftStyle\",\"borderLeftColor\"],borderRadius:[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomRightRadius\",\"borderBottomLeftRadius\"],borderRight:[\"borderRightWidth\",\"borderRightStyle\",\"borderRightColor\"],borderTop:[\"borderTopWidth\",\"borderTopStyle\",\"borderTopColor\"],borderWidth:[\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\"],flex:[\"flexGrow\",\"flexShrink\",\"flexBasis\"],font:[\"fontFamily\",\"fontSize\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"lineHeight\"],margin:[\"marginTop\",\"marginRight\",\"marginBottom\",\"marginLeft\"],outline:[\"outlineColor\",\"outlineStyle\",\"outlineWidth\"],padding:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"]},i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),j={thin:\"1px\",medium:\"3px\",thick:\"5px\"},k={borderBottomWidth:j,borderLeftWidth:j,borderRightWidth:j,borderTopWidth:j,fontSize:{\"xx-small\":\"60%\",\"x-small\":\"75%\",small:\"89%\",medium:\"100%\",large:\"120%\",\"x-large\":\"150%\",\"xx-large\":\"200%\"},fontWeight:{normal:\"400\",bold:\"700\"},outlineWidth:j,textShadow:{none:\"0px 0px 0px transparent\"},boxShadow:{none:\"0px 0px 0px 0px transparent\"}};a.convertToArrayForm=f,a.normalizeKeyframes=g}(c),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?\"are\":\"is\",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),!(g=a.applyFrom&&c0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(a,!0),b.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var c=this.currentTime;this._playbackRate=a,this._startTime=null,\"paused\"!=this.playState&&\"idle\"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)),null!=c&&(this.currentTime=c)}},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(),b.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,b.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),b.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){\"function\"==typeof b&&\"finish\"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if(\"finish\"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){if(this._isFinished){if(!this._finishedFlag){var b=new d(this,this._currentTime,a),c=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){c.forEach(function(a){a.call(b.target,b)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(a,b){this._idle||this._paused||(null==this._startTime?b&&(this.startTime=a-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),b&&(this._currentTimePending=!1,this._fireEvents(a))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var a=this._effect._target;return a._activeAnimations||(a._activeAnimations=[]),a._activeAnimations},_markTarget:function(){var a=this._targetAnimations();-1===a.indexOf(this)&&a.push(this)},_unmarkTarget:function(){var a=this._targetAnimations(),b=a.indexOf(this);-1!==b&&a.splice(b,1)}}}(c,d),function(a,b,c){function d(a){var b=j;j=[],ad?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){return a(c)||[b,c]}}function i(b,c){for(var d=[],e=0;e=1?b:\"visible\"}]}a.addPropertiesHandler(String,c,[\"visibility\"])}(d),function(a,b){function c(a){a=a.trim(),f.fillStyle=\"#000\",f.fillStyle=a;var b=f.fillStyle;if(f.fillStyle=\"#fff\",f.fillStyle=a,b==f.fillStyle){f.fillRect(0,0,1,1);var c=f.getImageData(0,0,1,1).data;f.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function d(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;d<3;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),\"rgba(\"+b.join(\",\")+\")\"}]}var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");e.width=e.height=1;var f=e.getContext(\"2d\");a.addPropertiesHandler(c,d,[\"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\"]),a.consumeColor=a.consumeParenthesised.bind(null,c),a.mergeColors=d}(d),function(a,b){function c(a){function b(){var b=h.exec(a);g=b?b[0]:void 0}function c(){var a=Number(g);return b(),a}function d(){if(\"(\"!==g)return c();b();var a=f();return\")\"!==g?NaN:(b(),a)}function e(){for(var a=d();\"*\"===g||\"/\"===g;){var c=g;b();var e=d();\"*\"===c?a*=e:a/=e}return a}function f(){for(var a=e();\"+\"===g||\"-\"===g;){var c=g;b();var d=e();\"+\"===c?a+=d:a-=d}return a}var g,h=/([\\+\\-\\w\\.]+|[\\(\\)\\*\\/])/g;return b(),f()}function d(a,b){if(\"0\"==(b=b.trim().toLowerCase())&&\"px\".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\\(/g,\"(\");var d={};b=b.replace(a,function(a){return d[a]=null,\"U\"+a});for(var e=\"U(\"+a.source+\")\",f=b.replace(/[-+]?(\\d*\\.)?\\d+([Ee][-+]?\\d+)?/g,\"N\").replace(new RegExp(\"N\"+e,\"g\"),\"D\").replace(/\\s[+-]\\s/g,\"O\").replace(/\\s/g,\"\"),g=[/N\\*(D)/g,/(N|D)[*\\/]N/g,/(N|D)O\\1/g,/\\((N|D)\\)/g],h=0;h1?\"calc(\"+c+\")\":c}]}var g=\"px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc\",h=d.bind(null,new RegExp(g,\"g\")),i=d.bind(null,new RegExp(g+\"|%\",\"g\")),j=d.bind(null,/deg|rad|grad|turn/g);a.parseLength=h,a.parseLengthOrPercent=i,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,i),a.parseAngle=j,a.mergeDimensions=f;var k=a.consumeParenthesised.bind(null,h),l=a.consumeRepeated.bind(void 0,k,/^/),m=a.consumeRepeated.bind(void 0,l,/^,/);a.consumeSizePairList=m;var n=function(a){var b=m(a);if(b&&\"\"==b[1])return b[0]},o=a.mergeNestedRepeated.bind(void 0,e,\" \"),p=a.mergeNestedRepeated.bind(void 0,o,\",\");a.mergeNonNegativeSizePair=o,a.addPropertiesHandler(n,p,[\"background-size\"]),a.addPropertiesHandler(i,e,[\"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\"]),a.addPropertiesHandler(i,f,[\"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\"])}(d),function(a,b){function c(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function d(b){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\\(/)),a.consumeRepeated.bind(null,c,/^,/),a.ignore(a.consumeToken.bind(null,/^\\)/))],b);if(d&&4==d[0].length)return d[0]}function e(b,c){return\"auto\"==b||\"auto\"==c?[!0,!1,function(d){var e=d?b:c;if(\"auto\"==e)return\"auto\";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function f(a){return\"rect(\"+a+\")\"}var g=a.mergeWrappedNestedRepeated.bind(null,f,e,\", \");a.parseBox=d,a.mergeBoxes=g,a.addPropertiesHandler(d,g,[\"clip\"])}(d),function(a,b){function c(a){return function(b){var c=0;return a.map(function(a){return a===k?b[c++]:a})}}function d(a){return a}function e(b){if(\"none\"==(b=b.toLowerCase().trim()))return[];for(var c,d=/\\s*(\\w+)\\(([^)]*)\\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=n[g];if(!h)return;var i=c[2].split(\",\"),j=h[0];if(j.length=0&&this._cancelHandlers.splice(c,1)}else i.call(this,a,b)},f}}}(),function(a){var b=document.documentElement,c=null,d=!1;try{var e=getComputedStyle(b).getPropertyValue(\"opacity\"),f=\"0\"==e?\"1\":\"0\";c=b.animate({opacity:[f,f]},{duration:1}),c.currentTime=0,d=getComputedStyle(b).getPropertyValue(\"opacity\")==f}catch(a){}finally{c&&c.cancel()}if(!d){var g=window.Element.prototype.animate;window.Element.prototype.animate=function(b,c){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&b[Symbol.iterator]&&(b=Array.from(b)),Array.isArray(b)||null===b||(b=a.convertToArrayForm(b)),g.call(this,b,c)}}}(c),function(a,b,c){function d(a){var c=b.timeline;c.currentTime=a,c._discardAnimations(),0==c._animations.length?f=!1:requestAnimationFrame(d)}var e=window.requestAnimationFrame;window.requestAnimationFrame=function(a){return e(function(c){b.timeline._updateAnimationsPromises(),a(c),b.timeline._updateAnimationsPromises()})},b.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},b.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){b.animationsWithPromises=b.animationsWithPromises.filter(function(a){return a._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(a){return\"finished\"!=a.playState&&\"idle\"!=a.playState})},_play:function(a){var c=new b.Animation(a,this);return this._animations.push(c),b.restartWebAnimationsNextTick(),c._updatePromises(),c._animation.play(),c._updatePromises(),c},play:function(a){return a&&a.remove(),this._play(a)}};var f=!1;b.restartWebAnimationsNextTick=function(){f||(f=!0,requestAnimationFrame(d))};var g=new b.AnimationTimeline;b.timeline=g;try{Object.defineProperty(window.document,\"timeline\",{configurable:!0,get:function(){return g}})}catch(a){}try{window.document.timeline=g}catch(a){}}(0,e),function(a,b,c){b.animationsWithPromises=[],b.Animation=function(b,c){if(this.id=\"\",b&&b._id&&(this.id=b._id),this.effect=b,b&&(b._animation=this),!c)throw new Error(\"Animation with null timeline is not supported\");this._timeline=c,this._sequenceNumber=a.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()},b.Animation.prototype={_updatePromises:function(){var a=this._oldPlayState,b=this.playState;return this._readyPromise&&b!==a&&(\"idle\"==b?(this._rejectReadyPromise(),this._readyPromise=void 0):\"pending\"==a?this._resolveReadyPromise():\"pending\"==b&&(this._readyPromise=void 0)),this._finishedPromise&&b!==a&&(\"idle\"==b?(this._rejectFinishedPromise(),this._finishedPromise=void 0):\"finished\"==b?this._resolveFinishedPromise():\"finished\"==a&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var a,c,d,e,f=!!this._animation;f&&(a=this.playbackRate,c=this._paused,d=this.startTime,e=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=b.newUnderlyingAnimationForKeyframeEffect(this.effect),b.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=b.newUnderlyingAnimationForGroup(this.effect),b.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&b.bindAnimationForCustomEffect(this),f&&(1!=a&&(this.playbackRate=a),null!==d?this.startTime=d:null!==e?this.currentTime=e:null!==this._holdTime&&(this.currentTime=this._holdTime),c&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&\"idle\"!=this.playState){var a=this.effect._timing.delay;this._childAnimations.forEach(function(c){this._arrangeChildren(c,a),this.effect instanceof window.SequenceEffect&&(a+=b.groupChildDuration(c.effect))}.bind(this))}},_setExternalAnimation:function(a){if(this.effect&&this._isGroup)for(var b=0;b` implements an accessible listbox control with Material Design\nstyling. The focused item is highlighted, and the selected item has bolded text.\n\n \n Item 1\n Item 2\n \n\nAn initial selection can be specified with the `selected` attribute.\n\n \n Item 1\n Item 2\n \n\nMake a multi-select listbox with the `multi` attribute. Items in a multi-select\nlistbox can be deselected, and multiple item can be selected.\n\n \n Item 1\n Item 2\n \n\n### Styling\n\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-listbox-background-color` | Menu background color |\n`--primary-background-color`\n`--paper-listbox-color` | Menu foreground color |\n`--primary-text-color`\n`--paper-listbox` | Mixin applied to the listbox | `{}`\n\n### Accessibility\n\n`` has `role=\"listbox\"` by default. A multi-select listbox will\nalso have `aria-multiselectable` set. It implements key bindings to navigate\nthrough the listbox with the up and down arrow keys, esc to exit the listbox,\nand enter to activate a listbox item. Typing the first letter of a listbox item\nwill also focus it.\n\n@group Paper Elements\n@element paper-listbox\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n \n`,\n\n is: 'paper-listbox',\n behaviors: [IronMenuBehavior],\n\n /** @private */\n hostAttributes: {role: 'listbox'}\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\n\nimport {IronControlState} from '@polymer/iron-behaviors/iron-control-state.js';\nimport {IronValidatableBehavior} from '@polymer/iron-validatable-behavior/iron-validatable-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\n`iron-autogrow-textarea` is an element containing a textarea that grows in\nheight as more lines of input are entered. Unless an explicit height or the\n`maxRows` property is set, it will never scroll.\n\nExample:\n\n \n\n### Styling\n\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--iron-autogrow-textarea` | Mixin applied to the textarea | `{}`\n`--iron-autogrow-textarea-placeholder` | Mixin applied to the textarea placeholder | `{}`\n\n@group Iron Elements\n@hero hero.svg\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n \n \n
     
    \n\n \n
    \n \n
    \n`,\n\n is: 'iron-autogrow-textarea',\n behaviors: [IronValidatableBehavior, IronControlState],\n\n properties: {\n /**\n * Use this property instead of `bind-value` for two-way data binding.\n * @type {string|number}\n */\n value: {observer: '_valueChanged', type: String, notify: true},\n\n /**\n * This property is deprecated, and just mirrors `value`. Use `value`\n * instead.\n * @type {string|number}\n */\n bindValue: {observer: '_bindValueChanged', type: String, notify: true},\n\n /**\n * The initial number of rows.\n *\n * @attribute rows\n * @type number\n * @default 1\n */\n rows: {type: Number, value: 1, observer: '_updateCached'},\n\n /**\n * The maximum number of rows this element can grow to until it\n * scrolls. 0 means no maximum.\n *\n * @attribute maxRows\n * @type number\n * @default 0\n */\n maxRows: {type: Number, value: 0, observer: '_updateCached'},\n\n /**\n * Bound to the textarea's `autocomplete` attribute.\n */\n autocomplete: {type: String, value: 'off'},\n\n /**\n * Bound to the textarea's `autofocus` attribute.\n */\n autofocus: {type: Boolean, value: false},\n\n /**\n * Bound to the textarea's `inputmode` attribute.\n */\n inputmode: {type: String},\n\n /**\n * Bound to the textarea's `placeholder` attribute.\n */\n placeholder: {type: String},\n\n /**\n * Bound to the textarea's `readonly` attribute.\n */\n readonly: {type: String},\n\n /**\n * Set to true to mark the textarea as required.\n */\n required: {type: Boolean},\n\n /**\n * The minimum length of the input value.\n */\n minlength: {type: Number},\n\n /**\n * The maximum length of the input value.\n */\n maxlength: {type: Number},\n\n /**\n * Bound to the textarea's `aria-label` attribute.\n */\n label: {type: String}\n\n },\n\n listeners: {'input': '_onInput'},\n\n /**\n * Returns the underlying textarea.\n * @return {!HTMLTextAreaElement}\n */\n get textarea() {\n return this.$.textarea;\n },\n\n /**\n * Returns textarea's selection start.\n * @return {number}\n */\n get selectionStart() {\n return this.$.textarea.selectionStart;\n },\n\n /**\n * Returns textarea's selection end.\n * @return {number}\n */\n get selectionEnd() {\n return this.$.textarea.selectionEnd;\n },\n\n /**\n * Sets the textarea's selection start.\n */\n set selectionStart(value) {\n this.$.textarea.selectionStart = value;\n },\n\n /**\n * Sets the textarea's selection end.\n */\n set selectionEnd(value) {\n this.$.textarea.selectionEnd = value;\n },\n\n attached: function() {\n /* iOS has an arbitrary left margin of 3px that isn't present\n * in any other browser, and means that the paper-textarea's cursor\n * overlaps the label.\n * See https://github.com/PolymerElements/paper-input/issues/468.\n */\n var IS_IOS = navigator.userAgent.match(/iP(?:[oa]d|hone)/);\n if (IS_IOS) {\n this.$.textarea.style.marginLeft = '-3px';\n }\n },\n\n /**\n * Returns true if `value` is valid. The validator provided in `validator`\n * will be used first, if it exists; otherwise, the `textarea`'s validity\n * is used.\n * @return {boolean} True if the value is valid.\n */\n validate: function() {\n // Use the nested input's native validity.\n var valid = this.$.textarea.validity.valid;\n\n // Only do extra checking if the browser thought this was valid.\n if (valid) {\n // Empty, required input is invalid\n if (this.required && this.value === '') {\n valid = false;\n } else if (this.hasValidator()) {\n valid = IronValidatableBehavior.validate.call(this, this.value);\n }\n }\n\n this.invalid = !valid;\n this.fire('iron-input-validate');\n return valid;\n },\n\n _bindValueChanged: function(bindValue) {\n this.value = bindValue;\n },\n\n _valueChanged: function(value) {\n var textarea = this.textarea;\n if (!textarea) {\n return;\n }\n\n // If the bindValue changed manually, then we need to also update\n // the underlying textarea's value. Otherwise this change was probably\n // generated from the _onInput handler, and the two values are already\n // the same.\n if (textarea.value !== value) {\n textarea.value = !(value || value === 0) ? '' : value;\n }\n\n this.bindValue = value;\n this.$.mirror.innerHTML = this._valueForMirror();\n\n // Manually notify because we don't want to notify until after setting\n // value.\n this.fire('bind-value-changed', {value: this.bindValue});\n },\n\n _onInput: function(event) {\n var eventPath = dom(event).path;\n this.value = eventPath ? eventPath[0].value : event.target.value;\n },\n\n _constrain: function(tokens) {\n var _tokens;\n tokens = tokens || [''];\n // Enforce the min and max heights for a multiline input to avoid\n // measurement\n if (this.maxRows > 0 && tokens.length > this.maxRows) {\n _tokens = tokens.slice(0, this.maxRows);\n } else {\n _tokens = tokens.slice(0);\n }\n while (this.rows > 0 && _tokens.length < this.rows) {\n _tokens.push('');\n }\n // Use   instead   of to allow this element to be used in XHTML.\n return _tokens.join('
    ') + ' ';\n },\n\n _valueForMirror: function() {\n var input = this.textarea;\n if (!input) {\n return;\n }\n this.tokens = (input && input.value) ? input.value.replace(/&/gm, '&')\n .replace(/\"/gm, '"')\n .replace(/'/gm, ''')\n .replace(//gm, '>')\n .split('\\n') :\n [''];\n return this._constrain(this.tokens);\n },\n\n _updateCached: function() {\n this.$.mirror.innerHTML = this._constrain(this.tokens);\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Tooltips](https://www.google.com/design/spec/components/tooltips.html)\n`` is a label that appears on hover and focus when the user\nhovers over an element with the cursor or with the keyboard. It will be centered\nto an anchor element specified in the `for` attribute, or, if that doesn't\nexist, centered to the parent node containing it.\nExample:\n
    \n \n Tooltip text\n
    \n
    \n \n Tooltip text\n
    \nThe tooltip can be positioned on the top|bottom|left|right of the anchor using\nthe `position` attribute. The default position is bottom.\n Tooltip text\n Tooltip text\n\n### Styling\nThe following custom properties and mixins are available for styling:\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-tooltip-background` | The background color of the tooltip | `#616161`\n`--paper-tooltip-opacity` | The opacity of the tooltip | `0.9`\n`--paper-tooltip-text-color` | The text color of the tooltip | `white`\n`--paper-tooltip` | Mixin applied to the tooltip | `{}`\n`--paper-tooltip-delay-in` | Delay before tooltip starts to fade in | `500`\n`--paper-tooltip-delay-out` | Delay before tooltip starts to fade out | `0`\n`--paper-tooltip-duration-in` | Timing for animation when showing tooltip | `500`\n`--paper-tooltip-duration-out` | Timing for animation when hiding tooltip | `0`\n`--paper-tooltip-animation` | Mixin applied to the tooltip animation | `{}`\n@group Paper Elements\n@element paper-tooltip\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n
    \n \n
    \n`,\n\n is: 'paper-tooltip',\n hostAttributes: {role: 'tooltip', tabindex: -1},\n\n properties: {\n /**\n * The id of the element that the tooltip is anchored to. This element\n * must be a sibling of the tooltip. If this property is not set,\n * then the tooltip will be centered to the parent node containing it.\n */\n for: {type: String, observer: '_findTarget'},\n /**\n * Set this to true if you want to manually control when the tooltip\n * is shown or hidden.\n */\n manualMode: {type: Boolean, value: false, observer: '_manualModeChanged'},\n /**\n * Positions the tooltip to the top, right, bottom, left of its content.\n */\n position: {type: String, value: 'bottom'},\n /**\n * If true, no parts of the tooltip will ever be shown offscreen.\n */\n fitToVisibleBounds: {type: Boolean, value: false},\n /**\n * The spacing between the top of the tooltip and the element it is\n * anchored to.\n */\n offset: {type: Number, value: 14},\n /**\n * This property is deprecated, but left over so that it doesn't\n * break exiting code. Please use `offset` instead. If both `offset` and\n * `marginTop` are provided, `marginTop` will be ignored.\n * @deprecated since version 1.0.3\n */\n marginTop: {type: Number, value: 14},\n /**\n * The delay that will be applied before the `entry` animation is\n * played when showing the tooltip.\n */\n animationDelay: {type: Number, value: 500, observer: '_delayChange'},\n /**\n * The animation that will be played on entry. This replaces the\n * deprecated animationConfig. Entries here will override the\n * animationConfig settings. You can enter your own animation\n * by setting it to the css class name.\n */\n animationEntry: {type: String, value: ''},\n /**\n * The animation that will be played on exit. This replaces the\n * deprecated animationConfig. Entries here will override the\n * animationConfig settings. You can enter your own animation\n * by setting it to the css class name.\n */\n animationExit: {type: String, value: ''},\n /**\n * This property is deprecated. Use --paper-tooltip-animation to change the\n * animation. The entry and exit animations that will be played when showing\n * and hiding the tooltip. If you want to override this, you must ensure\n * that your animationConfig has the exact format below.\n * @deprecated since version\n *\n * The entry and exit animations that will be played when showing and\n * hiding the tooltip. If you want to override this, you must ensure\n * that your animationConfig has the exact format below.\n */\n animationConfig: {\n type: Object,\n value: function() {\n return {\n 'entry':\n [{name: 'fade-in-animation', node: this, timing: {delay: 0}}],\n 'exit': [{name: 'fade-out-animation', node: this}]\n }\n }\n },\n _showing: {type: Boolean, value: false}\n },\n\n listeners: {\n 'webkitAnimationEnd': '_onAnimationEnd',\n },\n\n /**\n * Returns the target element that this tooltip is anchored to. It is\n * either the element given by the `for` attribute, or the immediate parent\n * of the tooltip.\n *\n * @type {Node}\n */\n get target() {\n var parentNode = dom(this).parentNode;\n // If the parentNode is a document fragment, then we need to use the host.\n var ownerRoot = dom(this).getOwnerRoot();\n var target;\n if (this.for) {\n target = dom(ownerRoot).querySelector('#' + this.for);\n } else {\n target = parentNode.nodeType == Node.DOCUMENT_FRAGMENT_NODE ?\n ownerRoot.host :\n parentNode;\n }\n return target;\n },\n\n /**\n * @return {void}\n */\n attached: function() {\n this._findTarget();\n },\n\n /**\n * @return {void}\n */\n detached: function() {\n if (!this.manualMode)\n this._removeListeners();\n },\n\n /**\n * Replaces Neon-Animation playAnimation - just calls show and hide.\n * @deprecated Use show and hide instead.\n * @param {string} type Either `entry` or `exit`\n */\n playAnimation: function(type) {\n if (type === 'entry') {\n this.show();\n } else if (type === 'exit') {\n this.hide();\n }\n },\n\n /**\n * Cancels the animation and either fully shows or fully hides tooltip\n */\n cancelAnimation: function() {\n // Short-cut and cancel all animations and hide\n this.$.tooltip.classList.add('cancel-animation');\n },\n\n /**\n * Shows the tooltip programatically\n * @return {void}\n */\n show: function() {\n // If the tooltip is already showing, there's nothing to do.\n if (this._showing)\n return;\n\n if (dom(this).textContent.trim() === '') {\n // Check if effective children are also empty\n var allChildrenEmpty = true;\n var effectiveChildren = dom(this).getEffectiveChildNodes();\n for (var i = 0; i < effectiveChildren.length; i++) {\n if (effectiveChildren[i].textContent.trim() !== '') {\n allChildrenEmpty = false;\n break;\n }\n }\n if (allChildrenEmpty) {\n return;\n }\n }\n\n this._showing = true;\n this.$.tooltip.classList.remove('hidden');\n this.$.tooltip.classList.remove('cancel-animation');\n this.$.tooltip.classList.remove(this._getAnimationType('exit'));\n this.updatePosition();\n this._animationPlaying = true;\n this.$.tooltip.classList.add(this._getAnimationType('entry'));\n },\n\n /**\n * Hides the tooltip programatically\n * @return {void}\n */\n hide: function() {\n // If the tooltip is already hidden, there's nothing to do.\n if (!this._showing) {\n return;\n }\n\n // If the entry animation is still playing, don't try to play the exit\n // animation since this will reset the opacity to 1. Just end the animation.\n if (this._animationPlaying) {\n this._showing = false;\n this._cancelAnimation();\n return;\n } else {\n // Play Exit Animation\n this._onAnimationFinish();\n }\n\n this._showing = false;\n this._animationPlaying = true;\n },\n\n /**\n * @return {void}\n */\n updatePosition: function() {\n if (!this._target || !this.offsetParent)\n return;\n var offset = this.offset;\n // If a marginTop has been provided by the user (pre 1.0.3), use it.\n if (this.marginTop != 14 && this.offset == 14)\n offset = this.marginTop;\n var parentRect = this.offsetParent.getBoundingClientRect();\n var targetRect = this._target.getBoundingClientRect();\n var thisRect = this.getBoundingClientRect();\n var horizontalCenterOffset = (targetRect.width - thisRect.width) / 2;\n var verticalCenterOffset = (targetRect.height - thisRect.height) / 2;\n var targetLeft = targetRect.left - parentRect.left;\n var targetTop = targetRect.top - parentRect.top;\n var tooltipLeft, tooltipTop;\n switch (this.position) {\n case 'top':\n tooltipLeft = targetLeft + horizontalCenterOffset;\n tooltipTop = targetTop - thisRect.height - offset;\n break;\n case 'bottom':\n tooltipLeft = targetLeft + horizontalCenterOffset;\n tooltipTop = targetTop + targetRect.height + offset;\n break;\n case 'left':\n tooltipLeft = targetLeft - thisRect.width - offset;\n tooltipTop = targetTop + verticalCenterOffset;\n break;\n case 'right':\n tooltipLeft = targetLeft + targetRect.width + offset;\n tooltipTop = targetTop + verticalCenterOffset;\n break;\n }\n // TODO(noms): This should use IronFitBehavior if possible.\n if (this.fitToVisibleBounds) {\n // Clip the left/right side\n if (parentRect.left + tooltipLeft + thisRect.width > window.innerWidth) {\n this.style.right = '0px';\n this.style.left = 'auto';\n } else {\n this.style.left = Math.max(0, tooltipLeft) + 'px';\n this.style.right = 'auto';\n }\n // Clip the top/bottom side.\n if (parentRect.top + tooltipTop + thisRect.height > window.innerHeight) {\n this.style.bottom = (parentRect.height - targetTop + offset) + 'px';\n this.style.top = 'auto';\n } else {\n this.style.top = Math.max(-parentRect.top, tooltipTop) + 'px';\n this.style.bottom = 'auto';\n }\n } else {\n this.style.left = tooltipLeft + 'px';\n this.style.top = tooltipTop + 'px';\n }\n },\n\n _addListeners: function() {\n if (this._target) {\n this.listen(this._target, 'mouseenter', 'show');\n this.listen(this._target, 'focus', 'show');\n this.listen(this._target, 'mouseleave', 'hide');\n this.listen(this._target, 'blur', 'hide');\n this.listen(this._target, 'tap', 'hide');\n }\n this.listen(this.$.tooltip, 'animationend', '_onAnimationEnd');\n this.listen(this, 'mouseenter', 'hide');\n },\n\n _findTarget: function() {\n if (!this.manualMode)\n this._removeListeners();\n this._target = this.target;\n if (!this.manualMode)\n this._addListeners();\n },\n\n _delayChange: function(newValue) {\n // Only Update delay if different value set\n if (newValue !== 500) {\n this.updateStyles({'--paper-tooltip-delay-in': newValue + 'ms'});\n }\n },\n\n _manualModeChanged: function() {\n if (this.manualMode)\n this._removeListeners();\n else\n this._addListeners();\n },\n\n _cancelAnimation: function() {\n // Short-cut and cancel all animations and hide\n this.$.tooltip.classList.remove(this._getAnimationType('entry'));\n this.$.tooltip.classList.remove(this._getAnimationType('exit'));\n this.$.tooltip.classList.remove('cancel-animation');\n this.$.tooltip.classList.add('hidden');\n },\n\n _onAnimationFinish: function() {\n if (this._showing) {\n this.$.tooltip.classList.remove(this._getAnimationType('entry'));\n this.$.tooltip.classList.remove('cancel-animation');\n this.$.tooltip.classList.add(this._getAnimationType('exit'));\n }\n },\n\n _onAnimationEnd: function() {\n // If no longer showing add class hidden to completely hide tooltip\n this._animationPlaying = false;\n if (!this._showing) {\n this.$.tooltip.classList.remove(this._getAnimationType('exit'));\n this.$.tooltip.classList.add('hidden');\n }\n },\n\n _getAnimationType: function(type) {\n // These properties have priority over animationConfig values\n if ((type === 'entry') && (this.animationEntry !== '')) {\n return this.animationEntry;\n }\n if ((type === 'exit') && (this.animationExit !== '')) {\n return this.animationExit;\n }\n // If no results then return the legacy value from animationConfig\n if (this.animationConfig[type] &&\n typeof this.animationConfig[type][0].name === 'string') {\n // Checking Timing and Update if necessary - Legacy for animationConfig\n if (this.animationConfig[type][0].timing &&\n this.animationConfig[type][0].timing.delay &&\n this.animationConfig[type][0].timing.delay !== 0) {\n var timingDelay = this.animationConfig[type][0].timing.delay;\n // Has Timing Change - Update CSS\n if (type === 'entry') {\n this.updateStyles({'--paper-tooltip-delay-in': timingDelay + 'ms'});\n } else if (type === 'exit') {\n this.updateStyles({'--paper-tooltip-delay-out': timingDelay + 'ms'});\n }\n }\n return this.animationConfig[type][0].name;\n }\n },\n\n _removeListeners: function() {\n if (this._target) {\n this.unlisten(this._target, 'mouseenter', 'show');\n this.unlisten(this._target, 'focus', 'show');\n this.unlisten(this._target, 'mouseleave', 'hide');\n this.unlisten(this._target, 'blur', 'hide');\n this.unlisten(this._target, 'tap', 'hide');\n }\n this.unlisten(this.$.tooltip, 'animationend', '_onAnimationEnd');\n this.unlisten(this, 'mouseenter', 'hide');\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/color.js';\nimport '@polymer/paper-styles/default-theme.js';\n\nimport {PaperCheckedElementBehavior} from '@polymer/paper-behaviors/paper-checked-element-behavior.js';\nimport {PaperRippleBehavior} from '@polymer/paper-behaviors/paper-ripple-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {setTouchAction} from '@polymer/polymer/lib/utils/gestures.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\nimport {afterNextRender} from '@polymer/polymer/lib/utils/render-status.js';\n\nconst template = html`\n\n \n\n
    \n
    \n
    \n
    \n\n
    \n\n `;\ntemplate.setAttribute('strip-whitespace', '');\n\n/**\nMaterial design: [Switch](https://www.google.com/design/spec/components/selection-controls.html#selection-controls-switch)\n\n`paper-toggle-button` provides a ON/OFF switch that user can toggle the state\nby tapping or by dragging the switch.\n\nExample:\n\n \n\n### Styling\n\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-toggle-button-unchecked-bar-color` | Slider color when the input is not checked | `#000000`\n`--paper-toggle-button-unchecked-button-color` | Button color when the input is not checked | `--paper-grey-50`\n`--paper-toggle-button-unchecked-ink-color` | Selected/focus ripple color when the input is not checked | `--dark-primary-color`\n`--paper-toggle-button-checked-bar-color` | Slider button color when the input is checked | `--primary-color`\n`--paper-toggle-button-checked-button-color` | Button color when the input is checked | `--primary-color`\n`--paper-toggle-button-checked-ink-color` | Selected/focus ripple color when the input is checked | `--primary-color`\n`--paper-toggle-button-invalid-bar-color` | Slider button color when the input is invalid | `--error-color`\n`--paper-toggle-button-invalid-button-color` | Button color when the input is invalid | `--error-color`\n`--paper-toggle-button-invalid-ink-color` | Selected/focus ripple color when the input is invalid | `--error-color`\n`--paper-toggle-button-unchecked-bar` | Mixin applied to the slider when the input is not checked | `{}`\n`--paper-toggle-button-unchecked-button` | Mixin applied to the slider button when the input is not checked | `{}`\n`--paper-toggle-button-unchecked-ink` | Mixin applied to the ripple when the input is not checked | `{}`\n`--paper-toggle-button-checked-bar` | Mixin applied to the slider when the input is checked | `{}`\n`--paper-toggle-button-checked-button` | Mixin applied to the slider button when the input is checked | `{}`\n`--paper-toggle-button-checked-ink` | Mixin applied to the ripple when the input is checked | `{}`\n`--paper-toggle-button-label-color` | Label color | `--primary-text-color`\n`--paper-toggle-button-label-spacing` | Spacing between the label and the button | `8px`\n\nThis element applies the mixin `--paper-font-common-base` but does not import `paper-styles/typography.html`.\nIn order to apply the `Roboto` font to this element, make sure you've imported `paper-styles/typography.html`.\n\n@group Paper Elements\n@element paper-toggle-button\n@demo demo/index.html\n*/\nPolymer({\n _template: template,\n\n is: 'paper-toggle-button',\n\n behaviors: [PaperCheckedElementBehavior],\n\n /** @private */\n hostAttributes: {role: 'button', 'aria-pressed': 'false', tabindex: 0},\n\n properties: {\n /**\n * Fired when the checked state changes due to user interaction.\n *\n * @event change\n */\n /**\n * Fired when the checked state changes.\n *\n * @event iron-change\n */\n },\n\n listeners: {track: '_ontrack'},\n\n attached: function() {\n afterNextRender(this, function() {\n setTouchAction(this, 'pan-y');\n });\n },\n\n _ontrack: function(event) {\n var track = event.detail;\n if (track.state === 'start') {\n this._trackStart(track);\n } else if (track.state === 'track') {\n this._trackMove(track);\n } else if (track.state === 'end') {\n this._trackEnd(track);\n }\n },\n\n _trackStart: function(track) {\n this._width = this.$.toggleBar.offsetWidth / 2;\n /*\n * keep an track-only check state to keep the dragging behavior smooth\n * while toggling activations\n */\n this._trackChecked = this.checked;\n this.$.toggleButton.classList.add('dragging');\n },\n\n _trackMove: function(track) {\n var dx = track.dx;\n this._x = Math.min(\n this._width, Math.max(0, this._trackChecked ? this._width + dx : dx));\n this.translate3d(this._x + 'px', 0, 0, this.$.toggleButton);\n this._userActivate(this._x > (this._width / 2));\n },\n\n _trackEnd: function(track) {\n this.$.toggleButton.classList.remove('dragging');\n this.transform('', this.$.toggleButton);\n },\n\n // customize the element's ripple\n _createRipple: function() {\n this._rippleContainer = this.$.toggleButton;\n var ripple = PaperRippleBehavior._createRipple();\n ripple.id = 'ink';\n ripple.setAttribute('recenters', '');\n ripple.classList.add('circle', 'toggle-ink');\n return ripple;\n }\n\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {IronA11yKeysBehavior} from '@polymer/iron-a11y-keys-behavior/iron-a11y-keys-behavior.js';\nimport {IronControlState} from '@polymer/iron-behaviors/iron-control-state.js';\nimport {IronOverlayBehavior, IronOverlayBehaviorImpl} from '@polymer/iron-overlay-behavior/iron-overlay-behavior.js';\nimport {NeonAnimationRunnerBehavior} from '@polymer/neon-animation/neon-animation-runner-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\n`` is a generalized element that is useful when you have\nhidden content (`dropdown-content`) that is revealed due to some change in\nstate that should cause it to do so.\n\nNote that this is a low-level element intended to be used as part of other\ncomposite elements that cause dropdowns to be revealed.\n\nExamples of elements that might be implemented using an `iron-dropdown`\ninclude comboboxes, menubuttons, selects. The list goes on.\n\nThe `` element exposes attributes that allow the position\nof the `dropdown-content` relative to the `dropdown-trigger` to be\nconfigured.\n\n \n
    Hello!
    \n
    \n\nIn the above example, the `
    ` assigned to the `dropdown-content` slot will\nbe hidden until the dropdown element has `opened` set to true, or when the\n`open` method is called on the element.\n\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n
    \n \n
    \n`,\n\n is: 'iron-dropdown',\n\n behaviors: [\n IronControlState,\n IronA11yKeysBehavior,\n IronOverlayBehavior,\n NeonAnimationRunnerBehavior\n ],\n\n properties: {\n /**\n * The orientation against which to align the dropdown content\n * horizontally relative to the dropdown trigger.\n * Overridden from `Polymer.IronFitBehavior`.\n */\n horizontalAlign: {type: String, value: 'left', reflectToAttribute: true},\n\n /**\n * The orientation against which to align the dropdown content\n * vertically relative to the dropdown trigger.\n * Overridden from `Polymer.IronFitBehavior`.\n */\n verticalAlign: {type: String, value: 'top', reflectToAttribute: true},\n\n /**\n * An animation config. If provided, this will be used to animate the\n * opening of the dropdown. Pass an Array for multiple animations.\n * See `neon-animation` documentation for more animation configuration\n * details.\n */\n openAnimationConfig: {type: Object},\n\n /**\n * An animation config. If provided, this will be used to animate the\n * closing of the dropdown. Pass an Array for multiple animations.\n * See `neon-animation` documentation for more animation configuration\n * details.\n */\n closeAnimationConfig: {type: Object},\n\n /**\n * If provided, this will be the element that will be focused when\n * the dropdown opens.\n */\n focusTarget: {type: Object},\n\n /**\n * Set to true to disable animations when opening and closing the\n * dropdown.\n */\n noAnimations: {type: Boolean, value: false},\n\n /**\n * By default, the dropdown will constrain scrolling on the page\n * to itself when opened.\n * Set to true in order to prevent scroll from being constrained\n * to the dropdown when it opens.\n * This property is a shortcut to set `scrollAction` to lock or refit.\n * Prefer directly setting the `scrollAction` property.\n */\n allowOutsideScroll:\n {type: Boolean, value: false, observer: '_allowOutsideScrollChanged'}\n },\n\n listeners: {'neon-animation-finish': '_onNeonAnimationFinish'},\n\n observers: [\n '_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)'\n ],\n\n /**\n * The element that is contained by the dropdown, if any.\n */\n get containedElement() {\n // Polymer 2.x returns slot.assignedNodes which can contain text nodes.\n var nodes = dom(this.$.content).getDistributedNodes();\n for (var i = 0, l = nodes.length; i < l; i++) {\n if (nodes[i].nodeType === Node.ELEMENT_NODE) {\n return nodes[i];\n }\n }\n },\n\n ready: function() {\n // Ensure scrollAction is set.\n if (!this.scrollAction) {\n this.scrollAction = this.allowOutsideScroll ? 'refit' : 'lock';\n }\n this._readied = true;\n },\n\n attached: function() {\n if (!this.sizingTarget || this.sizingTarget === this) {\n this.sizingTarget = this.containedElement || this;\n }\n },\n\n detached: function() {\n this.cancelAnimation();\n },\n\n /**\n * Called when the value of `opened` changes.\n * Overridden from `IronOverlayBehavior`\n */\n _openedChanged: function() {\n if (this.opened && this.disabled) {\n this.cancel();\n } else {\n this.cancelAnimation();\n this._updateAnimationConfig();\n IronOverlayBehaviorImpl._openedChanged.apply(this, arguments);\n }\n },\n\n /**\n * Overridden from `IronOverlayBehavior`.\n */\n _renderOpened: function() {\n if (!this.noAnimations && this.animationConfig.open) {\n this.$.contentWrapper.classList.add('animating');\n this.playAnimation('open');\n } else {\n IronOverlayBehaviorImpl._renderOpened.apply(this, arguments);\n }\n },\n\n /**\n * Overridden from `IronOverlayBehavior`.\n */\n _renderClosed: function() {\n if (!this.noAnimations && this.animationConfig.close) {\n this.$.contentWrapper.classList.add('animating');\n this.playAnimation('close');\n } else {\n IronOverlayBehaviorImpl._renderClosed.apply(this, arguments);\n }\n },\n\n /**\n * Called when animation finishes on the dropdown (when opening or\n * closing). Responsible for \"completing\" the process of opening or\n * closing the dropdown by positioning it or setting its display to\n * none.\n */\n _onNeonAnimationFinish: function() {\n this.$.contentWrapper.classList.remove('animating');\n if (this.opened) {\n this._finishRenderOpened();\n } else {\n this._finishRenderClosed();\n }\n },\n\n /**\n * Constructs the final animation config from different properties used\n * to configure specific parts of the opening and closing animations.\n */\n _updateAnimationConfig: function() {\n // Update the animation node to be the containedElement.\n var animationNode = this.containedElement;\n var animations = [].concat(this.openAnimationConfig || [])\n .concat(this.closeAnimationConfig || []);\n for (var i = 0; i < animations.length; i++) {\n animations[i].node = animationNode;\n }\n this.animationConfig = {\n open: this.openAnimationConfig,\n close: this.closeAnimationConfig\n };\n },\n\n /**\n * Updates the overlay position based on configured horizontal\n * and vertical alignment.\n */\n _updateOverlayPosition: function() {\n if (this.isAttached) {\n // This triggers iron-resize, and iron-overlay-behavior will call refit if\n // needed.\n this.notifyResize();\n }\n },\n\n /**\n * Sets scrollAction according to the value of allowOutsideScroll.\n * Prefer setting directly scrollAction.\n */\n _allowOutsideScrollChanged: function(allowOutsideScroll) {\n // Wait until initial values are all set.\n if (!this._readied) {\n return;\n }\n if (!allowOutsideScroll) {\n this.scrollAction = 'lock';\n } else if (!this.scrollAction || this.scrollAction === 'lock') {\n this.scrollAction = 'refit';\n }\n },\n\n /**\n * Apply focus to focusTarget or containedElement\n */\n _applyFocus: function() {\n var focusTarget = this.focusTarget || this.containedElement;\n if (focusTarget && this.opened && !this.noAutoFocus) {\n focusTarget.focus();\n } else {\n IronOverlayBehaviorImpl._applyFocus.apply(this, arguments);\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\n/**\n * Use `NeonAnimationBehavior` to implement an animation.\n * @polymerBehavior\n */\nexport const NeonAnimationBehavior = {\n\n properties: {\n\n /**\n * Defines the animation timing.\n */\n animationTiming: {\n type: Object,\n value: function() {\n return {\n duration: 500, easing: 'cubic-bezier(0.4, 0, 0.2, 1)', fill: 'both'\n }\n }\n }\n\n },\n\n /**\n * Can be used to determine that elements implement this behavior.\n */\n isNeonAnimation: true,\n\n /**\n * Do any animation configuration here.\n */\n // configure: function(config) {\n // },\n\n created: function() {\n if (!document.body.animate) {\n console.warn(\n 'No web animations detected. This element will not' +\n ' function without a web animations polyfill.');\n }\n },\n\n /**\n * Returns the animation timing by mixing in properties from `config` to the\n * defaults defined by the animation.\n */\n timingFromConfig: function(config) {\n if (config.timing) {\n for (var property in config.timing) {\n this.animationTiming[property] = config.timing[property];\n }\n }\n return this.animationTiming;\n },\n\n /**\n * Sets `transform` and `transformOrigin` properties along with the prefixed\n * versions.\n */\n setPrefixedProperty: function(node, property, value) {\n var map = {\n 'transform': ['webkitTransform'],\n 'transformOrigin': ['mozTransformOrigin', 'webkitTransformOrigin']\n };\n var prefixes = map[property];\n for (var prefix, index = 0; prefix = prefixes[index]; index++) {\n node.style[prefix] = value;\n }\n node.style[property] = value;\n },\n\n /**\n * Called when the animation finishes.\n */\n complete: function(config) {}\n\n};\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {NeonAnimationBehavior} from '../neon-animation-behavior.js';\n/*\n`` animates the opacity of an element from 0 to 1.\n\nConfiguration:\n```\n{\n name: 'fade-in-animation',\n node: \n timing: \n}\n```\n*/\nPolymer({\n\n is: 'fade-in-animation',\n\n behaviors: [NeonAnimationBehavior],\n\n configure: function(config) {\n var node = config.node;\n this._effect = new KeyframeEffect(\n node,\n [{'opacity': '0'}, {'opacity': '1'}],\n this.timingFromConfig(config));\n return this._effect;\n }\n\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {NeonAnimationBehavior} from '../neon-animation-behavior.js';\n/*\n`` animates the opacity of an element from 1 to 0.\n\nConfiguration:\n```\n{\n name: 'fade-out-animation',\n node: \n timing: \n}\n```\n*/\nPolymer({\n\n is: 'fade-out-animation',\n\n behaviors: [NeonAnimationBehavior],\n\n configure: function(config) {\n var node = config.node;\n this._effect = new KeyframeEffect(\n node,\n [\n {'opacity': '1'},\n {'opacity': '0'},\n ],\n this.timingFromConfig(config));\n return this._effect;\n }\n\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {NeonAnimationBehavior} from '@polymer/neon-animation/neon-animation-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nPolymer({\n is: 'paper-menu-grow-height-animation',\n\n behaviors: [NeonAnimationBehavior],\n\n configure: function(config) {\n var node = config.node;\n var rect = node.getBoundingClientRect();\n var height = rect.height;\n\n this._effect = new KeyframeEffect(\n node,\n [{height: (height / 2) + 'px'}, {height: height + 'px'}],\n this.timingFromConfig(config));\n\n return this._effect;\n }\n});\n\nPolymer({\n is: 'paper-menu-grow-width-animation',\n\n behaviors: [NeonAnimationBehavior],\n\n configure: function(config) {\n var node = config.node;\n var rect = node.getBoundingClientRect();\n var width = rect.width;\n\n this._effect = new KeyframeEffect(\n node,\n [{width: (width / 2) + 'px'}, {width: width + 'px'}],\n this.timingFromConfig(config));\n\n return this._effect;\n }\n});\n\nPolymer({\n is: 'paper-menu-shrink-width-animation',\n\n behaviors: [NeonAnimationBehavior],\n\n configure: function(config) {\n var node = config.node;\n var rect = node.getBoundingClientRect();\n var width = rect.width;\n\n this._effect = new KeyframeEffect(\n node,\n [{width: width + 'px'}, {width: width - (width / 20) + 'px'}],\n this.timingFromConfig(config));\n\n return this._effect;\n }\n});\n\nPolymer({\n is: 'paper-menu-shrink-height-animation',\n\n behaviors: [NeonAnimationBehavior],\n\n configure: function(config) {\n var node = config.node;\n var rect = node.getBoundingClientRect();\n var height = rect.height;\n\n this.setPrefixedProperty(node, 'transformOrigin', '0 0');\n\n this._effect = new KeyframeEffect(\n node,\n [\n {height: height + 'px', transform: 'translateY(0)'},\n {height: height / 2 + 'px', transform: 'translateY(-20px)'}\n ],\n this.timingFromConfig(config));\n\n return this._effect;\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-dropdown/iron-dropdown.js';\nimport '@polymer/neon-animation/animations/fade-in-animation.js';\nimport '@polymer/neon-animation/animations/fade-out-animation.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport '@polymer/paper-styles/shadow.js';\nimport './paper-menu-button-animations.js';\n\nimport {IronA11yKeysBehavior} from '@polymer/iron-a11y-keys-behavior/iron-a11y-keys-behavior.js';\nimport {IronControlState} from '@polymer/iron-behaviors/iron-control-state.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\nvar config = {\n ANIMATION_CUBIC_BEZIER: 'cubic-bezier(.3,.95,.5,1)',\n MAX_ANIMATION_TIME_MS: 400\n};\n\n/**\nMaterial design: [Dropdown\nbuttons](https://www.google.com/design/spec/components/buttons.html#buttons-dropdown-buttons)\n\n`paper-menu-button` allows one to compose a designated \"trigger\" element with\nanother element that represents \"content\", to create a dropdown menu that\ndisplays the \"content\" when the \"trigger\" is clicked.\n\nThe child element assigned to the `dropdown-trigger` slot will be used as the\n\"trigger\" element. The child element assigned to the `dropdown-content` slot\nwill be used as the \"content\" element.\n\nThe `paper-menu-button` is sensitive to its content's `iron-select` events. If\nthe \"content\" element triggers an `iron-select` event, the `paper-menu-button`\nwill close automatically.\n\nExample:\n\n \n Share\n Settings\n Help\n \n \n\n### Styling\n\nThe following custom properties and mixins are also available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-menu-button-dropdown-background` | Background color of the paper-menu-button dropdown | `--primary-background-color`\n`--paper-menu-button` | Mixin applied to the paper-menu-button | `{}`\n`--paper-menu-button-disabled` | Mixin applied to the paper-menu-button when disabled | `{}`\n`--paper-menu-button-dropdown` | Mixin applied to the paper-menu-button dropdown | `{}`\n`--paper-menu-button-content` | Mixin applied to the paper-menu-button content | `{}`\n\n@hero hero.svg\n@demo demo/index.html\n*/\nexport const PaperMenuButton = Polymer({\n _template: html`\n \n\n
    \n \n
    \n\n \n
    \n \n
    \n
    \n`,\n\n is: 'paper-menu-button',\n\n /**\n * Fired when the dropdown opens.\n *\n * @event paper-dropdown-open\n */\n\n /**\n * Fired when the dropdown closes.\n *\n * @event paper-dropdown-close\n */\n\n behaviors: [IronA11yKeysBehavior, IronControlState],\n\n properties: {\n /**\n * True if the content is currently displayed.\n */\n opened:\n {type: Boolean, value: false, notify: true, observer: '_openedChanged'},\n\n /**\n * The orientation against which to align the menu dropdown\n * horizontally relative to the dropdown trigger.\n */\n horizontalAlign: {type: String, value: 'left', reflectToAttribute: true},\n\n /**\n * The orientation against which to align the menu dropdown\n * vertically relative to the dropdown trigger.\n */\n verticalAlign: {type: String, value: 'top', reflectToAttribute: true},\n\n /**\n * If true, the `horizontalAlign` and `verticalAlign` properties will\n * be considered preferences instead of strict requirements when\n * positioning the dropdown and may be changed if doing so reduces\n * the area of the dropdown falling outside of `fitInto`.\n */\n dynamicAlign: {type: Boolean},\n\n /**\n * A pixel value that will be added to the position calculated for the\n * given `horizontalAlign`. Use a negative value to offset to the\n * left, or a positive value to offset to the right.\n */\n horizontalOffset: {type: Number, value: 0, notify: true},\n\n /**\n * A pixel value that will be added to the position calculated for the\n * given `verticalAlign`. Use a negative value to offset towards the\n * top, or a positive value to offset towards the bottom.\n */\n verticalOffset: {type: Number, value: 0, notify: true},\n\n /**\n * If true, the dropdown will be positioned so that it doesn't overlap\n * the button.\n */\n noOverlap: {type: Boolean},\n\n /**\n * Set to true to disable animations when opening and closing the\n * dropdown.\n */\n noAnimations: {type: Boolean, value: false},\n\n /**\n * Set to true to disable automatically closing the dropdown after\n * a selection has been made.\n */\n ignoreSelect: {type: Boolean, value: false},\n\n /**\n * Set to true to enable automatically closing the dropdown after an\n * item has been activated, even if the selection did not change.\n */\n closeOnActivate: {type: Boolean, value: false},\n\n /**\n * An animation config. If provided, this will be used to animate the\n * opening of the dropdown.\n */\n openAnimationConfig: {\n type: Object,\n value: function() {\n return [\n {name: 'fade-in-animation', timing: {delay: 100, duration: 200}},\n {\n name: 'paper-menu-grow-width-animation',\n timing: {\n delay: 100,\n duration: 150,\n easing: config.ANIMATION_CUBIC_BEZIER\n }\n },\n {\n name: 'paper-menu-grow-height-animation',\n timing: {\n delay: 100,\n duration: 275,\n easing: config.ANIMATION_CUBIC_BEZIER\n }\n }\n ];\n }\n },\n\n /**\n * An animation config. If provided, this will be used to animate the\n * closing of the dropdown.\n */\n closeAnimationConfig: {\n type: Object,\n value: function() {\n return [\n {name: 'fade-out-animation', timing: {duration: 150}},\n {\n name: 'paper-menu-shrink-width-animation',\n timing: {\n delay: 100,\n duration: 50,\n easing: config.ANIMATION_CUBIC_BEZIER\n }\n },\n {\n name: 'paper-menu-shrink-height-animation',\n timing: {duration: 200, easing: 'ease-in'}\n }\n ];\n }\n },\n\n /**\n * By default, the dropdown will constrain scrolling on the page\n * to itself when opened.\n * Set to true in order to prevent scroll from being constrained\n * to the dropdown when it opens.\n */\n allowOutsideScroll: {type: Boolean, value: false},\n\n /**\n * Whether focus should be restored to the button when the menu closes.\n */\n restoreFocusOnClose: {type: Boolean, value: true},\n\n /**\n * This is the element intended to be bound as the focus target\n * for the `iron-dropdown` contained by `paper-menu-button`.\n */\n _dropdownContent: {type: Object}\n },\n\n hostAttributes: {role: 'group', 'aria-haspopup': 'true'},\n\n listeners:\n {'iron-activate': '_onIronActivate', 'iron-select': '_onIronSelect'},\n\n /**\n * The content element that is contained by the menu button, if any.\n */\n get contentElement() {\n // Polymer 2.x returns slot.assignedNodes which can contain text nodes.\n var nodes = dom(this.$.content).getDistributedNodes();\n for (var i = 0, l = nodes.length; i < l; i++) {\n if (nodes[i].nodeType === Node.ELEMENT_NODE) {\n return nodes[i];\n }\n }\n },\n\n /**\n * Toggles the dropdown content between opened and closed.\n */\n toggle: function() {\n if (this.opened) {\n this.close();\n } else {\n this.open();\n }\n },\n\n /**\n * Make the dropdown content appear as an overlay positioned relative\n * to the dropdown trigger.\n */\n open: function() {\n if (this.disabled) {\n return;\n }\n\n this.$.dropdown.open();\n },\n\n /**\n * Hide the dropdown content.\n */\n close: function() {\n this.$.dropdown.close();\n },\n\n /**\n * When an `iron-select` event is received, the dropdown should\n * automatically close on the assumption that a value has been chosen.\n *\n * @param {CustomEvent} event A CustomEvent instance with type\n * set to `\"iron-select\"`.\n */\n _onIronSelect: function(event) {\n if (!this.ignoreSelect) {\n this.close();\n }\n },\n\n /**\n * Closes the dropdown when an `iron-activate` event is received if\n * `closeOnActivate` is true.\n *\n * @param {CustomEvent} event A CustomEvent of type 'iron-activate'.\n */\n _onIronActivate: function(event) {\n if (this.closeOnActivate) {\n this.close();\n }\n },\n\n /**\n * When the dropdown opens, the `paper-menu-button` fires `paper-open`.\n * When the dropdown closes, the `paper-menu-button` fires `paper-close`.\n *\n * @param {boolean} opened True if the dropdown is opened, otherwise false.\n * @param {boolean} oldOpened The previous value of `opened`.\n */\n _openedChanged: function(opened, oldOpened) {\n if (opened) {\n // TODO(cdata): Update this when we can measure changes in distributed\n // children in an idiomatic way.\n // We poke this property in case the element has changed. This will\n // cause the focus target for the `iron-dropdown` to be updated as\n // necessary:\n this._dropdownContent = this.contentElement;\n this.fire('paper-dropdown-open');\n } else if (oldOpened != null) {\n this.fire('paper-dropdown-close');\n }\n },\n\n /**\n * If the dropdown is open when disabled becomes true, close the\n * dropdown.\n *\n * @param {boolean} disabled True if disabled, otherwise false.\n */\n _disabledChanged: function(disabled) {\n IronControlState._disabledChanged.apply(this, arguments);\n if (disabled && this.opened) {\n this.close();\n }\n },\n\n __onIronOverlayCanceled: function(event) {\n var uiEvent = event.detail;\n var trigger = this.$.trigger;\n var path = dom(uiEvent).path;\n\n if (path.indexOf(trigger) > -1) {\n event.preventDefault();\n }\n }\n});\n\nObject.keys(config).forEach(function(key) {\n PaperMenuButton[key] = config[key];\n});\n","/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/iron-iconset-svg/iron-iconset-svg.js';\nconst $_documentContainer = document.createElement('template');\n$_documentContainer.setAttribute('style', 'display: none;');\n\n$_documentContainer.innerHTML =\n `\n\n\n\n`;\n\ndocument.head.appendChild($_documentContainer.content);\n","/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/paper-styles/default-theme.js';\nconst $_documentContainer = document.createElement('template');\n$_documentContainer.setAttribute('style', 'display: none;');\n\n$_documentContainer.innerHTML =\n `\n \n`;\n\ndocument.head.appendChild($_documentContainer.content);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-a11y-keys-behavior/iron-a11y-keys-behavior.js';\nimport '@polymer/iron-icon/iron-icon.js';\nimport '@polymer/paper-input/paper-input.js';\nimport '@polymer/paper-menu-button/paper-menu-button.js';\nimport '@polymer/paper-ripple/paper-ripple.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport './paper-dropdown-menu-icons.js';\nimport './paper-dropdown-menu-shared-styles.js';\n\nimport {IronButtonState} from '@polymer/iron-behaviors/iron-button-state.js';\nimport {IronControlState} from '@polymer/iron-behaviors/iron-control-state.js';\nimport {IronFormElementBehavior} from '@polymer/iron-form-element-behavior/iron-form-element-behavior.js';\nimport {IronValidatableBehavior} from '@polymer/iron-validatable-behavior/iron-validatable-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\nimport * as gestures from '@polymer/polymer/lib/utils/gestures.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design: [Dropdown\nmenus](https://www.google.com/design/spec/components/buttons.html#buttons-dropdown-buttons)\n\n`paper-dropdown-menu` is similar to a native browser select element.\n`paper-dropdown-menu` works with selectable content. The currently selected\nitem is displayed in the control. If no item is selected, the `label` is\ndisplayed instead.\n\nExample:\n\n \n \n Croissant\n Donut\n Financier\n Madeleine\n \n \n\nThis example renders a dropdown menu with 4 options.\n\nThe child element with the slot `dropdown-content` is used as the dropdown\nmenu. This can be a [`paper-listbox`](paper-listbox), or any other or\nelement that acts like an [`iron-selector`](iron-selector).\n\nSpecifically, the menu child must fire an\n[`iron-select`](iron-selector#event-iron-select) event when one of its\nchildren is selected, and an\n[`iron-deselect`](iron-selector#event-iron-deselect) event when a child is\ndeselected. The selected or deselected item must be passed as the event's\n`detail.item` property.\n\nApplications can listen for the `iron-select` and `iron-deselect` events\nto react when options are selected and deselected.\n\n### Styling\n\nThe following custom properties and mixins are also available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dropdown-menu` | A mixin that is applied to the element host | `{}`\n`--paper-dropdown-menu-disabled` | A mixin that is applied to the element host when disabled | `{}`\n`--paper-dropdown-menu-ripple` | A mixin that is applied to the internal ripple | `{}`\n`--paper-dropdown-menu-button` | A mixin that is applied to the internal menu button | `{}`\n`--paper-dropdown-menu-input` | A mixin that is applied to the internal paper input | `{}`\n`--paper-dropdown-menu-icon` | A mixin that is applied to the internal icon | `{}`\n\nYou can also use any of the `paper-input-container` and `paper-menu-button`\nstyle mixins and custom properties to style the internal input and menu button\nrespectively.\n\n@group Paper Elements\n@element paper-dropdown-menu\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n\n \n \n \n \n
    \n \n \n \n \n \n \n
    \n \n
    \n`,\n\n is: 'paper-dropdown-menu',\n\n behaviors: [\n IronButtonState,\n IronControlState,\n IronFormElementBehavior,\n IronValidatableBehavior\n ],\n\n properties: {\n /**\n * The derived \"label\" of the currently selected item. This value\n * is the `label` property on the selected item if set, or else the\n * trimmed text content of the selected item.\n */\n selectedItemLabel: {type: String, notify: true, readOnly: true},\n\n /**\n * The last selected item. An item is selected if the dropdown menu has\n * a child with slot `dropdown-content`, and that child triggers an\n * `iron-select` event with the selected `item` in the `detail`.\n *\n * @type {?Object}\n */\n selectedItem: {type: Object, notify: true, readOnly: true},\n\n /**\n * The value for this element that will be used when submitting in\n * a form. It reflects the value of `selectedItemLabel`. If set directly,\n * it will not update the `selectedItemLabel` value.\n */\n value: {\n type: String,\n notify: true,\n },\n\n /**\n * The label for the dropdown.\n */\n label: {type: String},\n\n /**\n * The placeholder for the dropdown.\n */\n placeholder: {type: String},\n\n /**\n * The error message to display when invalid.\n */\n errorMessage: {type: String},\n\n /**\n * True if the dropdown is open. Otherwise, false.\n */\n opened:\n {type: Boolean, notify: true, value: false, observer: '_openedChanged'},\n\n /**\n * By default, the dropdown will constrain scrolling on the page\n * to itself when opened.\n * Set to true in order to prevent scroll from being constrained\n * to the dropdown when it opens.\n */\n allowOutsideScroll: {type: Boolean, value: false},\n\n /**\n * Set to true to disable the floating label. Bind this to the\n * ``'s `noLabelFloat` property.\n */\n noLabelFloat: {type: Boolean, value: false, reflectToAttribute: true},\n\n /**\n * Set to true to always float the label. Bind this to the\n * ``'s `alwaysFloatLabel` property.\n */\n alwaysFloatLabel: {type: Boolean, value: false},\n\n /**\n * Set to true to disable animations when opening and closing the\n * dropdown.\n */\n noAnimations: {type: Boolean, value: false},\n\n /**\n * The orientation against which to align the menu dropdown\n * horizontally relative to the dropdown trigger.\n */\n horizontalAlign: {type: String, value: 'right'},\n\n /**\n * The orientation against which to align the menu dropdown\n * vertically relative to the dropdown trigger.\n */\n verticalAlign: {type: String, value: 'top'},\n\n /**\n * Overrides the vertical offset computed in\n * _computeMenuVerticalOffset.\n */\n verticalOffset: Number,\n\n /**\n * If true, the `horizontalAlign` and `verticalAlign` properties will\n * be considered preferences instead of strict requirements when\n * positioning the dropdown and may be changed if doing so reduces\n * the area of the dropdown falling outside of `fitInto`.\n */\n dynamicAlign: {type: Boolean},\n\n /**\n * Whether focus should be restored to the dropdown when the menu closes.\n */\n restoreFocusOnClose: {type: Boolean, value: true},\n },\n\n listeners: {'tap': '_onTap'},\n\n /**\n * @type {!Object}\n */\n keyBindings: {'up down': 'open', 'esc': 'close'},\n\n hostAttributes:\n {role: 'combobox', 'aria-autocomplete': 'none', 'aria-haspopup': 'true'},\n\n observers: ['_selectedItemChanged(selectedItem)'],\n\n attached: function() {\n // NOTE(cdata): Due to timing, a preselected value in a `IronSelectable`\n // child will cause an `iron-select` event to fire while the element is\n // still in a `DocumentFragment`. This has the effect of causing\n // handlers not to fire. So, we double check this value on attached:\n var contentElement = this.contentElement;\n if (contentElement && contentElement.selectedItem) {\n this._setSelectedItem(contentElement.selectedItem);\n }\n },\n\n /**\n * The content element that is contained by the dropdown menu, if any.\n */\n get contentElement() {\n // Polymer 2.x returns slot.assignedNodes which can contain text nodes.\n var nodes = dom(this.$.content).getDistributedNodes();\n for (var i = 0, l = nodes.length; i < l; i++) {\n if (nodes[i].nodeType === Node.ELEMENT_NODE) {\n return nodes[i];\n }\n }\n },\n\n /**\n * Show the dropdown content.\n */\n open: function() {\n this.$.menuButton.open();\n },\n\n /**\n * Hide the dropdown content.\n */\n close: function() {\n this.$.menuButton.close();\n },\n\n /**\n * A handler that is called when `iron-select` is fired.\n *\n * @param {CustomEvent} event An `iron-select` event.\n */\n _onIronSelect: function(event) {\n this._setSelectedItem(event.detail.item);\n },\n\n /**\n * A handler that is called when `iron-deselect` is fired.\n *\n * @param {CustomEvent} event An `iron-deselect` event.\n */\n _onIronDeselect: function(event) {\n this._setSelectedItem(null);\n },\n\n /**\n * A handler that is called when the dropdown is tapped.\n *\n * @param {CustomEvent} event A tap event.\n */\n _onTap: function(event) {\n if (gestures.findOriginalTarget(event) === this) {\n this.open();\n }\n },\n\n /**\n * Compute the label for the dropdown given a selected item.\n *\n * @param {Element} selectedItem A selected Element item, with an\n * optional `label` property.\n */\n _selectedItemChanged: function(selectedItem) {\n var value = '';\n if (!selectedItem) {\n value = '';\n } else {\n value = selectedItem.label || selectedItem.getAttribute('label') ||\n selectedItem.textContent.trim();\n }\n\n this.value = value;\n this._setSelectedItemLabel(value);\n },\n\n /**\n * Compute the vertical offset of the menu based on the value of\n * `noLabelFloat`.\n *\n * @param {boolean} noLabelFloat True if the label should not float\n * @param {number=} opt_verticalOffset Optional offset from the user\n * above the input, otherwise false.\n */\n _computeMenuVerticalOffset: function(noLabelFloat, opt_verticalOffset) {\n // Override offset if it's passed from the user.\n if (opt_verticalOffset) {\n return opt_verticalOffset;\n }\n\n // NOTE(cdata): These numbers are somewhat magical because they are\n // derived from the metrics of elements internal to `paper-input`'s\n // template. The metrics will change depending on whether or not the\n // input has a floating label.\n return noLabelFloat ? -4 : 8;\n },\n\n /**\n * Returns false if the element is required and does not have a selection,\n * and true otherwise.\n * @param {*=} _value Ignored.\n * @return {boolean} true if `required` is false, or if `required` is true\n * and the element has a valid selection.\n */\n _getValidity: function(_value) {\n return this.disabled || !this.required || (this.required && !!this.value);\n },\n\n _openedChanged: function() {\n var openState = this.opened ? 'true' : 'false';\n var e = this.contentElement;\n if (e) {\n e.setAttribute('aria-expanded', openState);\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/color.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport '@polymer/paper-styles/typography.js';\nconst $_documentContainer = document.createElement('template');\n$_documentContainer.setAttribute('style', 'display: none;');\n\n$_documentContainer.innerHTML = `\n \n`;\n\ndocument.head.appendChild($_documentContainer.content);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {IronButtonState} from '@polymer/iron-behaviors/iron-button-state.js';\nimport {IronControlState} from '@polymer/iron-behaviors/iron-control-state.js';\n\n/*\n`PaperItemBehavior` is a convenience behavior shared by and\n that manages the shared control states and attributes of\nthe items.\n*/\n/** @polymerBehavior PaperItemBehavior */\nexport const PaperItemBehaviorImpl = {\n hostAttributes: {role: 'option', tabindex: '0'}\n};\n\n/** @polymerBehavior */\nexport const PaperItemBehavior =\n [IronButtonState, IronControlState, PaperItemBehaviorImpl];\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport './paper-item-shared-styles.js';\n\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\nimport {PaperItemBehavior} from './paper-item-behavior.js';\n\n/**\nMaterial design:\n[Lists](https://www.google.com/design/spec/components/lists.html)\n\n`` is an interactive list item. By default, it is a horizontal\nflexbox.\n\n Item\n\nUse this element with `` to make Material Design styled\ntwo-line and three-line items.\n\n \n \n
    Show your status
    \n
    Your status is visible to everyone
    \n
    \n \n
    \n\nTo use `paper-item` as a link, wrap it in an anchor tag. Since `paper-item` will\nalready receive focus, you may want to prevent the anchor tag from receiving\nfocus as well by setting its tabindex to -1.\n\n
    \n Polymer Project\n \n\nIf you are concerned about performance and want to use `paper-item` in a\n`paper-listbox` with many items, you can just use a native `button` with the\n`paper-item` class applied (provided you have correctly included the shared\nstyles):\n\n \n\n \n \n \n \n \n\n### Styling\n\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-item-min-height` | Minimum height of the item | `48px`\n`--paper-item` | Mixin applied to the item | `{}`\n`--paper-item-selected-weight` | The font weight of a selected item | `bold`\n`--paper-item-selected` | Mixin applied to selected paper-items | `{}`\n`--paper-item-disabled-color` | The color for disabled paper-items | `--disabled-text-color`\n`--paper-item-disabled` | Mixin applied to disabled paper-items | `{}`\n`--paper-item-focused` | Mixin applied to focused paper-items | `{}`\n`--paper-item-focused-before` | Mixin applied to :before focused paper-items | `{}`\n\n### Accessibility\n\nThis element has `role=\"listitem\"` by default. Depending on usage, it may be\nmore appropriate to set `role=\"menuitem\"`, `role=\"menuitemcheckbox\"` or\n`role=\"menuitemradio\"`.\n\n \n \n Show your status\n \n \n \n\n@group Paper Elements\n@element paper-item\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n \n`,\n\n is: 'paper-item',\n behaviors: [PaperItemBehavior]\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.a1b6b616fc89c412f5b6.js b/hassio/api/panel/chunk.a1b6b616fc89c412f5b6.js new file mode 100644 index 000000000..16507fddc --- /dev/null +++ b/hassio/api/panel/chunk.a1b6b616fc89c412f5b6.js @@ -0,0 +1,2 @@ +(self.webpackJsonp=self.webpackJsonp||[]).push([[5],{2:function(t,e,L){"use strict";L.r(e);L(57);function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function H(t,e){for(var L=0;L8I4xGVkZ{{(*PiA|c;=$yq>_o_co9DWk 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 mZ|q}vlAa_Cf this.fire(\"iron-iconset-added\", this, { node: window }));\n }\n\n /**\n *\n * When name is changed, register iconset metadata\n *\n */\n _nameChanged() {\n this._meta.value = null;\n this._meta.key = this.name;\n this._meta.value = this;\n if (this.ownerDocument && this.ownerDocument.readyState === \"loading\") {\n // Document still loading. It could be that not all icons in the iconset are parsed yet.\n this.ownerDocument.addEventListener(\"DOMContentLoaded\", () => {\n this._fireIronIconsetAdded();\n });\n } else {\n this._fireIronIconsetAdded();\n }\n }\n}\n\ncustomElements.define(\"ha-iconset-svg\", HaIconset);\n","export default \"\";","import \"../../../src/components/ha-iconset-svg\";\nimport iconSetContent from \"../../hassio-icons.html\";\n\nconst documentContainer = document.createElement(\"template\");\ndocumentContainer.setAttribute(\"style\", \"display: none;\");\ndocumentContainer.innerHTML = iconSetContent;\ndocument.head.appendChild(documentContainer.content);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.a4f9950b101883805252.js b/hassio/api/panel/chunk.a4f9950b101883805252.js new file mode 100644 index 000000000..3637fff57 --- /dev/null +++ b/hassio/api/panel/chunk.a4f9950b101883805252.js @@ -0,0 +1,2 @@ +(self.webpackJsonp=self.webpackJsonp||[]).push([[7],{1:function(e,t,r){"use strict";r.r(t);var n=r(4),i=(r(22),r(113),r(110),r(9)),o=document.createElement("template");o.setAttribute("style","display: none;"),o.innerHTML='\n \n\n \n\n \n\n \n"),document.head.appendChild(o.content);var a=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var i=t.default_theme;("default"===r||r&&t.themes[r])&&(i=r);var o=Object.assign({},e._themes);if("default"!==i){var a=t.themes[i];Object.keys(a).forEach(function(t){var r="--".concat(t);if(e._themes[r]="",o[r]=a[t],!t.startsWith("rgb")){var n="rgb-".concat(t);if(void 0===a[n]){var i="--".concat(n);e._themes[i]="";var s,c,l,u=(s=a[t],c=s.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(e,t,r,n){return t+t+r+r+n+n}),(l=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(c))?"".concat(parseInt(l[1],16),", ").concat(parseInt(l[2],16),", ").concat(parseInt(l[3],16)):null);null!==u&&(o[i]=u)}}})}if(e.updateStyles?e.updateStyles(o):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,o),n){var s=document.querySelector("meta[name=theme-color]");if(s){s.hasAttribute("default-content")||s.setAttribute("default-content",s.getAttribute("content"));var c=o["--primary-color"]||s.getAttribute("default-content");s.setAttribute("content",c)}}},s=r(14);r(16),r(91);function c(e){return(c="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})(e)}function l(){var e=d(["\n .content {\n height: calc(100% - 64px);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n }\n "]);return l=function(){return e},e}function u(){var e=d(['\n \n
    \n

    ',"

    \n \n go back\n \n
    \n
    \n "]);return u=function(){return e},e}function d(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function m(e){var t,r=w(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function y(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function v(e){return e.decorators&&e.decorators.length}function b(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function g(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function w(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}(function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!v(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n
    \n You don\'t have any add-ons installed yet. Head over to\n \n
    Add-ons
    \n ',"\n
    \n "]);return ee=function(){return e},e}function te(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function re(e){return(re=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ne(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ie(e,t){return(ie=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oe(e){var t,r=ue(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function ae(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function se(e){return e.decorators&&e.decorators.length}function ce(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function le(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function ue(e){var t=function(e,t){if("object"!==K(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==K(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===K(t)?t:String(t)}(function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!se(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;at.name?1:-1}).map(function(t){return Object(n.e)(X(),t,e._addonTapped,e.hass,t.name,t.description,t.available,e._computeIcon(t),e._computeIconTitle(t),e._computeIconClass(t))}):Object(n.e)(Z(),this._openStore))}},{kind:"get",static:!0,key:"styles",value:function(){return[i.a,$.a,Object(n.c)(Q())]}},{kind:"method",key:"_computeIcon",value:function(e){return e.installed!==e.version?"hassio:arrow-up-bold-circle":"hassio:puzzle"}},{kind:"method",key:"_computeIconTitle",value:function(e){return e.installed!==e.version?"New version available":"started"===e.state?"Add-on is running":"Add-on is stopped"}},{kind:"method",key:"_computeIconClass",value:function(e){return e.installed!==e.version?"update":"started"===e.state?"running":""}},{kind:"method",key:"_addonTapped",value:function(e){Object(k.a)(this,"/hassio/addon/".concat(e.currentTarget.addon.slug))}},{kind:"method",key:"_openStore",value:function(){Object(k.a)(this,"/hassio/store")}}]}},n.a),r(20),r(45);function de(){var e=ge(["\n :host {\n width: 33%;\n }\n paper-card {\n display: inline-block;\n margin-bottom: 32px;\n }\n .icon {\n --iron-icon-height: 48px;\n --iron-icon-width: 48px;\n float: right;\n margin: 0 0 2px 10px;\n }\n .update-heading {\n font-size: var(--paper-font-subhead_-_font-size);\n font-weight: 500;\n margin-bottom: 0.5em;\n }\n .warning {\n color: var(--secondary-text-color);\n }\n .card-actions {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n padding: 16px;\n }\n a {\n text-decoration: none;\n }\n "]);return de=function(){return e},e}function fe(e){return(fe="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})(e)}function pe(){var e=ge(['\n
    \n \n
    \n ']);return pe=function(){return e},e}function he(){var e=ge(['\n \n
    \n ','\n
    '," ",'
    \n
    \n You are currently running version ','\n
    \n
    \n
    \n "]);return ye=function(){return e},e}function ve(){var e=ge(['\n
    \n ','\n
    \n
    \n ',"\n
    \n ","\n ","\n ","\n
    \n
    \n "]);return ve=function(){return e},e}function be(){var e=ge([""]);return be=function(){return e},e}function ge(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function we(e){return(we=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ke(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ee(e,t){return(Ee=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Oe(e){var t,r=Se(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function je(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Pe(e){return e.decorators&&e.decorators.length}function xe(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function _e(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Se(e){var t=function(e,t){if("object"!==fe(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==fe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===fe(t)?t:String(t)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!Pe(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a1?"Updates Available 🎉":"Update Available 🎉",this._renderUpdateCard("Home Assistant",this.hassInfo.version,this.hassInfo.last_version,"hassio/homeassistant/update","https://".concat(this.hassInfo.last_version.includes("b")?"rc":"www",".home-assistant.io/latest-release-notes/"),"hassio:home-assistant"),this._renderUpdateCard("Hass.io Supervisor",this.supervisorInfo.version,this.supervisorInfo.last_version,"hassio/supervisor/update","https://github.com//home-assistant/hassio/releases/tag/".concat(this.supervisorInfo.last_version)),this.hassOsInfo?this._renderUpdateCard("HassOS",this.hassOsInfo.version,this.hassOsInfo.version_latest,"hassio/hassos/update","https://github.com//home-assistant/hassos/releases/tag/".concat(this.hassOsInfo.version_latest)):""):Object(n.e)(be())}},{kind:"method",key:"_renderUpdateCard",value:function(e,t,r,i,o,a){return r===t?Object(n.e)(me()):Object(n.e)(he(),a?Object(n.e)(pe(),a):"",e,r,t,o,this.hass,i,this._apiCalled)}},{kind:"method",key:"_apiCalled",value:function(e){if(e.detail.success)this._error="";else{var t=e.detail.response;"object"===fe(t.body)?this._error=t.body.message||"Unknown error":this._error=t.body}}},{kind:"get",static:!0,key:"styles",value:function(){return[i.a,$.a,Object(n.c)(de())]}}]}},n.a);function Ce(e){return(Ce="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})(e)}function De(){var e=Ae(["\n .content {\n margin: 0 auto;\n }\n "]);return De=function(){return e},e}function Te(){var e=Ae(['\n
    \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n
    \n \n
    \n \n ']);return qe=function(){return e},e}function We(){var e=Ze(['\n \n
    \n You don\'t have any snapshots yet.\n
    \n
    \n ']);return We=function(){return e},e}function Je(){var e=Ze(['\n

    ',"

    \n "]);return Je=function(){return e},e}function Ye(){var e=Ze(['\n \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and restore all data of your\n 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 \n
    \n \n Create\n \n
    \n \n
    \n\n
    \n
    Available snapshots
    \n ',"\n
    \n
    \n "]);return Xe=function(){return e},e}function Ze(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function et(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tt(e,t){return(tt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function rt(e){var t,r=st(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function nt(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function it(e){return e.decorators&&e.decorators.length}function ot(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function at(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function st(e){var t=function(e,t){if("object"!==Ge(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ge(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ge(t)?t:String(t)}function ct(e,t,r){return(ct="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=lt(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(r):i.value}})(e,t,r||e)}function lt(e){return(lt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!it(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n
    \n ','\n
    \n Maintained by ','
    \n ',"\n
    \n
    \n\n ","\n
    \n "]);return ht=function(){return e},e}function mt(){var e=yt(['\n
    \n
    \n
    \n No results found in "','"\n
    \n
    \n
    \n ']);return mt=function(){return e},e}function yt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function vt(e){return(vt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gt(e,t){return(gt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wt(e){var t,r=Pt(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function kt(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Et(e){return e.decorators&&e.decorators.length}function Ot(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function jt(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Pt(e){var t=function(e,t){if("object"!==dt(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==dt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===dt(t)?t:String(t)}var xt=function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!Et(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n
    \n \n
    \n
    \n \n Remove\n \n
    \n \n ']);return Dt=function(){return e},e}function Tt(){var e=At(['\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
    \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n "]);return Wt=function(){return e},e}function Jt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Yt(e){return(Yt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $t(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Kt(e,t){return(Kt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qt(e){var t,r=rr(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function Xt(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Zt(e){return e.decorators&&e.decorators.length}function er(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function tr(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function rr(e){var t=function(e,t){if("object"!==Vt(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Vt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Vt(t)?t:String(t)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!Zt(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n ']);return or=function(){return e},e}function ar(){var e=sr(['\n
    \n \n \n ',"\n \n
    \n "]);return ar=function(){return e},e}function sr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function cr(e){return(cr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function lr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ur(e,t){return(ur=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function dr(e){var t,r=yr(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function fr(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function pr(e){return e.decorators&&e.decorators.length}function hr(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function mr(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function yr(e){var t=function(e,t){if("object"!==nr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==nr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===nr(t)?t:String(t)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!pr(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n "]);return gr=function(){return e},e}function wr(){var e=Er(["\n \n\n \n\n ","\n "]);return wr=function(){return e},e}function kr(){var e=Er(["\n \n "]);return kr=function(){return e},e}function Er(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Or(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jr(e,t){return(jr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Pr(e){var t,r=Dr(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function xr(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function _r(e){return e.decorators&&e.decorators.length}function Sr(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function Cr(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Dr(e){var t=function(e,t){if("object"!==vr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==vr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===vr(t)?t:String(t)}function Tr(e,t,r){return(Tr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Ar(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(r):i.value}})(e,t,r||e)}function Ar(e){return(Ar=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var zr=function(e,t){return"local"===e.slug?-1:"local"===t.slug?1:"core"===e.slug?-1:"core"===t.slug?1:e.name.toUpperCase()=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;aUpdate
    \n ']);return Hr=function(){return e},e}function Ur(){var e=Jr(['\n Import from USB\n ']);return Ur=function(){return e},e}function Br(){var e=Jr(['\n Shutdown\n ']);return Br=function(){return e},e}function Mr(){var e=Jr(['\n Reboot\n ']);return Mr=function(){return e},e}function Gr(){var e=Jr(['\n
    Error: ',"
    \n "]);return Gr=function(){return e},e}function Vr(){var e=Jr(["\n \n Change hostname\n \n ']);return Vr=function(){return e},e}function qr(){var e=Jr(["\n \n Deployment\n ","\n \n "]);return qr=function(){return e},e}function Wr(){var e=Jr(['\n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n ","\n \n
    Hostname',"
    System","
    \n \n Hardware\n \n ',"\n ",'\n
    \n
    \n ',"\n ","\n ","\n ","\n
    \n
    \n "]);return Wr=function(){return e},e}function Jr(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Yr(e){return(Yr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Kr(e,t){return(Kr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qr(e){var t,r=rn(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function Xr(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Zr(e){return e.decorators&&e.decorators.length}function en(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function tn(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function rn(e){var t=function(e,t){if("object"!==Lr(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Lr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Lr(t)?t:String(t)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!Zr(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:"",n="";return Object.keys(e).forEach(function(i){"object"!==Lr(e[i])?n+="".concat(r,"- ").concat(i,": ").concat(e[i],"\n"):(n+="".concat(r,"- ").concat(i,":\n"),Array.isArray(e[i])?e[i].length&&(n+="".concat(r," - ")+e[i].join("\n".concat(r," - "))+"\n"):n+=t._objectToMarkdown(e[i]," ".concat(r)))}),n}},{kind:"method",key:"_changeHostnameClicked",value:function(){var e=this.hostInfo.hostname,t=prompt("Please enter a new hostname:",e);t&&t!==e&&this.hass.callApi("POST","hassio/host/options",{hostname:t})}}]}},n.a);function nn(e){return(nn="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})(e)}function on(){var e=fn(["\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n color: var(--primary-text-color);\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: auto;\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 "]);return on=function(){return e},e}function an(){var e=fn(["\n Join beta channel\n ']);return an=function(){return e},e}function sn(){var e=fn(["\n Update\n ']);return cn=function(){return e},e}function ln(){var e=fn(['\n
    Error: ',"
    \n "]);return ln=function(){return e},e}function un(){var e=fn(["\n \n Channel\n ","\n \n "]);return un=function(){return e},e}function dn(){var e=fn(['\n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n ","\n \n
    Version',"
    Latest version","
    \n ",'\n
    \n
    \n Reload\n ',"\n ","\n ","\n
    \n
    \n "]);return dn=function(){return e},e}function fn(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function pn(e){return(pn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function hn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function mn(e,t){return(mn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yn(e){var t,r=kn(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function vn(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function bn(e){return e.decorators&&e.decorators.length}function gn(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function wn(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function kn(e){var t=function(e,t){if("object"!==nn(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==nn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===nn(t)?t:String(t)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!bn(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a',"
    \n "]);return Pn=function(){return e},e}function xn(){var e=_n(["\n \n ",'\n
    \n
    \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n
    Information
    \n \n
    System log
    \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n \n \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a200?n.scrollTop=0:t._currentAnimationId===i&&(n.scrollTop=(r=c,-s*(r/=200)*(r-2)+a),requestAnimationFrame(e.bind(t)))}.call(t)}},{kind:"method",key:"refreshClicked",value:function(){"snapshots"===this._page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{kind:"get",key:"_page",value:function(){return this.route.path.substr(1)}},{kind:"get",static:!0,key:"styles",value:function(){return[i.a,Object(n.c)(ci())]}}]}},n.a);function Ei(e){return(Ei="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})(e)}function Oi(e,t){return zi(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(c){i=!0,o=c}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(e,t)||Ai()}function ji(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Pi(e,t){return(Pi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xi(e){var t,r=Ti(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function _i(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Si(e){return e.decorators&&e.decorators.length}function Ci(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function Di(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Ti(e){var t=function(e,t){if("object"!==Ei(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ei(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ei(t)?t:String(t)}function Ai(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function zi(e){if(Array.isArray(e))return e}function Ri(e,t,r){return(Ri="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Ii(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(r):i.value}})(e,t,r||e)}function Ii(e){return(Ii=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}customElements.get("paper-icon-button").prototype._keyBindings={};var Fi;!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!Si(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n \n"),document.head.appendChild(o.content)},14:function(e,t,r){"use strict";r.d(t,"a",function(){return n});var n=function(e,t,r,n){n=n||{},r=null==r?{}:r;var i=new Event(t,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return i.detail=r,e.dispatchEvent(i),i}},25:function(e,t,r){"use strict";r.d(t,"f",function(){return i}),r.d(t,"d",function(){return o}),r.d(t,"b",function(){return a}),r.d(t,"a",function(){return s}),r.d(t,"c",function(){return c}),r.d(t,"g",function(){return l}),r.d(t,"h",function(){return u}),r.d(t,"e",function(){return d}),r.d(t,"i",function(){return f});var n=r(42),i=function(e){return regeneratorRuntime.async(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,regeneratorRuntime.awrap(e.callApi("POST","hassio/addons/reload"));case 2:case"end":return t.stop()}})},o=function(e){return regeneratorRuntime.async(function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=n.a,t.next=3,regeneratorRuntime.awrap(e.callApi("GET","hassio/addons"));case 3:return t.t1=t.sent,t.abrupt("return",(0,t.t0)(t.t1));case 5:case"end":return t.stop()}})},a=function(e,t){return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:return r.t0=n.a,r.next=3,regeneratorRuntime.awrap(e.callApi("GET","hassio/addons/".concat(t,"/info")));case 3:return r.t1=r.sent,r.abrupt("return",(0,r.t0)(r.t1));case 5:case"end":return r.stop()}})},s=function(e,t){return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",e.callApi("GET","hassio/addons/".concat(t,"/changelog")));case 1:case"end":return r.stop()}})},c=function(e,t){return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",e.callApi("GET","hassio/addons/".concat(t,"/logs")));case 1:case"end":return r.stop()}})},l=function(e,t,r){return regeneratorRuntime.async(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,regeneratorRuntime.awrap(e.callApi("POST","hassio/addons/".concat(t,"/options"),r));case 2:case"end":return n.stop()}})},u=function(e,t,r){return regeneratorRuntime.async(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,regeneratorRuntime.awrap(e.callApi("POST","hassio/addons/".concat(t,"/security"),r));case 2:case"end":return n.stop()}})},d=function(e,t){return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",e.callApi("POST","hassio/addons/".concat(t,"/install")));case 1:case"end":return r.stop()}})},f=function(e,t){return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,regeneratorRuntime.awrap(e.callApi("POST","hassio/addons/".concat(t,"/uninstall")));case 2:case"end":return r.stop()}})}},33:function(e,t,r){"use strict";r.d(t,"a",function(){return i});var n=r(14),i=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];r?history.replaceState(null,"",t):history.pushState(null,"",t),Object(n.a)(window,"location-changed",{replace:r})}},34:function(e,t,r){"use strict";var n=r(4),i=(r(20),r(7)),o=r(31),a=[60,60,24,7],s=["second","minute","hour","day"];var c=r(15);function l(e){return(l="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})(e)}function u(e,t){for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:{},i=((n.compareTime||new Date).getTime()-e.getTime())/1e3,o=i>=0?"past":"future";i=Math.abs(i);for(var c=0;c\n
    \n
    ','
    \n
    \n ',"\n ","\n ","\n
    \n
    \n "]);return x=function(){return e},e}function _(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function S(e){return(S=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function D(e,t){return(D=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function T(e){var t,r=F(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function A(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function z(e){return e.decorators&&e.decorators.length}function R(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function I(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function F(e){var t=function(e,t){if("object"!==O(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==O(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===O(t)?t:String(t)}customElements.define("ha-relative-time",E);!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!z(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n .container {\n position: relative;\n display: inline-block;\n }\n\n mwc-button {\n transition: all 1s;\n }\n\n .success mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--google-red-500);\n transition: none;\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 ']);return s=function(){return e},e}function c(e,t){for(var r=0;r\n ']);return y=function(){return e},e}function v(e,t){return!t||"object"!==m(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function g(e,t){for(var r=0;r
    \n ']);return u=function(){return e},e}function d(){var e=f(["\n \n ","\n "]);return d=function(){return e},e}function f(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function m(e){var t,r=w(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function y(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function v(e){return e.decorators&&e.decorators.length}function b(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function g(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function w(e){var t=function(e,t){if("object"!==c(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===c(t)?t:String(t)}function k(e,t,r){return(k="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=E(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(r):i.value}})(e,t,r||e)}function E(e){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!v(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a0},Object(o.a)("_ntf",a,s,e,t))}},{kind:"method",key:"_toggleMenu",value:function(){Object(i.a)(this,"hass-toggle-menu")}},{kind:"get",static:!0,key:"styles",value:function(){return Object(n.c)(l())}}]}},n.a)},88:function(e,t){},9:function(e,t,r){"use strict";r.d(t,"a",function(){return s}),r.d(t,"b",function(){return c});var n=r(4);function i(){var e=a(["\n /* prevent clipping of positioned elements */\n paper-dialog-scrollable {\n --paper-dialog-scrollable: {\n -webkit-overflow-scrolling: auto;\n }\n }\n\n /* force smooth scrolling for iOS 10 */\n paper-dialog-scrollable.can-scroll {\n --paper-dialog-scrollable: {\n -webkit-overflow-scrolling: touch;\n }\n }\n\n .paper-dialog-buttons {\n align-items: flex-end;\n padding: 8px;\n }\n\n .paper-dialog-buttons .warning {\n --mdc-theme-primary: var(--google-red-500);\n }\n\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog,\n ha-paper-dialog {\n margin: 0;\n width: 100% !important;\n max-height: calc(100% - 64px);\n\n position: fixed !important;\n bottom: 0px;\n left: 0px;\n right: 0px;\n overflow: scroll;\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n }\n }\n"]);return i=function(){return e},e}function o(){var e=a(["\n :host {\n @apply --paper-font-body1;\n }\n\n app-header-layout,\n ha-app-layout {\n background-color: var(--primary-background-color);\n }\n\n app-header,\n app-toolbar {\n background-color: var(--app-header-background-color);\n font-weight: 400;\n color: var(--app-header-text-color, white);\n }\n\n app-toolbar ha-menu-button + [main-title],\n app-toolbar ha-paper-icon-button-arrow-prev + [main-title],\n app-toolbar paper-icon-button + [main-title] {\n margin-left: 24px;\n }\n\n h1 {\n @apply --paper-font-title;\n }\n\n button.link {\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n text-align: left;\n text-decoration: underline;\n cursor: pointer;\n }\n\n .card-actions a {\n text-decoration: none;\n }\n\n .card-actions .warning {\n --mdc-theme-primary: var(--google-red-500);\n }\n"]);return o=function(){return e},e}function a(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var s=Object(n.c)(o()),c=Object(n.c)(i())},91:function(e,t,r){"use strict";var n=r(4),i=(r(78),r(92),r(53));function o(e){return(o="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})(e)}function a(){var e=c(['\n :host {\n display: block;\n height: 100%;\n background-color: var(--primary-background-color);\n }\n\n .toolbar {\n display: flex;\n align-items: center;\n font-size: 20px;\n height: 64px;\n padding: 0 16px;\n pointer-events: none;\n background-color: var(--app-header-background-color);\n font-weight: 400;\n color: var(--app-header-text-color, white);\n }\n\n ha-menu-button,\n ha-paper-icon-button-arrow-prev,\n ::slotted([slot="toolbar-icon"]) {\n pointer-events: auto;\n }\n\n ha-paper-icon-button-arrow-prev.hidden {\n visibility: hidden;\n }\n\n [main-title] {\n margin: 0 0 0 24px;\n line-height: 20px;\n flex-grow: 1;\n }\n\n .content {\n position: relative;\n width: 100%;\n height: calc(100% - 64px);\n overflow-y: auto;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n }\n ']);return a=function(){return e},e}function s(){var e=c(['\n
    \n \n \n
    \n
    \n ']);return s=function(){return e},e}function c(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){var t,r=v(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function p(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function h(e){return e.decorators&&e.decorators.length}function m(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function y(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function v(e){var t=function(e,t){if("object"!==o(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===o(t)?t:String(t)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!h(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n "]);return s=function(){return e},e}function c(){var e=u(["\n \n "]);return c=function(){return e},e}function l(){var e=u(["\n \n ",'\n \n
    \n \n
    \n ']);return l=function(){return e},e}function u(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(e){var t,r=g(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function m(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function y(e){return e.decorators&&e.decorators.length}function v(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function g(e){var t=function(e,t){if("object"!==o(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===o(t)?t:String(t)}!function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!y(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var 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\n \n\n \n\n \n\n \n`;\n\ndocument.head.appendChild(documentContainer.content);\n","const hexToRgb = (hex: string): string | null => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n const checkHex = hex.replace(shorthandRegex, (_m, r, g, b) => {\n return r + r + g + g + b + b;\n });\n\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(checkHex);\n return result\n ? `${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(\n result[3],\n 16\n )}`\n : null;\n};\n\n/**\n * Apply a theme to an element by setting the CSS variables on it.\n *\n * element: Element to apply theme on.\n * themes: HASS Theme information\n * localTheme: selected theme.\n * updateMeta: boolean if we should update the theme-color meta element.\n */\nexport const applyThemesOnElement = (\n element,\n themes,\n localTheme,\n updateMeta = false\n) => {\n if (!element._themes) {\n element._themes = {};\n }\n let themeName = themes.default_theme;\n if (localTheme === \"default\" || (localTheme && themes.themes[localTheme])) {\n themeName = localTheme;\n }\n const styles = { ...element._themes };\n if (themeName !== \"default\") {\n const theme = themes.themes[themeName];\n Object.keys(theme).forEach((key) => {\n const prefixedKey = `--${key}`;\n element._themes[prefixedKey] = \"\";\n styles[prefixedKey] = theme[key];\n if (key.startsWith(\"rgb\")) {\n return;\n }\n const rgbKey = `rgb-${key}`;\n if (theme[rgbKey] !== undefined) {\n return;\n }\n const prefixedRgbKey = `--${rgbKey}`;\n element._themes[prefixedRgbKey] = \"\";\n const rgbValue = hexToRgb(theme[key]);\n if (rgbValue !== null) {\n styles[prefixedRgbKey] = rgbValue;\n }\n });\n }\n if (element.updateStyles) {\n element.updateStyles(styles);\n } else if (window.ShadyCSS) {\n // implement updateStyles() method of Polymer elements\n window.ShadyCSS.styleSubtree(/** @type {!HTMLElement} */ element, styles);\n }\n\n if (!updateMeta) {\n return;\n }\n\n const meta = document.querySelector(\"meta[name=theme-color]\");\n if (meta) {\n if (!meta.hasAttribute(\"default-content\")) {\n meta.setAttribute(\"default-content\", meta.getAttribute(\"content\")!);\n }\n const themeColor =\n styles[\"--primary-color\"] || meta.getAttribute(\"default-content\");\n meta.setAttribute(\"content\", themeColor);\n }\n};\n","import {\n LitElement,\n CSSResultArray,\n css,\n TemplateResult,\n html,\n property,\n customElement,\n} from \"lit-element\";\nimport \"@material/mwc-button\";\nimport \"./hass-subpage\";\n\n@customElement(\"hass-error-screen\")\nclass HassErrorScreen extends LitElement {\n @property()\n public error?: string;\n\n protected render(): TemplateResult {\n return html`\n \n
    \n

    ${this.error}

    \n \n go back\n \n
    \n
    \n `;\n }\n\n private _backTapped(): void {\n history.back();\n }\n\n static get styles(): CSSResultArray {\n return [\n css`\n .content {\n height: calc(100% - 64px);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hass-error-screen\": HassErrorScreen;\n }\n}\n","import { UpdatingElement, property, PropertyValues } from \"lit-element\";\nimport \"./hass-error-screen\";\nimport \"./hass-loading-screen\";\nimport { Route } from \"../types\";\nimport { navigate } from \"../common/navigate\";\nimport memoizeOne from \"memoize-one\";\n\nconst extractPage = (path: string, defaultPage: string) => {\n if (path === \"\") {\n return defaultPage;\n }\n const subpathStart = path.indexOf(\"/\", 1);\n return subpathStart === -1\n ? path.substr(1)\n : path.substr(1, subpathStart - 1);\n};\n\nexport interface RouteOptions {\n // HTML tag of the route page.\n tag: string;\n // Function to load the page.\n load?: () => Promise;\n cache?: boolean;\n}\n\nexport interface RouterOptions {\n // The default route to show if path does not define a page.\n defaultPage?: string;\n // If all routes should be preloaded\n preloadAll?: boolean;\n // If a route has been shown, should we keep the element in memory\n cacheAll?: boolean;\n // Should we show a loading spinner while we load the element for the route\n showLoading?: boolean;\n // Promise that resolves when the initial data is loaded which is needed to show any route.\n initialLoad?: () => Promise;\n // Hook that is called before rendering a new route. Allowing redirects.\n // If string returned, that page will be rendered instead.\n beforeRender?: (page: string) => string | undefined;\n routes: {\n // If it's a string, it is another route whose options should be adopted.\n [route: string]: RouteOptions | string;\n };\n}\n\n// Time to wait for code to load before we show loading screen.\nconst LOADING_SCREEN_THRESHOLD = 400; // ms\n\nexport class HassRouterPage extends UpdatingElement {\n @property() public route?: Route;\n\n protected routerOptions!: RouterOptions;\n\n protected _currentPage = \"\";\n private _currentLoadProm?: Promise;\n private _cache = {};\n private _initialLoadDone = false;\n private _computeTail = memoizeOne((route: Route) => {\n const dividerPos = route.path.indexOf(\"/\", 1);\n return dividerPos === -1\n ? {\n prefix: route.prefix + route.path,\n path: \"\",\n }\n : {\n prefix: route.prefix + route.path.substr(0, dividerPos),\n path: route.path.substr(dividerPos),\n };\n });\n\n protected update(changedProps: PropertyValues) {\n super.update(changedProps);\n\n const routerOptions = this.routerOptions || { routes: {} };\n\n if (routerOptions && routerOptions.initialLoad && !this._initialLoadDone) {\n return;\n }\n\n if (!changedProps.has(\"route\")) {\n // Do not update if we have a currentLoadProm, because that means\n // that there is still an old panel shown and we're moving to a new one.\n if (this.lastChild && !this._currentLoadProm) {\n this.updatePageEl(this.lastChild, changedProps);\n }\n return;\n }\n\n const route = this.route;\n const defaultPage = routerOptions.defaultPage;\n\n if (route && route.path === \"\" && defaultPage !== undefined) {\n navigate(this, `${route.prefix}/${defaultPage}`, true);\n }\n\n let newPage = route\n ? extractPage(route.path, defaultPage || \"\")\n : \"not_found\";\n let routeOptions = routerOptions.routes[newPage];\n\n // Handle redirects\n while (typeof routeOptions === \"string\") {\n newPage = routeOptions;\n routeOptions = routerOptions.routes[newPage];\n }\n\n if (routerOptions.beforeRender) {\n const result = routerOptions.beforeRender(newPage);\n if (result !== undefined) {\n newPage = result;\n routeOptions = routerOptions.routes[newPage];\n\n // Handle redirects\n while (typeof routeOptions === \"string\") {\n newPage = routeOptions;\n routeOptions = routerOptions.routes[newPage];\n }\n\n // Update the url if we know where we're mounted.\n if (route) {\n navigate(this, `${route.prefix}/${result}`, true);\n }\n }\n }\n\n if (this._currentPage === newPage) {\n if (this.lastChild) {\n this.updatePageEl(this.lastChild, changedProps);\n }\n return;\n }\n\n if (!routeOptions) {\n this._currentPage = \"\";\n if (this.lastChild) {\n this.removeChild(this.lastChild);\n }\n return;\n }\n\n this._currentPage = newPage;\n const loadProm = routeOptions.load\n ? routeOptions.load()\n : Promise.resolve();\n\n // Check when loading the page source failed.\n loadProm.catch((err) => {\n // tslint:disable-next-line\n console.error(\"Error loading page\", newPage, err);\n\n // Verify that we're still trying to show the same page.\n if (this._currentPage !== newPage) {\n return;\n }\n\n // Removes either loading screen or the panel\n this.removeChild(this.lastChild!);\n\n // Show error screen\n const errorEl = document.createElement(\"hass-error-screen\");\n errorEl.error = `Error while loading page ${newPage}.`;\n this.appendChild(errorEl);\n });\n\n // If we don't show loading screen, just show the panel.\n // It will be automatically upgraded when loading done.\n if (!routerOptions.showLoading) {\n this._createPanel(routerOptions, newPage, routeOptions);\n return;\n }\n\n // We are only going to show the loading screen after some time.\n // That way we won't have a double fast flash on fast connections.\n let created = false;\n\n setTimeout(() => {\n if (created || this._currentPage !== newPage) {\n return;\n }\n\n // Show a loading screen.\n if (this.lastChild) {\n this.removeChild(this.lastChild);\n }\n this.appendChild(this.createLoadingScreen());\n }, LOADING_SCREEN_THRESHOLD);\n\n this._currentLoadProm = loadProm.then(\n () => {\n this._currentLoadProm = undefined;\n // Check if we're still trying to show the same page.\n if (this._currentPage !== newPage) {\n return;\n }\n\n created = true;\n this._createPanel(\n routerOptions,\n newPage,\n // @ts-ignore TS forgot this is not a string.\n routeOptions\n );\n },\n () => {\n this._currentLoadProm = undefined;\n }\n );\n }\n\n protected firstUpdated(changedProps: PropertyValues) {\n super.firstUpdated(changedProps);\n\n const options = this.routerOptions;\n\n if (!options) {\n return;\n }\n\n if (options.preloadAll) {\n Object.values(options.routes).forEach(\n (route) => typeof route === \"object\" && route.load && route.load()\n );\n }\n\n if (options.initialLoad) {\n setTimeout(() => {\n if (!this._initialLoadDone) {\n this.appendChild(this.createLoadingScreen());\n }\n }, LOADING_SCREEN_THRESHOLD);\n\n options.initialLoad().then(() => {\n this._initialLoadDone = true;\n this.requestUpdate(\"route\");\n });\n }\n }\n\n protected createLoadingScreen() {\n return document.createElement(\"hass-loading-screen\");\n }\n\n /**\n * Rebuild the current panel.\n *\n * Promise will resolve when rebuilding is done and DOM updated.\n */\n protected async rebuild(): Promise {\n const oldRoute = this.route;\n\n if (oldRoute === undefined) {\n return;\n }\n\n this.route = undefined;\n await this.updateComplete;\n // Make sure that the parent didn't override this in the meanwhile.\n if (this.route === undefined) {\n this.route = oldRoute;\n }\n }\n\n /**\n * Promise that resolves when the page has rendered.\n */\n protected get pageRendered(): Promise {\n return this.updateComplete.then(() => this._currentLoadProm);\n }\n\n protected createElement(tag: string) {\n return document.createElement(tag);\n }\n\n protected updatePageEl(_pageEl, _changedProps?: PropertyValues) {\n // default we do nothing\n }\n\n protected get routeTail(): Route {\n return this._computeTail(this.route!);\n }\n\n private _createPanel(\n routerOptions: RouterOptions,\n page: string,\n routeOptions: RouteOptions\n ) {\n if (this.lastChild) {\n this.removeChild(this.lastChild);\n }\n\n const panelEl = this._cache[page] || this.createElement(routeOptions.tag);\n this.updatePageEl(panelEl);\n this.appendChild(panelEl);\n\n if (routerOptions.cacheAll || routeOptions.cache) {\n this._cache[page] = panelEl;\n }\n }\n}\n","import { HomeAssistant } from \"../../types\";\nimport { HassioResponse, hassioApiResultExtractor } from \"./common\";\n\nexport type HassioHostInfo = any;\n\nexport interface HassioHassOSInfo {\n version: string;\n version_cli: string;\n version_latest: string;\n version_cli_latest: string;\n board: \"ova\" | \"rpi\";\n}\n\nexport const fetchHassioHostInfo = async (hass: HomeAssistant) => {\n const response = await hass.callApi>(\n \"GET\",\n \"hassio/host/info\"\n );\n return hassioApiResultExtractor(response);\n};\n\nexport const fetchHassioHassOsInfo = async (hass: HomeAssistant) => {\n return hassioApiResultExtractor(\n await hass.callApi>(\n \"GET\",\n \"hassio/hassos/info\"\n )\n );\n};\n","import { HASSDomEvent, ValidHassDomEvent } from \"../common/dom/fire_event\";\nimport { ProvideHassElement } from \"../mixins/provide-hass-lit-mixin\";\n\ndeclare global {\n // for fire event\n interface HASSDomEvents {\n \"show-dialog\": ShowDialogParams;\n \"close-dialog\": undefined;\n }\n // for add event listener\n interface HTMLElementEventMap {\n \"show-dialog\": HASSDomEvent>;\n }\n}\n\ninterface HassDialog extends HTMLElement {\n showDialog(params: T);\n}\n\ninterface ShowDialogParams {\n dialogTag: keyof HTMLElementTagNameMap;\n dialogImport: () => Promise;\n dialogParams: T;\n}\n\nconst LOADED = {};\n\nexport const showDialog = async (\n element: HTMLElement & ProvideHassElement,\n root: ShadowRoot | HTMLElement,\n dialogImport: () => Promise,\n dialogTag: string,\n dialogParams: unknown\n) => {\n if (!(dialogTag in LOADED)) {\n LOADED[dialogTag] = dialogImport().then(() => {\n const dialogEl = document.createElement(dialogTag) as HassDialog;\n element.provideHass(dialogEl);\n root.appendChild(dialogEl);\n return dialogEl;\n });\n }\n const dialogElement = await LOADED[dialogTag];\n dialogElement.showDialog(dialogParams);\n};\n\nexport const makeDialogManager = (\n element: HTMLElement & ProvideHassElement,\n root: ShadowRoot | HTMLElement\n) => {\n element.addEventListener(\n \"show-dialog\",\n async (e: HASSDomEvent>) => {\n const { dialogTag, dialogImport, dialogParams } = e.detail;\n showDialog(element, root, dialogImport, dialogTag, dialogParams);\n }\n );\n};\n","import { UpdatingElement, PropertyValues } from \"lit-element\";\nimport { HomeAssistant, Constructor } from \"../types\";\n\nexport interface ProvideHassElement {\n provideHass(element: HTMLElement);\n}\n\n/* tslint:disable-next-line:variable-name */\nexport const ProvideHassLitMixin = >(\n superClass: T\n) =>\n class extends superClass {\n protected hass!: HomeAssistant;\n /* tslint:disable-next-line:variable-name */\n private __provideHass: HTMLElement[] = [];\n\n public provideHass(el) {\n this.__provideHass.push(el);\n el.hass = this.hass;\n }\n\n protected updated(changedProps: PropertyValues) {\n super.updated(changedProps);\n\n if (changedProps.has(\"hass\")) {\n this.__provideHass.forEach((el) => {\n (el as any).hass = this.hass;\n });\n }\n }\n };\n","import \"@polymer/paper-card/paper-card\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\n\nimport { HomeAssistant } from \"../../../src/types\";\nimport { HassioAddonInfo } from \"../../../src/data/hassio/addon\";\nimport { navigate } from \"../../../src/common/navigate\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\nimport \"../components/hassio-card-content\";\n\n@customElement(\"hassio-addons\")\nclass HassioAddons extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public addons?: HassioAddonInfo[];\n\n protected render(): TemplateResult {\n return html`\n
    \n
    Add-ons
    \n ${!this.addons\n ? html`\n \n
    \n You don't have any add-ons installed yet. Head over to\n the add-on store to\n get started!\n
    \n
    \n `\n : this.addons\n .sort((a, b) => (a.name > b.name ? 1 : -1))\n .map(\n (addon) => html`\n \n
    \n \n
    \n
    \n `\n )}\n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n paper-card {\n cursor: pointer;\n }\n `,\n ];\n }\n\n private _computeIcon(addon: HassioAddonInfo): string {\n return addon.installed !== addon.version\n ? \"hassio:arrow-up-bold-circle\"\n : \"hassio:puzzle\";\n }\n\n private _computeIconTitle(addon: HassioAddonInfo): string {\n if (addon.installed !== addon.version) {\n return \"New version available\";\n }\n return addon.state === \"started\"\n ? \"Add-on is running\"\n : \"Add-on is stopped\";\n }\n\n private _computeIconClass(addon: HassioAddonInfo): string {\n if (addon.installed !== addon.version) {\n return \"update\";\n }\n return addon.state === \"started\" ? \"running\" : \"\";\n }\n\n private _addonTapped(ev: any): void {\n navigate(this, `/hassio/addon/${ev.currentTarget.addon.slug}`);\n }\n\n private _openStore(): void {\n navigate(this, \"/hassio/store\");\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addons\": HassioAddons;\n }\n}\n","import {\n LitElement,\n TemplateResult,\n html,\n CSSResult,\n css,\n property,\n customElement,\n} from \"lit-element\";\nimport \"@polymer/iron-icon/iron-icon\";\n\nimport { HomeAssistant } from \"../../../src/types\";\nimport { HassioHassOSInfo } from \"../../../src/data/hassio/host\";\nimport {\n HassioHomeAssistantInfo,\n HassioSupervisorInfo,\n} from \"../../../src/data/hassio/supervisor\";\n\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\n\nimport \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport \"../../../src/components/buttons/ha-call-api-button\";\nimport \"../components/hassio-card-content\";\n\n@customElement(\"hassio-update\")\nexport class HassioUpdate extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public hassInfo: HassioHomeAssistantInfo;\n @property() public hassOsInfo?: HassioHassOSInfo;\n @property() public supervisorInfo: HassioSupervisorInfo;\n @property() private _error?: string;\n\n protected render(): TemplateResult {\n const updatesAvailable: number = [\n this.hassInfo,\n this.supervisorInfo,\n this.hassOsInfo,\n ].filter((value) => {\n return !!value && value.version !== value.last_version;\n }).length;\n\n if (!updatesAvailable) {\n return html``;\n }\n\n return html`\n
    \n ${this._error\n ? html`\n
    Error: ${this._error}
    \n `\n : \"\"}\n
    \n
    \n ${updatesAvailable > 1\n ? \"Updates Available 🎉\"\n : \"Update Available 🎉\"}\n
    \n ${this._renderUpdateCard(\n \"Home Assistant\",\n this.hassInfo.version,\n this.hassInfo.last_version,\n \"hassio/homeassistant/update\",\n `https://${\n this.hassInfo.last_version.includes(\"b\") ? \"rc\" : \"www\"\n }.home-assistant.io/latest-release-notes/`,\n \"hassio:home-assistant\"\n )}\n ${this._renderUpdateCard(\n \"Hass.io Supervisor\",\n this.supervisorInfo.version,\n this.supervisorInfo.last_version,\n \"hassio/supervisor/update\",\n `https://github.com//home-assistant/hassio/releases/tag/${this.supervisorInfo.last_version}`\n )}\n ${this.hassOsInfo\n ? this._renderUpdateCard(\n \"HassOS\",\n this.hassOsInfo.version,\n this.hassOsInfo.version_latest,\n \"hassio/hassos/update\",\n `https://github.com//home-assistant/hassos/releases/tag/${this.hassOsInfo.version_latest}`\n )\n : \"\"}\n
    \n
    \n `;\n }\n\n private _renderUpdateCard(\n name: string,\n curVersion: string,\n lastVersion: string,\n apiPath: string,\n releaseNotesUrl: string,\n icon?: string\n ): TemplateResult {\n if (lastVersion === curVersion) {\n return html``;\n }\n return html`\n \n
    \n ${icon\n ? html`\n
    \n \n
    \n `\n : \"\"}\n
    ${name} ${lastVersion}
    \n
    \n You are currently running version ${curVersion}\n
    \n
    \n
    \n \n Release notes\n \n \n Update\n \n
    \n
    \n `;\n }\n\n private _apiCalled(ev) {\n if (ev.detail.success) {\n this._error = \"\";\n return;\n }\n\n const response = ev.detail.response;\n\n typeof response.body === \"object\"\n ? (this._error = response.body.message || \"Unknown error\")\n : (this._error = response.body);\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n :host {\n width: 33%;\n }\n paper-card {\n display: inline-block;\n margin-bottom: 32px;\n }\n .icon {\n --iron-icon-height: 48px;\n --iron-icon-width: 48px;\n float: right;\n margin: 0 0 2px 10px;\n }\n .update-heading {\n font-size: var(--paper-font-subhead_-_font-size);\n font-weight: 500;\n margin-bottom: 0.5em;\n }\n .warning {\n color: var(--secondary-text-color);\n }\n .card-actions {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n padding: 16px;\n }\n a {\n text-decoration: none;\n }\n `,\n ];\n }\n}\n","import {\n LitElement,\n TemplateResult,\n html,\n CSSResult,\n css,\n property,\n customElement,\n} from \"lit-element\";\nimport \"./hassio-addons\";\nimport \"./hassio-update\";\nimport { haStyle } from \"../../../src/resources/styles\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport { HassioHassOSInfo } from \"../../../src/data/hassio/host\";\nimport {\n HassioSupervisorInfo,\n HassioHomeAssistantInfo,\n} from \"../../../src/data/hassio/supervisor\";\n\n@customElement(\"hassio-dashboard\")\nclass HassioDashboard extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public supervisorInfo!: HassioSupervisorInfo;\n @property() public hassInfo!: HassioHomeAssistantInfo;\n @property() public hassOsInfo!: HassioHassOSInfo;\n\n protected render(): TemplateResult {\n return html`\n
    \n \n \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n css`\n .content {\n margin: 0 auto;\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-dashboard\": HassioDashboard;\n }\n}\n","import {\n LitElement,\n TemplateResult,\n html,\n CSSResultArray,\n css,\n property,\n PropertyValues,\n customElement,\n} from \"lit-element\";\nimport \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport \"@polymer/paper-checkbox/paper-checkbox\";\nimport \"@polymer/paper-input/paper-input\";\nimport \"@polymer/paper-radio-button/paper-radio-button\";\nimport \"@polymer/paper-radio-group/paper-radio-group\";\n\nimport \"../components/hassio-card-content\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\n\nimport { showHassioSnapshotDialog } from \"../dialogs/snapshot/show-dialog-hassio-snapshot\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport {\n HassioSnapshot,\n fetchHassioSnapshots,\n reloadHassioSnapshots,\n HassioFullSnapshotCreateParams,\n HassioPartialSnapshotCreateParams,\n createHassioFullSnapshot,\n createHassioPartialSnapshot,\n} from \"../../../src/data/hassio/snapshot\";\nimport { HassioSupervisorInfo } from \"../../../src/data/hassio/supervisor\";\nimport { PolymerChangedEvent } from \"../../../src/polymer-types\";\nimport { fireEvent } from \"../../../src/common/dom/fire_event\";\n\n// Not duplicate, used for typing\n// tslint:disable-next-line\nimport { PaperInputElement } from \"@polymer/paper-input/paper-input\";\n// tslint:disable-next-line\nimport { PaperRadioGroupElement } from \"@polymer/paper-radio-group/paper-radio-group\";\n// tslint:disable-next-line\nimport { PaperCheckboxElement } from \"@polymer/paper-checkbox/paper-checkbox\";\n\ninterface CheckboxItem {\n slug: string;\n name: string;\n checked: boolean;\n}\n\n@customElement(\"hassio-snapshots\")\nclass HassioSnapshots extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public supervisorInfo!: HassioSupervisorInfo;\n @property() private _snapshotName = \"\";\n @property() private _snapshotPassword = \"\";\n @property() private _snapshotHasPassword = false;\n @property() private _snapshotType: HassioSnapshot[\"type\"] = \"full\";\n @property() private _snapshots?: HassioSnapshot[] = [];\n @property() private _addonList: CheckboxItem[] = [];\n @property() private _folderList: CheckboxItem[] = [\n {\n slug: \"homeassistant\",\n name: \"Home Assistant configuration\",\n checked: true,\n },\n { slug: \"ssl\", name: \"SSL\", checked: true },\n { slug: \"share\", name: \"Share\", checked: true },\n { slug: \"addons/local\", name: \"Local add-ons\", checked: true },\n ];\n @property() private _creatingSnapshot = false;\n @property() private _error = \"\";\n\n public async refreshData() {\n await reloadHassioSnapshots(this.hass);\n await this._updateSnapshots();\n }\n\n protected render(): TemplateResult {\n return html`\n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and restore all data of your\n Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n ${this._snapshotType === \"full\"\n ? undefined\n : html`\n Folders:\n ${this._folderList.map(\n (folder, idx) => html`\n \n ${folder.name}\n \n `\n )}\n Add-ons:\n ${this._addonList.map(\n (addon, idx) => html`\n \n ${addon.name}\n \n `\n )}\n `}\n Security:\n \n Password protection\n \n ${this._snapshotHasPassword\n ? html`\n \n `\n : undefined}\n ${this._error !== \"\"\n ? html`\n

    ${this._error}

    \n `\n : undefined}\n
    \n
    \n \n Create\n \n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n ${this._snapshots === undefined\n ? undefined\n : this._snapshots.length === 0\n ? html`\n \n
    \n You don't have any snapshots yet.\n
    \n
    \n `\n : this._snapshots.map(\n (snapshot) => html`\n \n
    \n \n
    \n \n `\n )}\n
    \n
    \n `;\n }\n\n protected firstUpdated(changedProps: PropertyValues) {\n super.firstUpdated(changedProps);\n this._updateSnapshots();\n }\n\n protected updated(changedProps: PropertyValues) {\n if (changedProps.has(\"supervisorInfo\")) {\n this._addonList = this.supervisorInfo.addons\n .map((addon) => ({\n slug: addon.slug,\n name: addon.name,\n checked: true,\n }))\n .sort((a, b) => (a.name < b.name ? -1 : 1));\n }\n }\n\n private _handleTextValueChanged(ev: PolymerChangedEvent) {\n const input = ev.currentTarget as PaperInputElement;\n this[`_${input.name}`] = ev.detail.value;\n }\n\n private _handleCheckboxValueChanged(ev) {\n const input = ev.currentTarget as PaperCheckboxElement;\n this[`_${input.name}`] = input.checked;\n }\n\n private _handleRadioValueChanged(ev: PolymerChangedEvent) {\n const input = ev.currentTarget as PaperRadioGroupElement;\n this[`_${input.getAttribute(\"name\")}`] = ev.detail.value;\n }\n\n private _folderChecked(ev) {\n const { idx, checked } = ev.currentTarget!;\n this._folderList = this._folderList.map((folder, curIdx) =>\n curIdx === idx ? { ...folder, checked } : folder\n );\n }\n\n private _addonChecked(ev) {\n const { idx, checked } = ev.currentTarget!;\n this._addonList = this._addonList.map((addon, curIdx) =>\n curIdx === idx ? { ...addon, checked } : addon\n );\n }\n\n private async _updateSnapshots() {\n try {\n this._snapshots = await fetchHassioSnapshots(this.hass);\n this._snapshots.sort((a, b) => (a.date < b.date ? 1 : -1));\n } catch (err) {\n this._error = err.message;\n }\n }\n\n private async _createSnapshot() {\n this._error = \"\";\n if (this._snapshotHasPassword && !this._snapshotPassword.length) {\n this._error = \"Please enter a password.\";\n return;\n }\n this._creatingSnapshot = true;\n await this.updateComplete;\n\n const name =\n this._snapshotName ||\n new Date().toLocaleDateString(navigator.language, {\n weekday: \"long\",\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n });\n\n try {\n if (this._snapshotType === \"full\") {\n const data: HassioFullSnapshotCreateParams = { name };\n if (this._snapshotHasPassword) {\n data.password = this._snapshotPassword;\n }\n await createHassioFullSnapshot(this.hass, data);\n } else {\n const addons = this._addonList\n .filter((addon) => addon.checked)\n .map((addon) => addon.slug);\n const folders = this._folderList\n .filter((folder) => folder.checked)\n .map((folder) => folder.slug);\n\n const data: HassioPartialSnapshotCreateParams = {\n name,\n folders,\n addons,\n };\n if (this._snapshotHasPassword) {\n data.password = this._snapshotPassword;\n }\n await createHassioPartialSnapshot(this.hass, data);\n }\n this._updateSnapshots();\n fireEvent(this, \"hass-api-called\", { success: true, response: null });\n } catch (err) {\n this._error = err.message;\n } finally {\n this._creatingSnapshot = false;\n }\n }\n\n private _computeDetails(snapshot: HassioSnapshot) {\n const type =\n snapshot.type === \"full\" ? \"Full snapshot\" : \"Partial snapshot\";\n return snapshot.protected ? `${type}, password protected` : type;\n }\n\n private _snapshotClicked(ev) {\n showHassioSnapshotDialog(this, {\n slug: ev.currentTarget!.snapshot.slug,\n onDelete: () => this._updateSnapshots(),\n });\n }\n\n static get styles(): CSSResultArray {\n return [\n haStyle,\n hassioStyle,\n css`\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\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-snapshots\": HassioSnapshots;\n }\n}\n","import { fireEvent } from \"../../../../src/common/dom/fire_event\";\n\nexport interface HassioSnapshotDialogParams {\n slug: string;\n onDelete: () => void;\n}\n\nexport const showHassioSnapshotDialog = (\n element: HTMLElement,\n dialogParams: HassioSnapshotDialogParams\n): void => {\n fireEvent(element, \"show-dialog\", {\n dialogTag: \"dialog-hassio-snapshot\",\n dialogImport: () =>\n import(\n /* webpackChunkName: \"dialog-hassio-snapshot\" */ \"./dialog-hassio-snapshot\"\n ),\n dialogParams,\n });\n};\n","import {\n css,\n TemplateResult,\n html,\n LitElement,\n property,\n CSSResultArray,\n} from \"lit-element\";\nimport \"@polymer/paper-card/paper-card\";\nimport memoizeOne from \"memoize-one\";\n\nimport \"../components/hassio-card-content\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport {\n HassioAddonInfo,\n HassioAddonRepository,\n} from \"../../../src/data/hassio/addon\";\nimport { navigate } from \"../../../src/common/navigate\";\nimport { filterAndSort } from \"../components/hassio-filter-addons\";\n\nclass HassioAddonRepositoryEl extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public repo!: HassioAddonRepository;\n @property() public addons!: HassioAddonInfo[];\n @property() public filter!: string;\n\n private _getAddons = memoizeOne(\n (addons: HassioAddonInfo[], filter?: string) => {\n if (filter) {\n return filterAndSort(addons, filter);\n }\n return addons.sort((a, b) =>\n a.name.toUpperCase() < b.name.toUpperCase() ? -1 : 1\n );\n }\n );\n\n protected render(): TemplateResult {\n const repo = this.repo;\n const addons = this._getAddons(this.addons, this.filter);\n\n if (this.filter && addons.length < 1) {\n return html`\n
    \n
    \n
    \n No results found in \"${repo.name}\"\n
    \n
    \n
    \n `;\n }\n return html`\n
    \n
    \n ${repo.name}\n
    \n Maintained by ${repo.maintainer}
    \n ${repo.url}\n
    \n
    \n\n ${addons.map(\n (addon) => html`\n \n
    \n \n
    \n \n `\n )}\n
    \n `;\n }\n\n private computeIcon(addon) {\n return addon.installed && addon.installed !== addon.version\n ? \"hassio:arrow-up-bold-circle\"\n : \"hassio:puzzle\";\n }\n\n private computeIconTitle(addon) {\n if (addon.installed) {\n return addon.installed !== addon.version\n ? \"New version available\"\n : \"Add-on is installed\";\n }\n return addon.available\n ? \"Add-on is not installed\"\n : \"Add-on is not available on your system\";\n }\n\n private computeIconClass(addon) {\n if (addon.installed) {\n return addon.installed !== addon.version ? \"update\" : \"installed\";\n }\n return !addon.available ? \"not_available\" : \"\";\n }\n\n private addonTapped(ev) {\n navigate(this, `/hassio/addon/${ev.currentTarget.addon.slug}`);\n }\n\n static get styles(): CSSResultArray {\n return [\n hassioStyle,\n css`\n paper-card {\n cursor: pointer;\n }\n .not_available {\n opacity: 0.6;\n }\n a.repo {\n color: var(--primary-text-color);\n }\n `,\n ];\n }\n}\n\ncustomElements.define(\"hassio-addon-repository\", HassioAddonRepositoryEl);\n","import { HassioAddonInfo } from \"../../../src/data/hassio/addon\";\nimport * as Fuse from \"fuse.js\";\n\nexport function filterAndSort(addons: HassioAddonInfo[], filter: string) {\n const options: Fuse.FuseOptions = {\n keys: [\"name\", \"description\", \"slug\"],\n caseSensitive: false,\n minMatchCharLength: 2,\n threshold: 0.2,\n };\n const fuse = new Fuse(addons, options);\n return fuse.search(filter);\n}\n","import {\n LitElement,\n html,\n CSSResultArray,\n css,\n property,\n TemplateResult,\n customElement,\n PropertyValues,\n} from \"lit-element\";\nimport \"@polymer/iron-icon/iron-icon\";\nimport \"@polymer/paper-card/paper-card\";\nimport \"@polymer/paper-input/paper-input\";\nimport memoizeOne from \"memoize-one\";\n\nimport \"../../../src/components/buttons/ha-call-api-button\";\nimport \"../components/hassio-card-content\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport { HassioAddonRepository } from \"../../../src/data/hassio/addon\";\nimport { PolymerChangedEvent } from \"../../../src/polymer-types\";\nimport { repeat } from \"lit-html/directives/repeat\";\n\n@customElement(\"hassio-repositories-editor\")\nclass HassioRepositoriesEditor extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public repos!: HassioAddonRepository[];\n @property() private _repoUrl = \"\";\n\n private _sortedRepos = memoizeOne((repos: HassioAddonRepository[]) =>\n repos\n .filter((repo) => repo.slug !== \"core\" && repo.slug !== \"local\")\n .sort((a, b) => (a.name < b.name ? -1 : 1))\n );\n\n protected render(): TemplateResult {\n const repos = this._sortedRepos(this.repos);\n return html`\n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n ${// Use repeat so that the fade-out from call-service-api-button\n // stays with the correct repo after we add/delete one.\n repeat(\n repos,\n (repo) => repo.slug,\n (repo) => html`\n \n
    \n \n
    \n
    \n \n Remove\n \n
    \n
    \n `\n )}\n\n \n
    \n \n \n
    \n
    \n \n Add\n \n
    \n
    \n
    \n `;\n }\n\n protected updated(changedProps: PropertyValues) {\n super.updated(changedProps);\n\n if (changedProps.has(\"repos\")) {\n this._repoUrl = \"\";\n }\n }\n\n private _urlChanged(ev: PolymerChangedEvent) {\n this._repoUrl = ev.detail.value;\n }\n\n private computeRemoveRepoData(repoList, url) {\n const list = repoList\n .filter((repo) => repo.url !== url)\n .map((repo) => repo.source);\n return { addons_repositories: list };\n }\n\n private computeAddRepoData(repoList, url) {\n const list = repoList ? repoList.map((repo) => repo.source) : [];\n list.push(url);\n return { addons_repositories: list };\n }\n\n static get styles(): CSSResultArray {\n return [\n hassioStyle,\n css`\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 margin-top: -4px;\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-repositories-editor\": HassioRepositoriesEditor;\n }\n}\n","import \"@polymer/paper-spinner/paper-spinner-lite\";\nimport {\n LitElement,\n TemplateResult,\n html,\n css,\n customElement,\n CSSResult,\n} from \"lit-element\";\n\n@customElement(\"loading-screen\")\nclass LoadingScreen extends LitElement {\n protected render(): TemplateResult {\n return html`\n \n `;\n }\n\n static get styles(): CSSResult {\n return css`\n :host {\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"loading-screen\": LoadingScreen;\n }\n}\n","import { TemplateResult, html } from \"lit-html\";\nimport {\n css,\n CSSResult,\n customElement,\n LitElement,\n property,\n} from \"lit-element\";\nimport { fireEvent } from \"../../../src/common/dom/fire_event\";\nimport \"@polymer/iron-icon/iron-icon\";\nimport \"@polymer/paper-input/paper-input\";\nimport \"@polymer/paper-icon-button/paper-icon-button\";\nimport \"@material/mwc-button\";\n\n@customElement(\"hassio-search-input\")\nclass HassioSearchInput extends LitElement {\n @property() private filter?: string;\n\n protected render(): TemplateResult {\n return html`\n
    \n \n \n ${this.filter &&\n html`\n \n `}\n \n
    \n `;\n }\n\n private async _filterChanged(value: string) {\n fireEvent(this, \"value-changed\", { value: String(value) });\n }\n\n private async _filterInputChanged(e) {\n this._filterChanged(e.target.value);\n }\n\n private async _clearSearch() {\n this._filterChanged(\"\");\n }\n\n static get styles(): CSSResult {\n return css`\n paper-input {\n flex: 1 1 auto;\n margin: 0 16px;\n }\n .search-container {\n display: inline-flex;\n width: 100%;\n align-items: center;\n }\n .prefix {\n margin: 8px;\n }\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-search-input\": HassioSearchInput;\n }\n}\n","import \"./hassio-addon-repository\";\nimport \"./hassio-repositories-editor\";\nimport { TemplateResult, html } from \"lit-html\";\nimport {\n LitElement,\n CSSResult,\n css,\n property,\n PropertyValues,\n} from \"lit-element\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport {\n HassioAddonRepository,\n HassioAddonInfo,\n fetchHassioAddonsInfo,\n reloadHassioAddons,\n} from \"../../../src/data/hassio/addon\";\nimport \"../../../src/layouts/loading-screen\";\nimport \"../components/hassio-search-input\";\n\nconst sortRepos = (a: HassioAddonRepository, b: HassioAddonRepository) => {\n if (a.slug === \"local\") {\n return -1;\n }\n if (b.slug === \"local\") {\n return 1;\n }\n if (a.slug === \"core\") {\n return -1;\n }\n if (b.slug === \"core\") {\n return 1;\n }\n return a.name.toUpperCase() < b.name.toUpperCase() ? -1 : 1;\n};\n\nclass HassioAddonStore extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() private _addons?: HassioAddonInfo[];\n @property() private _repos?: HassioAddonRepository[];\n @property() private _filter?: string;\n\n public async refreshData() {\n this._repos = undefined;\n this._addons = undefined;\n this._filter = undefined;\n await reloadHassioAddons(this.hass);\n await this._loadData();\n }\n\n protected render(): TemplateResult {\n if (!this._addons || !this._repos) {\n return html`\n \n `;\n }\n const repos: TemplateResult[] = [];\n\n for (const repo of this._repos) {\n const addons = this._addons!.filter(\n (addon) => addon.repository === repo.slug\n );\n\n if (addons.length === 0) {\n continue;\n }\n\n repos.push(html`\n \n `);\n }\n\n return html`\n \n\n \n\n ${repos}\n `;\n }\n\n protected firstUpdated(changedProps: PropertyValues) {\n super.firstUpdated(changedProps);\n this.addEventListener(\"hass-api-called\", (ev) => this.apiCalled(ev));\n this._loadData();\n }\n\n private apiCalled(ev) {\n if (ev.detail.success) {\n this._loadData();\n }\n }\n\n private async _loadData() {\n try {\n const addonsInfo = await fetchHassioAddonsInfo(this.hass);\n this._repos = addonsInfo.repositories;\n this._repos.sort(sortRepos);\n this._addons = addonsInfo.addons;\n } catch (err) {\n alert(\"Failed to fetch add-on info\");\n }\n }\n\n private async _filterChanged(e) {\n this._filter = e.detail.value;\n }\n\n static get styles(): CSSResult {\n return css`\n hassio-addon-repository {\n margin-top: 24px;\n }\n `;\n }\n}\n\ncustomElements.define(\"hassio-addon-store\", HassioAddonStore);\n","import \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\n\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\nimport {\n HassioHostInfo as HassioHostInfoType,\n HassioHassOSInfo,\n} from \"../../../src/data/hassio/host\";\nimport { fetchHassioHardwareInfo } from \"../../../src/data/hassio/hardware\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport { showHassioMarkdownDialog } from \"../dialogs/markdown/show-dialog-hassio-markdown\";\n\nimport \"../../../src/components/buttons/ha-call-api-button\";\n\n@customElement(\"hassio-host-info\")\nclass HassioHostInfo extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public hostInfo!: HassioHostInfoType;\n @property() public hassOsInfo!: HassioHassOSInfo;\n @property() private _errors?: string;\n\n public render(): TemplateResult | void {\n return html`\n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n ${this.hostInfo.deployment\n ? html`\n \n \n \n \n `\n : \"\"}\n \n
    Hostname${this.hostInfo.hostname}
    System${this.hostInfo.operating_system}
    Deployment${this.hostInfo.deployment}
    \n \n Hardware\n \n ${this.hostInfo.features.includes(\"hostname\")\n ? html`\n \n Change hostname\n \n `\n : \"\"}\n ${this._errors\n ? html`\n
    Error: ${this._errors}
    \n `\n : \"\"}\n
    \n
    \n ${this.hostInfo.features.includes(\"reboot\")\n ? html`\n Reboot\n `\n : \"\"}\n ${this.hostInfo.features.includes(\"shutdown\")\n ? html`\n Shutdown\n `\n : \"\"}\n ${this.hostInfo.features.includes(\"hassos\")\n ? html`\n Import from USB\n `\n : \"\"}\n ${this.hostInfo.version !== this.hostInfo.version_latest\n ? html`\n Update\n `\n : \"\"}\n
    \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n color: var(--primary-text-color);\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: auto;\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 mwc-button.info {\n max-width: calc(50% - 12px);\n }\n table.info {\n margin-bottom: 10px;\n }\n .warning {\n --mdc-theme-primary: var(--google-red-500);\n }\n `,\n ];\n }\n\n protected firstUpdated(): void {\n this.addEventListener(\"hass-api-called\", (ev) => this._apiCalled(ev));\n }\n\n private _apiCalled(ev): void {\n if (ev.detail.success) {\n this._errors = undefined;\n return;\n }\n\n const response = ev.detail.response;\n\n this._errors =\n typeof response.body === \"object\"\n ? response.body.message || \"Unknown error\"\n : response.body;\n }\n\n private async _showHardware(): Promise {\n try {\n const content = this._objectToMarkdown(\n await fetchHassioHardwareInfo(this.hass)\n );\n showHassioMarkdownDialog(this, {\n title: \"Hardware\",\n content,\n });\n } catch (err) {\n showHassioMarkdownDialog(this, {\n title: \"Hardware\",\n content: \"Error getting hardware info\",\n });\n }\n }\n\n private _objectToMarkdown(obj, indent = \"\"): string {\n let data = \"\";\n Object.keys(obj).forEach((key) => {\n if (typeof obj[key] !== \"object\") {\n data += `${indent}- ${key}: ${obj[key]}\\n`;\n } else {\n data += `${indent}- ${key}:\\n`;\n if (Array.isArray(obj[key])) {\n if (obj[key].length) {\n data +=\n `${indent} - ` + obj[key].join(`\\n${indent} - `) + \"\\n\";\n }\n } else {\n data += this._objectToMarkdown(obj[key], ` ${indent}`);\n }\n }\n });\n\n return data;\n }\n\n private _changeHostnameClicked(): void {\n const curHostname = this.hostInfo.hostname;\n const hostname = prompt(\"Please enter a new hostname:\", curHostname);\n if (hostname && hostname !== curHostname) {\n this.hass.callApi(\"POST\", \"hassio/host/options\", { hostname });\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-host-info\": HassioHostInfo;\n }\n}\n","import \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\n\nimport { fireEvent } from \"../../../src/common/dom/fire_event\";\nimport {\n HassioSupervisorInfo as HassioSupervisorInfoType,\n setSupervisorOption,\n SupervisorOptions,\n} from \"../../../src/data/hassio/supervisor\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\n\nimport \"../../../src/components/buttons/ha-call-api-button\";\n\n@customElement(\"hassio-supervisor-info\")\nclass HassioSupervisorInfo extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public supervisorInfo!: HassioSupervisorInfoType;\n @property() private _errors?: string;\n\n public render(): TemplateResult | void {\n return html`\n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n ${this.supervisorInfo.channel !== \"stable\"\n ? html`\n \n \n \n \n `\n : \"\"}\n \n
    Version${this.supervisorInfo.version}
    Latest version${this.supervisorInfo.last_version}
    Channel${this.supervisorInfo.channel}
    \n ${this._errors\n ? html`\n
    Error: ${this._errors}
    \n `\n : \"\"}\n
    \n
    \n Reload\n ${this.supervisorInfo.version !== this.supervisorInfo.last_version\n ? html`\n Update\n `\n : \"\"}\n ${this.supervisorInfo.channel === \"beta\"\n ? html`\n Leave beta channel\n `\n : \"\"}\n ${this.supervisorInfo.channel === \"stable\"\n ? html`\n Join beta channel\n `\n : \"\"}\n
    \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n paper-card {\n display: inline-block;\n width: 400px;\n }\n .card-content {\n height: 200px;\n color: var(--primary-text-color);\n }\n @media screen and (max-width: 830px) {\n paper-card {\n width: 100%;\n }\n .card-content {\n height: auto;\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\n protected firstUpdated(): void {\n this.addEventListener(\"hass-api-called\", (ev) => this._apiCalled(ev));\n }\n\n private _apiCalled(ev): void {\n if (ev.detail.success) {\n this._errors = undefined;\n return;\n }\n\n const response = ev.detail.response;\n\n this._errors =\n typeof response.body === \"object\"\n ? response.body.message || \"Unknown error\"\n : response.body;\n }\n\n private async _joinBeta() {\n if (\n !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`)\n ) {\n return;\n }\n try {\n const data: SupervisorOptions = { channel: \"beta\" };\n await setSupervisorOption(this.hass, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._errors = `Error joining beta channel, ${err.body?.message || err}`;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-supervisor-info\": HassioSupervisorInfo;\n }\n}\n","import \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n query,\n} from \"lit-element\";\n\nimport { ANSI_HTML_STYLE, parseTextToColoredPre } from \"../ansi-to-html\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport { fetchSupervisorLogs } from \"../../../src/data/hassio/supervisor\";\n\n@customElement(\"hassio-supervisor-log\")\nclass HassioSupervisorLog extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() private _error?: string;\n @query(\"#content\") private _logContent!: HTMLDivElement;\n\n public async connectedCallback(): Promise {\n super.connectedCallback();\n await this._loadData();\n }\n\n public render(): TemplateResult | void {\n return html`\n \n ${this._error\n ? html`\n
    ${this._error}
    \n `\n : \"\"}\n
    \n
    \n Refresh\n
    \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n ANSI_HTML_STYLE,\n css`\n pre {\n white-space: pre-wrap;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n `,\n ];\n }\n\n private async _loadData(): Promise {\n this._error = undefined;\n try {\n const content = await fetchSupervisorLogs(this.hass);\n while (this._logContent.lastChild) {\n this._logContent.removeChild(this._logContent.lastChild as Node);\n }\n this._logContent.appendChild(parseTextToColoredPre(content));\n } catch (err) {\n this._error = `Failed to get supervisor logs, ${err.body?.message ||\n err}`;\n }\n }\n\n private async _refresh(): Promise {\n await this._loadData();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-supervisor-log\": HassioSupervisorLog;\n }\n}\n","import \"@polymer/paper-menu-button/paper-menu-button\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\n\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\nimport {\n HassioHostInfo,\n HassioHassOSInfo,\n} from \"../../../src/data/hassio/host\";\nimport { HassioSupervisorInfo } from \"../../../src/data/hassio/supervisor\";\nimport { HomeAssistant } from \"../../../src/types\";\n\nimport \"./hassio-host-info\";\nimport \"./hassio-supervisor-info\";\nimport \"./hassio-supervisor-log\";\n\n@customElement(\"hassio-system\")\nclass HassioSystem extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public supervisorInfo!: HassioSupervisorInfo;\n @property() public hostInfo!: HassioHostInfo;\n @property() public hassOsInfo!: HassioHassOSInfo;\n\n public render(): TemplateResult | void {\n return html`\n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n .content {\n margin: 4px;\n color: var(--primary-text-color);\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 }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-system\": HassioSystem;\n }\n}\n","import {\n HassRouterPage,\n RouterOptions,\n} from \"../../src/layouts/hass-router-page\";\nimport { customElement, property } from \"lit-element\";\nimport { PolymerElement } from \"@polymer/polymer\";\nimport { HomeAssistant } from \"../../src/types\";\n// Don't codesplit it, that way the dashboard always loads fast.\nimport \"./dashboard/hassio-dashboard\";\n// Don't codesplit the others, because it breaks the UI when pushed to a Pi\nimport \"./snapshots/hassio-snapshots\";\nimport \"./addon-store/hassio-addon-store\";\nimport \"./system/hassio-system\";\nimport { HassioHostInfo, HassioHassOSInfo } from \"../../src/data/hassio/host\";\nimport {\n HassioSupervisorInfo,\n HassioHomeAssistantInfo,\n} from \"../../src/data/hassio/supervisor\";\n\n@customElement(\"hassio-tabs-router\")\nclass HassioTabsRouter extends HassRouterPage {\n @property() public hass!: HomeAssistant;\n @property() public supervisorInfo: HassioSupervisorInfo;\n @property() public hostInfo: HassioHostInfo;\n @property() public hassInfo: HassioHomeAssistantInfo;\n @property() public hassOsInfo!: HassioHassOSInfo;\n\n protected routerOptions: RouterOptions = {\n routes: {\n dashboard: {\n tag: \"hassio-dashboard\",\n },\n snapshots: {\n tag: \"hassio-snapshots\",\n },\n store: {\n tag: \"hassio-addon-store\",\n },\n system: {\n tag: \"hassio-system\",\n },\n },\n };\n\n protected updatePageEl(el) {\n if (\"setProperties\" in el) {\n // As long as we have Polymer pages\n (el as PolymerElement).setProperties({\n hass: this.hass,\n supervisorInfo: this.supervisorInfo,\n hostInfo: this.hostInfo,\n hassInfo: this.hassInfo,\n hassOsInfo: this.hassOsInfo,\n });\n } else {\n el.hass = this.hass;\n el.supervisorInfo = this.supervisorInfo;\n el.hostInfo = this.hostInfo;\n el.hassInfo = this.hassInfo;\n el.hassOsInfo = this.hassOsInfo;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-tabs-router\": HassioTabsRouter;\n }\n}\n","import {\n LitElement,\n TemplateResult,\n html,\n CSSResultArray,\n css,\n customElement,\n property,\n} from \"lit-element\";\nimport \"@polymer/app-layout/app-header-layout/app-header-layout\";\nimport \"@polymer/app-layout/app-header/app-header\";\nimport \"@polymer/app-layout/app-toolbar/app-toolbar\";\nimport \"@polymer/paper-icon-button/paper-icon-button\";\nimport \"@polymer/paper-tabs/paper-tab\";\nimport \"@polymer/paper-tabs/paper-tabs\";\n\nimport \"../../src/components/ha-menu-button\";\nimport \"../../src/resources/ha-style\";\nimport \"./hassio-tabs-router\";\n\nimport scrollToTarget from \"../../src/common/dom/scroll-to-target\";\n\nimport { haStyle } from \"../../src/resources/styles\";\nimport { HomeAssistant, Route } from \"../../src/types\";\nimport { navigate } from \"../../src/common/navigate\";\nimport { HassioHostInfo, HassioHassOSInfo } from \"../../src/data/hassio/host\";\nimport {\n HassioSupervisorInfo,\n HassioHomeAssistantInfo,\n} from \"../../src/data/hassio/supervisor\";\n\nconst HAS_REFRESH_BUTTON = [\"store\", \"snapshots\"];\n\n@customElement(\"hassio-pages-with-tabs\")\nclass HassioPagesWithTabs extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public narrow!: boolean;\n @property() public route!: Route;\n @property() public supervisorInfo!: HassioSupervisorInfo;\n @property() public hostInfo!: HassioHostInfo;\n @property() public hassInfo!: HassioHomeAssistantInfo;\n @property() public hassOsInfo!: HassioHassOSInfo;\n\n protected render(): TemplateResult {\n const page = this._page;\n return html`\n \n \n \n \n
    Hass.io
    \n ${HAS_REFRESH_BUTTON.includes(page)\n ? html`\n \n `\n : undefined}\n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n
    \n `;\n }\n\n private handlePageSelected(ev) {\n const newPage = ev.detail.item.getAttribute(\"page-name\");\n if (newPage !== this._page) {\n navigate(this, `/hassio/${newPage}`);\n }\n\n scrollToTarget(\n this,\n // @ts-ignore\n this.shadowRoot!.querySelector(\"app-header-layout\").header.scrollTarget\n );\n }\n\n private refreshClicked() {\n if (this._page === \"snapshots\") {\n // @ts-ignore\n this.shadowRoot.querySelector(\"hassio-snapshots\").refreshData();\n } else {\n // @ts-ignore\n this.shadowRoot.querySelector(\"hassio-addon-store\").refreshData();\n }\n }\n\n private get _page() {\n return this.route.path.substr(1);\n }\n\n static get styles(): CSSResultArray {\n return [\n haStyle,\n css`\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 app-header,\n app-toolbar {\n background-color: var(--primary-color);\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-pages-with-tabs\": HassioPagesWithTabs;\n }\n}\n","/**\n * Scroll to a specific y coordinate.\n *\n * Copied from paper-scroll-header-panel.\n *\n * @method scroll\n * @param {number} top The coordinate to scroll to, along the y-axis.\n * @param {boolean} smooth true if the scroll position should be smoothly adjusted.\n */\nexport default function scrollToTarget(element, target) {\n // the scroll event will trigger _updateScrollState directly,\n // However, _updateScrollState relies on the previous `scrollTop` to update the states.\n // Calling _updateScrollState will ensure that the states are synced correctly.\n const top = 0;\n const scroller = target;\n const easingFn = function easeOutQuad(t, b, c, d) {\n /* eslint-disable no-param-reassign, space-infix-ops, no-mixed-operators */\n t /= d;\n return -c * t * (t - 2) + b;\n /* eslint-enable no-param-reassign, space-infix-ops, no-mixed-operators */\n };\n const animationId = Math.random();\n const duration = 200;\n const startTime = Date.now();\n const currentScrollTop = scroller.scrollTop;\n const deltaScrollTop = top - currentScrollTop;\n element._currentAnimationId = animationId;\n (function updateFrame() {\n const now = Date.now();\n const elapsedTime = now - startTime;\n if (elapsedTime > duration) {\n scroller.scrollTop = top;\n } else if (element._currentAnimationId === animationId) {\n scroller.scrollTop = easingFn(\n elapsedTime,\n currentScrollTop,\n deltaScrollTop,\n duration\n );\n requestAnimationFrame(updateFrame.bind(element));\n }\n }.call(element));\n}\n","import { customElement, PropertyValues, property } from \"lit-element\";\nimport { PolymerElement } from \"@polymer/polymer\";\nimport \"@polymer/paper-icon-button\";\n\nimport \"../../src/resources/ha-style\";\nimport { applyThemesOnElement } from \"../../src/common/dom/apply_themes_on_element\";\nimport { fireEvent } from \"../../src/common/dom/fire_event\";\nimport {\n HassRouterPage,\n RouterOptions,\n} from \"../../src/layouts/hass-router-page\";\nimport { HomeAssistant } from \"../../src/types\";\nimport {\n fetchHassioSupervisorInfo,\n fetchHassioHomeAssistantInfo,\n HassioSupervisorInfo,\n HassioHomeAssistantInfo,\n createHassioSession,\n HassioPanelInfo,\n} from \"../../src/data/hassio/supervisor\";\nimport {\n fetchHassioHostInfo,\n fetchHassioHassOsInfo,\n HassioHostInfo,\n HassioHassOSInfo,\n} from \"../../src/data/hassio/host\";\nimport { fetchHassioAddonInfo } from \"../../src/data/hassio/addon\";\nimport { makeDialogManager } from \"../../src/dialogs/make-dialog-manager\";\nimport { ProvideHassLitMixin } from \"../../src/mixins/provide-hass-lit-mixin\";\n// Don't codesplit it, that way the dashboard always loads fast.\nimport \"./hassio-pages-with-tabs\";\nimport { navigate } from \"../../src/common/navigate\";\n\n// The register callback of the IronA11yKeysBehavior inside paper-icon-button\n// is not called, causing _keyBindings to be uninitiliazed for paper-icon-button,\n// causing an exception when added to DOM. When transpiled to ES5, this will\n// break the build.\ncustomElements.get(\"paper-icon-button\").prototype._keyBindings = {};\n\n@customElement(\"hassio-main\")\nclass HassioMain extends ProvideHassLitMixin(HassRouterPage) {\n @property() public hass!: HomeAssistant;\n @property() public panel!: HassioPanelInfo;\n @property() public narrow!: boolean;\n\n protected routerOptions: RouterOptions = {\n // Hass.io has a page with tabs, so we route all non-matching routes to it.\n defaultPage: \"dashboard\",\n initialLoad: () => this._fetchData(),\n showLoading: true,\n routes: {\n dashboard: {\n tag: \"hassio-pages-with-tabs\",\n cache: true,\n },\n snapshots: \"dashboard\",\n store: \"dashboard\",\n system: \"dashboard\",\n addon: {\n tag: \"hassio-addon-view\",\n load: () =>\n import(\n /* webpackChunkName: \"hassio-addon-view\" */ \"./addon-view/hassio-addon-view\"\n ),\n },\n ingress: {\n tag: \"hassio-ingress-view\",\n load: () =>\n import(\n /* webpackChunkName: \"hassio-ingress-view\" */ \"./ingress-view/hassio-ingress-view\"\n ),\n },\n },\n };\n\n @property() private _supervisorInfo: HassioSupervisorInfo;\n @property() private _hostInfo: HassioHostInfo;\n @property() private _hassOsInfo?: HassioHassOSInfo;\n @property() private _hassInfo: HassioHomeAssistantInfo;\n\n protected firstUpdated(changedProps: PropertyValues) {\n super.firstUpdated(changedProps);\n\n applyThemesOnElement(this, this.hass.themes, this.hass.selectedTheme, true);\n this.addEventListener(\"hass-api-called\", (ev) => this._apiCalled(ev));\n // Paulus - March 17, 2019\n // We went to a single hass-toggle-menu event in HA 0.90. However, the\n // supervisor UI can also run under older versions of Home Assistant.\n // So here we are going to translate toggle events into the appropriate\n // open and close events. These events are a no-op in newer versions of\n // Home Assistant.\n this.addEventListener(\"hass-toggle-menu\", () => {\n fireEvent(\n (window.parent as any).customPanel,\n // @ts-ignore\n this.hass.dockedSidebar ? \"hass-close-menu\" : \"hass-open-menu\"\n );\n });\n // Paulus - March 19, 2019\n // We changed the navigate event to fire directly on the window, as that's\n // where we are listening for it. However, the older panel_custom will\n // listen on this element for navigation events, so we need to forward them.\n window.addEventListener(\"location-changed\", (ev) =>\n // @ts-ignore\n fireEvent(this, ev.type, ev.detail, {\n bubbles: false,\n })\n );\n\n makeDialogManager(this, document.body);\n }\n\n protected updatePageEl(el) {\n // the tabs page does its own routing so needs full route.\n const route =\n el.nodeName === \"HASSIO-PAGES-WITH-TABS\" ? this.route : this.routeTail;\n\n if (\"setProperties\" in el) {\n // As long as we have Polymer pages\n (el as PolymerElement).setProperties({\n hass: this.hass,\n narrow: this.narrow,\n supervisorInfo: this._supervisorInfo,\n hostInfo: this._hostInfo,\n hassInfo: this._hassInfo,\n hassOsInfo: this._hassOsInfo,\n route,\n });\n } else {\n el.hass = this.hass;\n el.narrow = this.narrow;\n el.supervisorInfo = this._supervisorInfo;\n el.hostInfo = this._hostInfo;\n el.hassInfo = this._hassInfo;\n el.hassOsInfo = this._hassOsInfo;\n el.route = route;\n }\n }\n\n private async _fetchData() {\n if (this.panel.config && this.panel.config.ingress) {\n await this._redirectIngress(this.panel.config.ingress);\n return;\n }\n\n const [supervisorInfo, hostInfo, hassInfo] = await Promise.all([\n fetchHassioSupervisorInfo(this.hass),\n fetchHassioHostInfo(this.hass),\n fetchHassioHomeAssistantInfo(this.hass),\n ]);\n this._supervisorInfo = supervisorInfo;\n this._hostInfo = hostInfo;\n this._hassInfo = hassInfo;\n\n if (this._hostInfo.features && this._hostInfo.features.includes(\"hassos\")) {\n this._hassOsInfo = await fetchHassioHassOsInfo(this.hass);\n }\n }\n\n private async _redirectIngress(addonSlug: string) {\n try {\n const [addon] = await Promise.all([\n fetchHassioAddonInfo(this.hass, addonSlug).catch(() => {\n throw new Error(\"Failed to fetch add-on info\");\n }),\n createHassioSession(this.hass).catch(() => {\n throw new Error(\"Failed to create an ingress session\");\n }),\n ]);\n if (!addon.ingress_url) {\n alert(\"Add-on does not support Ingress\");\n return;\n }\n if (addon.state !== \"started\") {\n alert(\"Add-on is not running. Please start it first\");\n navigate(this, `/hassio/addon/${addon.slug}`, true);\n return;\n }\n location.assign(addon.ingress_url);\n // await a promise that doesn't resolve, so we show the loading screen\n // while we load the next page.\n await new Promise(() => undefined);\n } catch (err) {\n alert(\"Unable to open ingress connection\");\n }\n }\n\n private _apiCalled(ev) {\n if (!ev.detail.success) {\n return;\n }\n\n let tries = 1;\n\n const tryUpdate = () => {\n this._fetchData().catch(() => {\n tries += 1;\n setTimeout(tryUpdate, Math.min(tries, 5) * 1000);\n });\n };\n\n tryUpdate();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-main\": HassioMain;\n }\n}\n","import { HomeAssistant } from \"../../types\";\nimport { HassioResponse, hassioApiResultExtractor } from \"./common\";\n\nexport interface HassioSnapshot {\n slug: string;\n date: string;\n name: string;\n type: \"full\" | \"partial\";\n protected: boolean;\n}\n\nexport interface HassioSnapshotDetail extends HassioSnapshot {\n size: number;\n homeassistant: string;\n addons: Array<{\n slug: \"ADDON_SLUG\";\n name: \"NAME\";\n version: \"INSTALLED_VERSION\";\n size: \"SIZE_IN_MB\";\n }>;\n repositories: string[];\n folders: string[];\n}\n\nexport interface HassioFullSnapshotCreateParams {\n name: string;\n password?: string;\n}\nexport interface HassioPartialSnapshotCreateParams {\n name: string;\n folders: string[];\n addons: string[];\n password?: string;\n}\n\nexport const fetchHassioSnapshots = async (hass: HomeAssistant) => {\n return hassioApiResultExtractor(\n await hass.callApi>(\n \"GET\",\n \"hassio/snapshots\"\n )\n ).snapshots;\n};\n\nexport const fetchHassioSnapshotInfo = async (\n hass: HomeAssistant,\n snapshot: string\n) => {\n return hassioApiResultExtractor(\n await hass.callApi>(\n \"GET\",\n `hassio/snapshots/${snapshot}/info`\n )\n );\n};\n\nexport const reloadHassioSnapshots = async (hass: HomeAssistant) => {\n await hass.callApi>(\"POST\", `hassio/snapshots/reload`);\n};\n\nexport const createHassioFullSnapshot = async (\n hass: HomeAssistant,\n data: HassioFullSnapshotCreateParams\n) => {\n await hass.callApi>(\n \"POST\",\n `hassio/snapshots/new/full`,\n data\n );\n};\n\nexport const createHassioPartialSnapshot = async (\n hass: HomeAssistant,\n data: HassioFullSnapshotCreateParams\n) => {\n await hass.callApi>(\n \"POST\",\n `hassio/snapshots/new/partial`,\n data\n );\n};\n","import { HomeAssistant } from \"../../types\";\nimport { HassioResponse, hassioApiResultExtractor } from \"./common\";\n\nexport interface HassioHardwareAudioDevice {\n device?: string;\n name: string;\n}\n\ninterface HassioHardwareAudioList {\n audio: { input: any; output: any };\n}\n\nexport interface HassioHardwareInfo {\n serial: string[];\n input: string[];\n disk: string[];\n gpio: string[];\n audio: object;\n}\n\nexport const fetchHassioHardwareAudio = async (hass: HomeAssistant) => {\n return hassioApiResultExtractor(\n await hass.callApi>(\n \"GET\",\n \"hassio/hardware/audio\"\n )\n );\n};\n\nexport const fetchHassioHardwareInfo = async (hass: HomeAssistant) => {\n return hassioApiResultExtractor(\n await hass.callApi>(\n \"GET\",\n \"hassio/hardware/info\"\n )\n );\n};\n","import { fireEvent } from \"../../../../src/common/dom/fire_event\";\n\nexport interface HassioMarkdownDialogParams {\n title: string;\n content: string;\n}\n\nexport const showHassioMarkdownDialog = (\n element: HTMLElement,\n dialogParams: HassioMarkdownDialogParams\n): void => {\n fireEvent(element, \"show-dialog\", {\n dialogTag: \"dialog-hassio-markdown\",\n dialogImport: () =>\n import(\n /* webpackChunkName: \"dialog-hassio-markdown\" */ \"./dialog-hassio-markdown\"\n ),\n dialogParams,\n });\n};\n","import { css } from \"lit-element\";\n\ninterface State {\n bold: boolean;\n italic: boolean;\n underline: boolean;\n strikethrough: boolean;\n foregroundColor: null | string;\n backgroundColor: null | string;\n}\n\nexport const ANSI_HTML_STYLE = css`\n .bold {\n font-weight: bold;\n }\n .italic {\n font-style: italic;\n }\n .underline {\n text-decoration: underline;\n }\n .strikethrough {\n text-decoration: line-through;\n }\n .underline.strikethrough {\n text-decoration: underline line-through;\n }\n .fg-red {\n color: rgb(222, 56, 43);\n }\n .fg-green {\n color: rgb(57, 181, 74);\n }\n .fg-yellow {\n color: rgb(255, 199, 6);\n }\n .fg-blue {\n color: rgb(0, 111, 184);\n }\n .fg-magenta {\n color: rgb(118, 38, 113);\n }\n .fg-cyan {\n color: rgb(44, 181, 233);\n }\n .fg-white {\n color: rgb(204, 204, 204);\n }\n .bg-black {\n background-color: rgb(0, 0, 0);\n }\n .bg-red {\n background-color: rgb(222, 56, 43);\n }\n .bg-green {\n background-color: rgb(57, 181, 74);\n }\n .bg-yellow {\n background-color: rgb(255, 199, 6);\n }\n .bg-blue {\n background-color: rgb(0, 111, 184);\n }\n .bg-magenta {\n background-color: rgb(118, 38, 113);\n }\n .bg-cyan {\n background-color: rgb(44, 181, 233);\n }\n .bg-white {\n background-color: rgb(204, 204, 204);\n }\n`;\n\nexport function parseTextToColoredPre(text) {\n const pre = document.createElement(\"pre\");\n const re = /\\033(?:\\[(.*?)[@-~]|\\].*?(?:\\007|\\033\\\\))/g;\n let i = 0;\n\n const state: State = {\n bold: false,\n italic: false,\n underline: false,\n strikethrough: false,\n foregroundColor: null,\n backgroundColor: null,\n };\n\n const addSpan = (content) => {\n const span = document.createElement(\"span\");\n if (state.bold) {\n span.classList.add(\"bold\");\n }\n if (state.italic) {\n span.classList.add(\"italic\");\n }\n if (state.underline) {\n span.classList.add(\"underline\");\n }\n if (state.strikethrough) {\n span.classList.add(\"strikethrough\");\n }\n if (state.foregroundColor !== null) {\n span.classList.add(`fg-${state.foregroundColor}`);\n }\n if (state.backgroundColor !== null) {\n span.classList.add(`bg-${state.backgroundColor}`);\n }\n span.appendChild(document.createTextNode(content));\n pre.appendChild(span);\n };\n\n /* eslint-disable no-cond-assign */\n let match;\n // tslint:disable-next-line\n while ((match = re.exec(text)) !== null) {\n const j = match!.index;\n addSpan(text.substring(i, j));\n i = j + match[0].length;\n\n if (match[1] === undefined) {\n continue;\n }\n\n match[1].split(\";\").forEach((colorCode: string) => {\n switch (parseInt(colorCode, 10)) {\n case 0:\n // reset\n state.bold = false;\n state.italic = false;\n state.underline = false;\n state.strikethrough = false;\n state.foregroundColor = null;\n state.backgroundColor = null;\n break;\n case 1:\n state.bold = true;\n break;\n case 3:\n state.italic = true;\n break;\n case 4:\n state.underline = true;\n break;\n case 9:\n state.strikethrough = true;\n break;\n case 22:\n state.bold = false;\n break;\n case 23:\n state.italic = false;\n break;\n case 24:\n state.underline = false;\n break;\n case 29:\n state.strikethrough = false;\n break;\n case 30:\n // foreground black\n state.foregroundColor = null;\n break;\n case 31:\n state.foregroundColor = \"red\";\n break;\n case 32:\n state.foregroundColor = \"green\";\n break;\n case 33:\n state.foregroundColor = \"yellow\";\n break;\n case 34:\n state.foregroundColor = \"blue\";\n break;\n case 35:\n state.foregroundColor = \"magenta\";\n break;\n case 36:\n state.foregroundColor = \"cyan\";\n break;\n case 37:\n state.foregroundColor = \"white\";\n break;\n case 39:\n // foreground reset\n state.foregroundColor = null;\n break;\n case 40:\n state.backgroundColor = \"black\";\n break;\n case 41:\n state.backgroundColor = \"red\";\n break;\n case 42:\n state.backgroundColor = \"green\";\n break;\n case 43:\n state.backgroundColor = \"yellow\";\n break;\n case 44:\n state.backgroundColor = \"blue\";\n break;\n case 45:\n state.backgroundColor = \"magenta\";\n break;\n case 46:\n state.backgroundColor = \"cyan\";\n break;\n case 47:\n state.backgroundColor = \"white\";\n break;\n case 49:\n // background reset\n state.backgroundColor = null;\n break;\n }\n });\n }\n addSpan(text.substring(i));\n\n return pre;\n}\n","import { css } from \"lit-element\";\n\nconst documentContainer = document.createElement(\"template\");\ndocumentContainer.setAttribute(\"style\", \"display: none;\");\n\nexport const hassioStyle = css`\n .card-group {\n margin-top: 24px;\n }\n .card-group .title {\n color: var(--primary-text-color);\n font-size: 2em;\n padding-left: 8px;\n margin-bottom: 8px;\n }\n .card-group .description {\n font-size: 0.5em;\n font-weight: 500;\n margin-top: 4px;\n }\n .card-group paper-card {\n --card-group-columns: 4;\n width: calc(\n (100% - 12px * var(--card-group-columns)) / var(--card-group-columns)\n );\n margin: 4px;\n vertical-align: top;\n }\n @media screen and (max-width: 1200px) and (min-width: 901px) {\n .card-group paper-card {\n --card-group-columns: 3;\n }\n }\n @media screen and (max-width: 900px) and (min-width: 601px) {\n .card-group paper-card {\n --card-group-columns: 2;\n }\n }\n @media screen and (max-width: 600px) and (min-width: 0) {\n .card-group paper-card {\n width: 100%;\n margin: 4px 0;\n }\n .content {\n padding: 0;\n }\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .error {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n`;\n\ndocumentContainer.innerHTML = `\n \n`;\n\ndocument.head.appendChild(documentContainer.content);\n","// Polymer legacy event helpers used courtesy of the Polymer project.\n//\n// Copyright (c) 2017 The Polymer Authors. All rights reserved.\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are\n// met:\n//\n// * Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// * Redistributions in binary form must reproduce the above\n// copyright notice, this list of conditions and the following disclaimer\n// in the documentation and/or other materials provided with the\n// distribution.\n// * Neither the name of Google Inc. nor the names of its\n// contributors may be used to endorse or promote products derived from\n// this software without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n// \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\ndeclare global {\n // tslint:disable-next-line\n interface HASSDomEvents {}\n}\n\nexport type ValidHassDomEvent = keyof HASSDomEvents;\n\nexport interface HASSDomEvent extends Event {\n detail: T;\n}\n\n/**\n * Dispatches a custom event with an optional detail value.\n *\n * @param {string} type Name of event type.\n * @param {*=} detail Detail value containing event-specific\n * payload.\n * @param {{ bubbles: (boolean|undefined),\n * cancelable: (boolean|undefined),\n * composed: (boolean|undefined) }=}\n * options Object specifying options. These may include:\n * `bubbles` (boolean, defaults to `true`),\n * `cancelable` (boolean, defaults to false), and\n * `node` on which to fire the event (HTMLElement, defaults to `this`).\n * @return {Event} The new event that was fired.\n */\nexport const fireEvent = (\n node: HTMLElement | Window,\n type: HassEvent,\n detail?: HASSDomEvents[HassEvent],\n options?: {\n bubbles?: boolean;\n cancelable?: boolean;\n composed?: boolean;\n }\n) => {\n options = options || {};\n // @ts-ignore\n detail = detail === null || detail === undefined ? {} : detail;\n const event = new Event(type, {\n bubbles: options.bubbles === undefined ? true : options.bubbles,\n cancelable: Boolean(options.cancelable),\n composed: options.composed === undefined ? true : options.composed,\n });\n (event as any).detail = detail;\n node.dispatchEvent(event);\n return event;\n};\n","import { HomeAssistant } from \"../../types\";\nimport { HassioResponse, hassioApiResultExtractor } from \"./common\";\n\nexport interface HassioAddonInfo {\n name: string;\n slug: string;\n description: string;\n repository: \"core\" | \"local\" | string;\n version: string;\n state: \"none\" | \"started\" | \"stopped\";\n installed: string | undefined;\n detached: boolean;\n available: boolean;\n build: boolean;\n url: string | null;\n icon: boolean;\n logo: boolean;\n}\n\nexport interface HassioAddonDetails extends HassioAddonInfo {\n name: string;\n slug: string;\n description: string;\n long_description: null | string;\n auto_update: boolean;\n url: null | string;\n detached: boolean;\n available: boolean;\n arch: \"armhf\" | \"aarch64\" | \"i386\" | \"amd64\";\n machine: any;\n homeassistant: string;\n last_version: string;\n boot: \"auto\" | \"manual\";\n build: boolean;\n options: object;\n network: null | object;\n network_description: null | object;\n host_network: boolean;\n host_pid: boolean;\n host_ipc: boolean;\n host_dbus: boolean;\n privileged: any;\n apparmor: \"disable\" | \"default\" | \"profile\";\n devices: string[];\n auto_uart: boolean;\n icon: boolean;\n logo: boolean;\n changelog: boolean;\n hassio_api: boolean;\n hassio_role: \"default\" | \"homeassistant\" | \"manager\" | \"admin\";\n homeassistant_api: boolean;\n auth_api: boolean;\n full_access: boolean;\n protected: boolean;\n rating: \"1-6\";\n stdin: boolean;\n webui: null | string;\n gpio: boolean;\n kernel_modules: boolean;\n devicetree: boolean;\n docker_api: boolean;\n audio: boolean;\n audio_input: null | string;\n audio_output: null | string;\n services_role: string[];\n discovery: string[];\n ip_address: string;\n ingress: boolean;\n ingress_panel: boolean;\n ingress_entry: null | string;\n ingress_url: null | string;\n}\n\nexport interface HassioAddonsInfo {\n addons: HassioAddonInfo[];\n repositories: HassioAddonRepository[];\n}\n\nexport interface HassioAddonSetSecurityParams {\n protected?: boolean;\n}\n\nexport interface HassioAddonRepository {\n slug: string;\n name: string;\n source: string;\n url: string;\n maintainer: string;\n}\n\nexport interface HassioAddonSetOptionParams {\n audio_input?: string | null;\n audio_output?: string | null;\n options?: object | null;\n boot?: \"auto\" | \"manual\";\n auto_update?: boolean;\n ingress_panel?: boolean;\n network?: object | null;\n}\n\nexport const reloadHassioAddons = async (hass: HomeAssistant) => {\n await hass.callApi>(\"POST\", `hassio/addons/reload`);\n};\n\nexport const fetchHassioAddonsInfo = async (hass: HomeAssistant) => {\n return hassioApiResultExtractor(\n await hass.callApi>(\"GET\", `hassio/addons`)\n );\n};\n\nexport const fetchHassioAddonInfo = async (\n hass: HomeAssistant,\n slug: string\n) => {\n return hassioApiResultExtractor(\n await hass.callApi>(\n \"GET\",\n `hassio/addons/${slug}/info`\n )\n );\n};\n\nexport const fetchHassioAddonChangelog = async (\n hass: HomeAssistant,\n slug: string\n) => {\n return hass.callApi(\"GET\", `hassio/addons/${slug}/changelog`);\n};\n\nexport const fetchHassioAddonLogs = async (\n hass: HomeAssistant,\n slug: string\n) => {\n return hass.callApi(\"GET\", `hassio/addons/${slug}/logs`);\n};\n\nexport const setHassioAddonOption = async (\n hass: HomeAssistant,\n slug: string,\n data: HassioAddonSetOptionParams\n) => {\n await hass.callApi>(\n \"POST\",\n `hassio/addons/${slug}/options`,\n data\n );\n};\n\nexport const setHassioAddonSecurity = async (\n hass: HomeAssistant,\n slug: string,\n data: HassioAddonSetSecurityParams\n) => {\n await hass.callApi>(\n \"POST\",\n `hassio/addons/${slug}/security`,\n data\n );\n};\n\nexport const installHassioAddon = async (hass: HomeAssistant, slug: string) => {\n return hass.callApi>(\n \"POST\",\n `hassio/addons/${slug}/install`\n );\n};\n\nexport const uninstallHassioAddon = async (\n hass: HomeAssistant,\n slug: string\n) => {\n await hass.callApi>(\n \"POST\",\n `hassio/addons/${slug}/uninstall`\n );\n};\n","import { fireEvent } from \"./dom/fire_event\";\n\ndeclare global {\n // for fire event\n interface HASSDomEvents {\n \"location-changed\": {\n replace: boolean;\n };\n }\n}\n\nexport const navigate = (\n _node: any,\n path: string,\n replace: boolean = false\n) => {\n if (__DEMO__) {\n if (replace) {\n history.replaceState(null, \"\", `${location.pathname}#${path}`);\n } else {\n window.location.hash = path;\n }\n } else {\n if (replace) {\n history.replaceState(null, \"\", path);\n } else {\n history.pushState(null, \"\", path);\n }\n }\n fireEvent(window, \"location-changed\", {\n replace,\n });\n};\n","import { LocalizeFunc } from \"../translations/localize\";\n\n/**\n * Calculate a string representing a date object as relative time from now.\n *\n * Example output: 5 minutes ago, in 3 days.\n */\nconst tests = [60, 60, 24, 7];\nconst langKey = [\"second\", \"minute\", \"hour\", \"day\"];\n\nexport default function relativeTime(\n dateObj: Date,\n localize: LocalizeFunc,\n options: {\n compareTime?: Date;\n includeTense?: boolean;\n } = {}\n): string {\n const compareTime = options.compareTime || new Date();\n let delta = (compareTime.getTime() - dateObj.getTime()) / 1000;\n const tense = delta >= 0 ? \"past\" : \"future\";\n delta = Math.abs(delta);\n\n let timeDesc;\n\n for (let i = 0; i < tests.length; i++) {\n if (delta < tests[i]) {\n delta = Math.floor(delta);\n timeDesc = localize(\n `ui.components.relative_time.duration.${langKey[i]}`,\n \"count\",\n delta\n );\n break;\n }\n\n delta /= tests[i];\n }\n\n if (timeDesc === undefined) {\n delta = Math.floor(delta);\n timeDesc = localize(\n \"ui.components.relative_time.duration.week\",\n \"count\",\n delta\n );\n }\n\n return options.includeTense === false\n ? timeDesc\n : localize(`ui.components.relative_time.${tense}`, \"time\", timeDesc);\n}\n","import { dedupingMixin } from \"@polymer/polymer/lib/utils/mixin\";\n/**\n * Polymer Mixin to enable a localize function powered by language/resources from hass object.\n *\n * @polymerMixin\n */\nexport default dedupingMixin(\n (superClass) =>\n class extends superClass {\n static get properties() {\n return {\n hass: Object,\n\n /**\n * Translates a string to the current `language`. Any parameters to the\n * string should be passed in order, as follows:\n * `localize(stringKey, param1Name, param1Value, param2Name, param2Value)`\n */\n localize: {\n type: Function,\n computed: \"__computeLocalize(hass.localize)\",\n },\n };\n }\n\n __computeLocalize(localize) {\n return localize;\n }\n }\n);\n","import { dom } from \"@polymer/polymer/lib/legacy/polymer.dom\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\n\nimport relativeTime from \"../common/datetime/relative_time\";\n\nimport LocalizeMixin from \"../mixins/localize-mixin\";\n\n/*\n * @appliesMixin LocalizeMixin\n */\nclass HaRelativeTime extends LocalizeMixin(PolymerElement) {\n static get properties() {\n return {\n hass: Object,\n datetime: {\n type: String,\n observer: \"datetimeChanged\",\n },\n\n datetimeObj: {\n type: Object,\n observer: \"datetimeObjChanged\",\n },\n\n parsedDateTime: Object,\n };\n }\n\n constructor() {\n super();\n this.updateRelative = this.updateRelative.bind(this);\n }\n\n connectedCallback() {\n super.connectedCallback();\n // update every 60 seconds\n this.updateInterval = setInterval(this.updateRelative, 60000);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n clearInterval(this.updateInterval);\n }\n\n datetimeChanged(newVal) {\n this.parsedDateTime = newVal ? new Date(newVal) : null;\n\n this.updateRelative();\n }\n\n datetimeObjChanged(newVal) {\n this.parsedDateTime = newVal;\n\n this.updateRelative();\n }\n\n updateRelative() {\n const root = dom(this);\n if (!this.parsedDateTime) {\n root.innerHTML = this.localize(\"ui.components.relative_time.never\");\n } else {\n root.innerHTML = relativeTime(this.parsedDateTime, this.localize);\n }\n }\n}\n\ncustomElements.define(\"ha-relative-time\", HaRelativeTime);\n","import {\n LitElement,\n TemplateResult,\n html,\n CSSResult,\n css,\n property,\n customElement,\n} from \"lit-element\";\nimport \"@polymer/iron-icon/iron-icon\";\n\nimport \"../../../src/components/ha-relative-time\";\nimport { HomeAssistant } from \"../../../src/types\";\n\n@customElement(\"hassio-card-content\")\nclass HassioCardContent extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public title!: string;\n @property() public description?: string;\n @property({ type: Boolean }) public available?: boolean;\n @property() public datetime?: string;\n @property() public iconTitle?: string;\n @property() public iconClass?: string;\n @property() public icon = \"hass:help-circle\";\n\n protected render(): TemplateResult {\n return html`\n \n
    \n
    ${this.title}
    \n
    \n ${this.description}\n ${/* treat as available when undefined */\n this.available === false ? \" (Not available)\" : \"\"}\n ${this.datetime\n ? html`\n \n `\n : undefined}\n
    \n
    \n `;\n }\n\n static get styles(): CSSResult {\n return css`\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 iron-icon.not_available {\n color: var(--google-red-500);\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\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-card-content\": HassioCardContent;\n }\n}\n","export interface HassioResponse {\n data: T;\n result: \"ok\";\n}\n\nexport const hassioApiResultExtractor = (response: HassioResponse) =>\n response.data;\n","import \"@material/mwc-button\";\nimport \"@polymer/paper-spinner/paper-spinner\";\nimport { html } from \"@polymer/polymer/lib/utils/html-tag\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\n\nclass HaProgressButton extends PolymerElement {\n static get template() {\n return html`\n \n
    \n \n \n \n \n
    \n `;\n }\n\n static get properties() {\n return {\n hass: {\n type: Object,\n },\n\n progress: {\n type: Boolean,\n value: false,\n },\n\n disabled: {\n type: Boolean,\n value: false,\n },\n };\n }\n\n tempClass(className) {\n var classList = this.$.container.classList;\n classList.add(className);\n setTimeout(() => {\n classList.remove(className);\n }, 1000);\n }\n\n ready() {\n super.ready();\n this.addEventListener(\"click\", (ev) => this.buttonTapped(ev));\n }\n\n buttonTapped(ev) {\n if (this.progress) ev.stopPropagation();\n }\n\n actionSuccess() {\n this.tempClass(\"success\");\n }\n\n actionError() {\n this.tempClass(\"error\");\n }\n\n computeDisabled(disabled, progress) {\n return disabled || progress;\n }\n}\n\ncustomElements.define(\"ha-progress-button\", HaProgressButton);\n","import { LitElement, html } from \"lit-element\";\n\nimport \"./ha-progress-button\";\nimport { fireEvent } from \"../../common/dom/fire_event\";\n\nclass HaCallApiButton extends LitElement {\n render() {\n return html`\n \n `;\n }\n\n constructor() {\n super();\n this.method = \"POST\";\n this.data = {};\n this.disabled = false;\n this.progress = false;\n }\n\n static get properties() {\n return {\n hass: {},\n progress: Boolean,\n path: String,\n method: String,\n data: {},\n disabled: Boolean,\n };\n }\n\n get progressButton() {\n return this.renderRoot.querySelector(\"ha-progress-button\");\n }\n\n async _buttonTapped() {\n this.progress = true;\n const eventData = {\n method: this.method,\n path: this.path,\n data: this.data,\n };\n\n try {\n const resp = await this.hass.callApi(this.method, this.path, this.data);\n this.progress = false;\n this.progressButton.actionSuccess();\n eventData.success = true;\n eventData.response = resp;\n } catch (err) {\n this.progress = false;\n this.progressButton.actionError();\n eventData.success = false;\n eventData.response = err;\n }\n\n fireEvent(this, \"hass-api-called\", eventData);\n }\n}\n\ncustomElements.define(\"ha-call-api-button\", HaCallApiButton);\n","import { HomeAssistant, PanelInfo } from \"../../types\";\nimport { HassioResponse, hassioApiResultExtractor } from \"./common\";\n\nexport type HassioHomeAssistantInfo = any;\nexport type HassioSupervisorInfo = any;\n\nexport type HassioPanelInfo = PanelInfo<\n | undefined\n | {\n ingress?: string;\n }\n>;\n\nexport interface CreateSessionResponse {\n session: string;\n}\n\nexport interface SupervisorOptions {\n channel: \"beta\" | \"dev\" | \"stable\";\n}\n\nexport const fetchHassioHomeAssistantInfo = async (hass: HomeAssistant) => {\n return hassioApiResultExtractor(\n await hass.callApi>(\n \"GET\",\n \"hassio/homeassistant/info\"\n )\n );\n};\n\nexport const fetchHassioSupervisorInfo = async (hass: HomeAssistant) => {\n return hassioApiResultExtractor(\n await hass.callApi>(\n \"GET\",\n \"hassio/supervisor/info\"\n )\n );\n};\n\nexport const fetchSupervisorLogs = async (hass: HomeAssistant) => {\n return hass.callApi(\"GET\", \"hassio/supervisor/logs\");\n};\n\nexport const createHassioSession = async (hass: HomeAssistant) => {\n const response = await hass.callApi>(\n \"POST\",\n \"hassio/ingress/session\"\n );\n document.cookie = `ingress_session=${response.data.session};path=/api/hassio_ingress/`;\n};\n\nexport const setSupervisorOption = async (\n hass: HomeAssistant,\n data: SupervisorOptions\n) => {\n await hass.callApi>(\n \"POST\",\n \"hassio/supervisor/options\",\n data\n );\n};\n","import {\n createCollection,\n Connection,\n HassEntity,\n} from \"home-assistant-js-websocket\";\n\nexport interface PersitentNotificationEntity extends HassEntity {\n notification_id?: string;\n created_at?: string;\n title?: string;\n message?: string;\n}\n\nexport interface PersistentNotification {\n created_at: string;\n message: string;\n notification_id: string;\n title: string;\n status: \"read\" | \"unread\";\n}\n\nconst fetchNotifications = (conn) =>\n conn.sendMessagePromise({\n type: \"persistent_notification/get\",\n });\n\nconst subscribeUpdates = (conn, store) =>\n conn.subscribeEvents(\n () => fetchNotifications(conn).then((ntf) => store.setState(ntf, true)),\n \"persistent_notifications_updated\"\n );\n\nexport const subscribeNotifications = (\n conn: Connection,\n onChange: (notifications: PersistentNotification[]) => void\n) =>\n createCollection(\n \"_ntf\",\n fetchNotifications,\n subscribeUpdates,\n conn,\n onChange\n );\n","import \"@polymer/paper-icon-button/paper-icon-button\";\nimport {\n property,\n TemplateResult,\n LitElement,\n html,\n customElement,\n CSSResult,\n css,\n} from \"lit-element\";\n\nimport { fireEvent } from \"../common/dom/fire_event\";\nimport { HomeAssistant } from \"../types\";\nimport { UnsubscribeFunc } from \"home-assistant-js-websocket\";\nimport { subscribeNotifications } from \"../data/persistent_notification\";\nimport { computeDomain } from \"../common/entity/compute_domain\";\n\n@customElement(\"ha-menu-button\")\nclass HaMenuButton extends LitElement {\n @property({ type: Boolean }) public hassio = false;\n @property() public narrow!: boolean;\n @property() public hass!: HomeAssistant;\n @property() private _hasNotifications = false;\n private _alwaysVisible = false;\n private _attachNotifOnConnect = false;\n private _unsubNotifications?: UnsubscribeFunc;\n\n public connectedCallback() {\n super.connectedCallback();\n if (this._attachNotifOnConnect) {\n this._attachNotifOnConnect = false;\n this._subscribeNotifications();\n }\n }\n\n public disconnectedCallback() {\n super.disconnectedCallback();\n if (this._unsubNotifications) {\n this._attachNotifOnConnect = true;\n this._unsubNotifications();\n this._unsubNotifications = undefined;\n }\n }\n\n protected render(): TemplateResult {\n const hasNotifications =\n (this.narrow || this.hass.dockedSidebar === \"always_hidden\") &&\n (this._hasNotifications ||\n Object.keys(this.hass.states).some(\n (entityId) => computeDomain(entityId) === \"configurator\"\n ));\n return html`\n \n ${hasNotifications\n ? html`\n
    \n `\n : \"\"}\n `;\n }\n\n protected firstUpdated(changedProps) {\n super.firstUpdated(changedProps);\n if (!this.hassio) {\n return;\n }\n // This component is used on Hass.io too, but Hass.io might run the UI\n // on older frontends too, that don't have an always visible menu button\n // in the sidebar.\n this._alwaysVisible =\n (Number((window.parent as any).frontendVersion) || 0) < 20190710;\n }\n\n protected updated(changedProps) {\n super.updated(changedProps);\n\n if (!changedProps.has(\"narrow\") && !changedProps.has(\"hass\")) {\n return;\n }\n\n const oldHass = changedProps.get(\"hass\") as HomeAssistant | undefined;\n const oldNarrow =\n changedProps.get(\"narrow\") ||\n (oldHass && oldHass.dockedSidebar === \"always_hidden\");\n const newNarrow =\n this.narrow || this.hass.dockedSidebar === \"always_hidden\";\n\n if (oldNarrow === newNarrow) {\n return;\n }\n\n this.style.visibility =\n newNarrow || this._alwaysVisible ? \"initial\" : \"hidden\";\n\n if (!newNarrow) {\n this._hasNotifications = false;\n if (this._unsubNotifications) {\n this._unsubNotifications();\n this._unsubNotifications = undefined;\n }\n return;\n }\n\n this._subscribeNotifications();\n }\n\n private _subscribeNotifications() {\n this._unsubNotifications = subscribeNotifications(\n this.hass.connection,\n (notifications) => {\n this._hasNotifications = notifications.length > 0;\n }\n );\n }\n\n private _toggleMenu(): void {\n fireEvent(this, \"hass-toggle-menu\");\n }\n\n static get styles(): CSSResult {\n return css`\n :host {\n position: relative;\n }\n .dot {\n pointer-events: none;\n position: absolute;\n background-color: var(--accent-color);\n width: 12px;\n height: 12px;\n top: 5px;\n right: 2px;\n border-radius: 50%;\n border: 2px solid var(--primary-color);\n }\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-menu-button\": HaMenuButton;\n }\n}\n","export const computeDomain = (entityId: string): string => {\n return entityId.substr(0, entityId.indexOf(\".\"));\n};\n","import { css } from \"lit-element\";\n\nexport const haStyle = css`\n :host {\n @apply --paper-font-body1;\n }\n\n app-header-layout,\n ha-app-layout {\n background-color: var(--primary-background-color);\n }\n\n app-header,\n app-toolbar {\n background-color: var(--app-header-background-color);\n font-weight: 400;\n color: var(--app-header-text-color, white);\n }\n\n app-toolbar ha-menu-button + [main-title],\n app-toolbar ha-paper-icon-button-arrow-prev + [main-title],\n app-toolbar paper-icon-button + [main-title] {\n margin-left: 24px;\n }\n\n h1 {\n @apply --paper-font-title;\n }\n\n button.link {\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n text-align: left;\n text-decoration: underline;\n cursor: pointer;\n }\n\n .card-actions a {\n text-decoration: none;\n }\n\n .card-actions .warning {\n --mdc-theme-primary: var(--google-red-500);\n }\n`;\n\nexport const haStyleDialog = css`\n /* prevent clipping of positioned elements */\n paper-dialog-scrollable {\n --paper-dialog-scrollable: {\n -webkit-overflow-scrolling: auto;\n }\n }\n\n /* force smooth scrolling for iOS 10 */\n paper-dialog-scrollable.can-scroll {\n --paper-dialog-scrollable: {\n -webkit-overflow-scrolling: touch;\n }\n }\n\n .paper-dialog-buttons {\n align-items: flex-end;\n padding: 8px;\n }\n\n .paper-dialog-buttons .warning {\n --mdc-theme-primary: var(--google-red-500);\n }\n\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog,\n ha-paper-dialog {\n margin: 0;\n width: 100% !important;\n max-height: calc(100% - 64px);\n\n position: fixed !important;\n bottom: 0px;\n left: 0px;\n right: 0px;\n overflow: scroll;\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n }\n }\n`;\n","import {\n LitElement,\n property,\n TemplateResult,\n html,\n customElement,\n css,\n CSSResult,\n} from \"lit-element\";\nimport \"../components/ha-menu-button\";\nimport \"../components/ha-paper-icon-button-arrow-prev\";\nimport { classMap } from \"lit-html/directives/class-map\";\n\n@customElement(\"hass-subpage\")\nclass HassSubpage extends LitElement {\n @property()\n public header?: string;\n @property({ type: Boolean })\n public showBackButton = true;\n @property({ type: Boolean })\n public hassio = false;\n\n protected render(): TemplateResult {\n return html`\n
    \n \n\n
    ${this.header}
    \n \n
    \n
    \n `;\n }\n\n private _backTapped(): void {\n history.back();\n }\n\n static get styles(): CSSResult {\n return css`\n :host {\n display: block;\n height: 100%;\n background-color: var(--primary-background-color);\n }\n\n .toolbar {\n display: flex;\n align-items: center;\n font-size: 20px;\n height: 64px;\n padding: 0 16px;\n pointer-events: none;\n background-color: var(--app-header-background-color);\n font-weight: 400;\n color: var(--app-header-text-color, white);\n }\n\n ha-menu-button,\n ha-paper-icon-button-arrow-prev,\n ::slotted([slot=\"toolbar-icon\"]) {\n pointer-events: auto;\n }\n\n ha-paper-icon-button-arrow-prev.hidden {\n visibility: hidden;\n }\n\n [main-title] {\n margin: 0 0 0 24px;\n line-height: 20px;\n flex-grow: 1;\n }\n\n .content {\n position: relative;\n width: 100%;\n height: calc(100% - 64px);\n overflow-y: auto;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n }\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hass-subpage\": HassSubpage;\n }\n}\n","import \"@polymer/paper-icon-button/paper-icon-button\";\nimport { Constructor } from \"../types\";\n// Not duplicate, this is for typing.\n// tslint:disable-next-line\nimport { PaperIconButtonElement } from \"@polymer/paper-icon-button/paper-icon-button\";\n\nconst paperIconButtonClass = customElements.get(\n \"paper-icon-button\"\n) as Constructor;\n\nexport class HaPaperIconButtonArrowPrev extends paperIconButtonClass {\n public hassio?: boolean;\n\n public connectedCallback() {\n super.connectedCallback();\n\n // wait to check for direction since otherwise direction is wrong even though top level is RTL\n setTimeout(() => {\n this.icon =\n window.getComputedStyle(this).direction === \"ltr\"\n ? this.hassio\n ? \"hassio:arrow-left\"\n : \"hass:arrow-left\"\n : this.hassio\n ? \"hassio:arrow-right\"\n : \"hass:arrow-right\";\n }, 100);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-paper-icon-button-arrow-prev\": HaPaperIconButtonArrowPrev;\n }\n}\n\ncustomElements.define(\n \"ha-paper-icon-button-arrow-prev\",\n HaPaperIconButtonArrowPrev\n);\n","import \"@polymer/app-layout/app-toolbar/app-toolbar\";\nimport \"@polymer/paper-spinner/paper-spinner-lite\";\nimport {\n LitElement,\n TemplateResult,\n html,\n CSSResultArray,\n css,\n customElement,\n property,\n} from \"lit-element\";\nimport \"../components/ha-menu-button\";\nimport \"../components/ha-paper-icon-button-arrow-prev\";\nimport { haStyle } from \"../resources/styles\";\nimport { HomeAssistant } from \"../types\";\n\n@customElement(\"hass-loading-screen\")\nclass HassLoadingScreen extends LitElement {\n @property({ type: Boolean }) public rootnav? = false;\n @property() public hass?: HomeAssistant;\n @property() public narrow?: boolean;\n\n protected render(): TemplateResult {\n return html`\n \n ${this.rootnav\n ? html`\n \n `\n : html`\n \n `}\n \n
    \n \n
    \n `;\n }\n\n private _handleBack() {\n history.back();\n }\n\n static get styles(): CSSResultArray {\n return [\n haStyle,\n css`\n .content {\n height: calc(100% - 64px);\n display: flex;\n align-items: center;\n justify-content: center;\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hass-loading-screen\": HassLoadingScreen;\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.af7784dbf07df8e24819.js b/hassio/api/panel/chunk.af7784dbf07df8e24819.js deleted file mode 100644 index 2bd7e2dab..000000000 --- a/hassio/api/panel/chunk.af7784dbf07df8e24819.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see chunk.af7784dbf07df8e24819.js.LICENSE */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{123:function(e,t,n){"use strict";n.r(t);n(41),n(70),n(19);var r=n(4),o=n(9),i=(n(69),n(26),n(74),n(7));function a(e){return(a="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})(e)}function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n ']);return s=function(){return e},e}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){var t,n=y(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var r={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(r.decorators=e.decorators),"field"===e.kind&&(r.initializer=e.value),r}function u(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function f(e){return e.decorators&&e.decorators.length}function h(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function m(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function y(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==a(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}!function(e,t,n,r){var o=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(r){t.forEach(function(t){var o=t.placement;if(t.kind===r&&("static"===o||"prototype"===o)){var i="static"===o?e:n;this.defineClassElement(i,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var r=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===r?void 0:r.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],r=[],o={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,o)},this),e.forEach(function(e){if(!f(e))return n.push(e);var t=this.decorateElement(e,o);n.push(t.element),n.push.apply(n,t.extras),r.push.apply(r,t.finishers)},this),!t)return{elements:n,finishers:r};var i=this.decorateConstructor(n,t);return r.push.apply(r,i.finishers),i.finishers=r,i},addElementPlacement:function(e,t,n){var r=t[e.placement];if(!n&&-1!==r.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");r.push(e.key)},decorateElement:function(e,t){for(var n=[],r=[],o=e.decorators,i=o.length-1;i>=0;i--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,o[i])(s)||s);e=l.element,this.addElementPlacement(e,t),l.finisher&&r.push(l.finisher);var c=l.extras;if(c){for(var p=0;p=0;r--){var o=this.fromClassDescriptor(e),i=this.toClassDescriptor((0,t[r])(o)||o);if(void 0!==i.finisher&&n.push(i.finisher),void 0!==i.elements){e=i.elements;for(var a=0;a=0?t:null}:null}),e._resize();for(var t=document.createTreeWalker(e,1,null,!1);t.nextNode();){var n=t.currentNode;"A"===n.tagName&&n.host!==document.location.host?n.target="_blank":"IMG"===n.tagName&&n.addEventListener("load",e._resize)}}else 2===e._scriptLoaded&&(e.innerText=e.content)}))}}])&&a(i.prototype,f),h&&a(i,h),t}();customElements.define("ha-markdown",f)},70:function(e,t,n){"use strict";n(3),n(10),n(11);var r=n(44),o=n(5),i=n(4);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    \n']);return a=function(){return e},e}Object(o.a)({_template:Object(i.a)(a()),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(r.b)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})},74:function(e,t,n){"use strict";n(3),n(10),n(11),n(30),n(40);var r=document.createElement("template");r.setAttribute("style","display: none;"),r.innerHTML='\n \n',document.head.appendChild(r.content);var o=n(80),i=n(44),a=n(5),s=n(4);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return l=function(){return e},e}Object(a.a)({_template:Object(s.a)(l()),is:"paper-dialog",behaviors:[i.a,o.a],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 c=n(60),p=n(6),d=n(68),u={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?d.a._sortByTabIndex(t):t},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!d.a._isVisible(e))return!1;var n,r=e,o=d.a._normalizedTabIndex(r),i=o>0;o>=0&&t.push(r),n="content"===r.localName||"slot"===r.localName?Object(p.a)(r).getDistributedNodes():Object(p.a)(r.shadowRoot||r.root||r).children;for(var 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 C6}q+n diff --git a/hassio/api/panel/chunk.af7784dbf07df8e24819.js.map b/hassio/api/panel/chunk.af7784dbf07df8e24819.js.map deleted file mode 100644 index 895c93851..000000000 --- a/hassio/api/panel/chunk.af7784dbf07df8e24819.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/dialogs/markdown/dialog-hassio-markdown.ts","webpack:///../node_modules/@polymer/paper-dialog-behavior/paper-dialog-behavior.js","webpack:///../src/components/ha-markdown.js","webpack:///../node_modules/@polymer/paper-dialog-scrollable/paper-dialog-scrollable.js","webpack:///../node_modules/@polymer/paper-dialog-behavior/paper-dialog-shared-styles.js","webpack:///../node_modules/@polymer/paper-dialog/paper-dialog.js","webpack:///../src/components/dialog/ha-iron-focusables-helper.js","webpack:///../src/components/dialog/ha-paper-dialog.ts"],"names":["customElement","html","_templateObject","title","String","content","params","this","setProperties","$","dialog","open","PolymerElement","__webpack_require__","d","__webpack_exports__","PaperDialogBehaviorImpl","PaperDialogBehavior","_polymer_iron_overlay_behavior_iron_overlay_behavior_js__WEBPACK_IMPORTED_MODULE_1__","_polymer_polymer_lib_legacy_polymer_dom_js__WEBPACK_IMPORTED_MODULE_2__","hostAttributes","role","tabindex","properties","modal","type","Boolean","value","__readied","observers","listeners","tap","ready","__prevNoCancelOnOutsideClick","noCancelOnOutsideClick","__prevNoCancelOnEscKey","noCancelOnEscKey","__prevWithBackdrop","withBackdrop","_modalChanged","readied","_updateClosingReasonConfirmed","confirmed","closingReason","_onDialogClick","event","path","dom","i","l","indexOf","target","hasAttribute","close","stopPropagation","IronOverlayBehavior","loaded","svgWhiteList","HaMarkdown","EventsMixin","observer","allowSvg","_this","_get","_getPrototypeOf","prototype","call","_scriptLoaded","_renderScheduled","_resize","fire","Promise","all","e","then","bind","_ref","marked","filterXSS","_render","_this2","resolve","innerHTML","gfm","tables","breaks","onIgnoreTag","tag","walker","document","createTreeWalker","nextNode","node","currentNode","tagName","host","location","addEventListener","innerText","customElements","define","Polymer","_template","is","dialogElement","Object","scrollTarget","scrollable","_ensureTarget","classList","add","attached","requestAnimationFrame","updateScrollState","toggleClass","scrollTop","offsetHeight","scrollHeight","parentElement","behaviors","sizingTarget","remove","$_documentContainer","createElement","setAttribute","head","appendChild","NeonAnimationRunnerBehavior","neon-animation-finish","_renderOpened","cancelAnimation","playAnimation","_renderClosed","_onNeonAnimationFinish","opened","_finishRenderOpened","_finishRenderClosed","HaIronFocusablesHelper","getTabbableNodes","result","_collectTabbableNodes","IronFocusablesHelper","_sortByTabIndex","nodeType","Node","ELEMENT_NODE","_isVisible","children","element","tabIndex","_normalizedTabIndex","needsSort","push","localName","getDistributedNodes","shadowRoot","root","length","paperDialogClass","get","haTabFixBehaviorImpl","_focusableNodes","HaPaperDialog","_mixinBehaviors","_classCallCheck","_possibleConstructorReturn","apply","arguments","_inherits","mixinBehaviors"],"mappings":"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","file":"chunk.af7784dbf07df8e24819.js","sourcesContent":["import \"@polymer/app-layout/app-toolbar/app-toolbar\";\nimport \"@polymer/paper-dialog-scrollable/paper-dialog-scrollable\";\nimport \"@polymer/paper-icon-button/paper-icon-button\";\nimport { html } from \"@polymer/polymer/lib/utils/html-tag\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\n\nimport \"../../../../src/components/ha-markdown\";\nimport \"../../../../src/resources/ha-style\";\nimport \"../../../../src/components/dialog/ha-paper-dialog\";\nimport { customElement } from \"lit-element\";\nimport { PaperDialogElement } from \"@polymer/paper-dialog\";\n\n@customElement(\"dialog-hassio-markdown\")\nclass HassioMarkdownDialog extends PolymerElement {\n static get template() {\n return html`\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n `;\n }\n\n static get properties() {\n return {\n title: String,\n content: String,\n };\n }\n\n public showDialog(params) {\n this.setProperties(params);\n (this.$.dialog as PaperDialogElement).open();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dialog-hassio-markdown\": HassioMarkdownDialog;\n }\n}\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {IronOverlayBehavior} from '@polymer/iron-overlay-behavior/iron-overlay-behavior.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n Use `Polymer.PaperDialogBehavior` and `paper-dialog-shared-styles.html` to\n implement a Material Design dialog.\n\n For example, if `` implements this behavior:\n\n \n

    Header

    \n
    Dialog body
    \n
    \n Cancel\n Accept\n
    \n
    \n\n `paper-dialog-shared-styles.html` provide styles for a header, content area,\n and an action area for buttons. Use the `

    ` tag for the header and the\n `buttons` class for the action area. You can use the `paper-dialog-scrollable`\n element (in its own repository) if you need a scrolling content area.\n\n Use the `dialog-dismiss` and `dialog-confirm` attributes on interactive\n controls to close the dialog. If the user dismisses the dialog with\n `dialog-confirm`, the `closingReason` will update to include `confirmed:\n true`.\n\n ### Accessibility\n\n This element has `role=\"dialog\"` by default. Depending on the context, it may\n be more appropriate to override this attribute with `role=\"alertdialog\"`.\n\n If `modal` is set, the element will prevent the focus from exiting the\n element. It will also ensure that focus remains in the dialog.\n\n @hero hero.svg\n @demo demo/index.html\n @polymerBehavior PaperDialogBehavior\n */\nexport const PaperDialogBehaviorImpl = {\n\n hostAttributes: {'role': 'dialog', 'tabindex': '-1'},\n\n properties: {\n\n /**\n * If `modal` is true, this implies `no-cancel-on-outside-click`,\n * `no-cancel-on-esc-key` and `with-backdrop`.\n */\n modal: {type: Boolean, value: false},\n\n __readied: {type: Boolean, value: false}\n\n },\n\n observers: ['_modalChanged(modal, __readied)'],\n\n listeners: {'tap': '_onDialogClick'},\n\n /**\n * @return {void}\n */\n ready: function() {\n // Only now these properties can be read.\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.__readied = true;\n },\n\n _modalChanged: function(modal, readied) {\n // modal implies noCancelOnOutsideClick, noCancelOnEscKey and withBackdrop.\n // We need to wait for the element to be ready before we can read the\n // properties values.\n if (!readied) {\n return;\n }\n\n if (modal) {\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.noCancelOnOutsideClick = true;\n this.noCancelOnEscKey = true;\n this.withBackdrop = true;\n } else {\n // If the value was changed to false, let it false.\n this.noCancelOnOutsideClick =\n this.noCancelOnOutsideClick && this.__prevNoCancelOnOutsideClick;\n this.noCancelOnEscKey =\n this.noCancelOnEscKey && this.__prevNoCancelOnEscKey;\n this.withBackdrop = this.withBackdrop && this.__prevWithBackdrop;\n }\n },\n\n _updateClosingReasonConfirmed: function(confirmed) {\n this.closingReason = this.closingReason || {};\n this.closingReason.confirmed = confirmed;\n },\n\n /**\n * Will dismiss the dialog if user clicked on an element with dialog-dismiss\n * or dialog-confirm attribute.\n */\n _onDialogClick: function(event) {\n // Search for the element with dialog-confirm or dialog-dismiss,\n // from the root target until this (excluded).\n var path = dom(event).path;\n for (var i = 0, l = path.indexOf(this); i < l; i++) {\n var target = path[i];\n if (target.hasAttribute &&\n (target.hasAttribute('dialog-dismiss') ||\n target.hasAttribute('dialog-confirm'))) {\n this._updateClosingReasonConfirmed(\n target.hasAttribute('dialog-confirm'));\n this.close();\n event.stopPropagation();\n break;\n }\n }\n }\n\n};\n\n/** @polymerBehavior */\nexport const PaperDialogBehavior =\n [IronOverlayBehavior, PaperDialogBehaviorImpl];\n","import { PolymerElement } from \"@polymer/polymer/polymer-element\";\nimport { EventsMixin } from \"../mixins/events-mixin\";\n\nlet loaded = null;\n\n/**\n * White list allowed svg tag.\n * Only put in the tag used in QR code, can be extend in future.\n */\nconst svgWhiteList = [\"svg\", \"path\"];\n\n/*\n * @appliesMixin EventsMixin\n */\nclass HaMarkdown extends EventsMixin(PolymerElement) {\n static get properties() {\n return {\n content: {\n type: String,\n observer: \"_render\",\n },\n allowSvg: {\n type: Boolean,\n value: false,\n },\n };\n }\n\n connectedCallback() {\n super.connectedCallback();\n // 0 = not loaded, 1 = success, 2 = error\n this._scriptLoaded = 0;\n this._renderScheduled = false;\n this._resize = () => this.fire(\"iron-resize\");\n\n if (!loaded) {\n loaded = import(/* webpackChunkName: \"load_markdown\" */ \"../resources/load_markdown\");\n }\n loaded\n .then(\n ({ marked, filterXSS }) => {\n this.marked = marked;\n this.filterXSS = filterXSS;\n this._scriptLoaded = 1;\n },\n () => {\n this._scriptLoaded = 2;\n }\n )\n .then(() => this._render());\n }\n\n _render() {\n if (this._scriptLoaded === 0 || this._renderScheduled) return;\n\n this._renderScheduled = true;\n\n // debounce it to next microtask.\n Promise.resolve().then(() => {\n this._renderScheduled = false;\n\n if (this._scriptLoaded === 1) {\n this.innerHTML = this.filterXSS(\n this.marked(this.content, {\n gfm: true,\n tables: true,\n breaks: true,\n }),\n {\n onIgnoreTag: this.allowSvg\n ? (tag, html) => (svgWhiteList.indexOf(tag) >= 0 ? html : null)\n : null,\n }\n );\n this._resize();\n\n const walker = document.createTreeWalker(\n this,\n 1 /* SHOW_ELEMENT */,\n null,\n false\n );\n\n while (walker.nextNode()) {\n const node = walker.currentNode;\n\n // Open external links in a new window\n if (node.tagName === \"A\" && node.host !== document.location.host) {\n node.target = \"_blank\";\n\n // Fire a resize event when images loaded to notify content resized\n } else if (node.tagName === \"IMG\") {\n node.addEventListener(\"load\", this._resize);\n }\n }\n } else if (this._scriptLoaded === 2) {\n this.innerText = this.content;\n }\n });\n }\n}\n\ncustomElements.define(\"ha-markdown\", HaMarkdown);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/default-theme.js';\n\nimport {PaperDialogBehaviorImpl} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`paper-dialog-scrollable` implements a scrolling area used in a Material Design\ndialog. It shows a divider at the top and/or bottom indicating more content,\ndepending on scroll position. Use this together with elements implementing\n`Polymer.PaperDialogBehavior`.\n\n \n

    Header

    \n \n Lorem ipsum...\n \n
    \n OK\n
    \n
    \n\nIt shows a top divider after scrolling if it is not the first child in its\nparent container, indicating there is more content above. It shows a bottom\ndivider if it is scrollable and it is not the last child in its parent\ncontainer, indicating there is more content below. The bottom divider is hidden\nif it is scrolled to the bottom.\n\nIf `paper-dialog-scrollable` is not a direct child of the element implementing\n`Polymer.PaperDialogBehavior`, remember to set the `dialogElement`:\n\n \n

    Header

    \n
    \n

    Sub-header

    \n \n Lorem ipsum...\n \n
    \n
    \n OK\n
    \n
    \n\n \n\n### Styling\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-scrollable` | Mixin for the scrollable content | {}\n\n@group Paper Elements\n@element paper-dialog-scrollable\n@demo demo/index.html\n@hero hero.svg\n*/\nPolymer({\n _template: html`\n \n\n
    \n \n
    \n`,\n\n is: 'paper-dialog-scrollable',\n\n properties: {\n\n /**\n * The dialog element that implements `Polymer.PaperDialogBehavior`\n * containing this element.\n * @type {?Node}\n */\n dialogElement: {type: Object}\n\n },\n\n /**\n * Returns the scrolling element.\n */\n get scrollTarget() {\n return this.$.scrollable;\n },\n\n ready: function() {\n this._ensureTarget();\n this.classList.add('no-padding');\n },\n\n attached: function() {\n this._ensureTarget();\n requestAnimationFrame(this.updateScrollState.bind(this));\n },\n\n updateScrollState: function() {\n this.toggleClass('is-scrolled', this.scrollTarget.scrollTop > 0);\n this.toggleClass(\n 'can-scroll',\n this.scrollTarget.offsetHeight < this.scrollTarget.scrollHeight);\n this.toggleClass(\n 'scrolled-to-bottom',\n this.scrollTarget.scrollTop + this.scrollTarget.offsetHeight >=\n this.scrollTarget.scrollHeight);\n },\n\n _ensureTarget: function() {\n // Read parentElement instead of parentNode in order to skip shadowRoots.\n this.dialogElement = this.dialogElement || this.parentElement;\n // Check if dialog implements paper-dialog-behavior. If not, fit\n // scrollTarget to host.\n if (this.dialogElement && this.dialogElement.behaviors &&\n this.dialogElement.behaviors.indexOf(PaperDialogBehaviorImpl) >= 0) {\n this.dialogElement.sizingTarget = this.scrollTarget;\n this.scrollTarget.classList.remove('fit');\n } else if (this.dialogElement) {\n this.scrollTarget.classList.add('fit');\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\n### Styling\n\nThe following custom properties and mixins are available for styling.\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-background-color` | Dialog background color | `--primary-background-color`\n`--paper-dialog-color` | Dialog foreground color | `--primary-text-color`\n`--paper-dialog` | Mixin applied to the dialog | `{}`\n`--paper-dialog-title` | Mixin applied to the title (`

    `) element | `{}`\n`--paper-dialog-button-color` | Button area foreground color | `--default-primary-color`\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport '@polymer/paper-styles/typography.js';\nimport '@polymer/paper-styles/shadow.js';\nconst $_documentContainer = document.createElement('template');\n$_documentContainer.setAttribute('style', 'display: none;');\n\n$_documentContainer.innerHTML = `\n \n`;\n\ndocument.head.appendChild($_documentContainer.content);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/paper-dialog-behavior/paper-dialog-shared-styles.js';\n\nimport {NeonAnimationRunnerBehavior} from '@polymer/neon-animation/neon-animation-runner-behavior.js';\nimport {PaperDialogBehavior} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`` is a dialog with Material Design styling and optional\nanimations when it is opened or closed. It provides styles for a header, content\narea, and an action area for buttons. You can use the\n`` element (in its own repository) if you need a\nscrolling content area. To autofocus a specific child element after opening the\ndialog, give it the `autofocus` attribute. See `Polymer.PaperDialogBehavior` and\n`Polymer.IronOverlayBehavior` for specifics.\n\nFor example, the following code implements a dialog with a header, scrolling\ncontent area and buttons. Focus will be given to the `dialog-confirm` button\nwhen the dialog is opened.\n\n \n

    Header

    \n \n Lorem ipsum...\n \n
    \n Cancel\n Accept\n
    \n
    \n\n### Styling\n\nSee the docs for `Polymer.PaperDialogBehavior` for the custom properties\navailable for styling this element.\n\n### Animations\n\nSet the `entry-animation` and/or `exit-animation` attributes to add an animation\nwhen the dialog is opened or closed. See the documentation in\n[PolymerElements/neon-animation](https://github.com/PolymerElements/neon-animation)\nfor more info.\n\nFor example:\n\n \n\n \n

    Header

    \n
    Dialog body
    \n
    \n\n### Accessibility\n\nSee the docs for `Polymer.PaperDialogBehavior` for accessibility features\nimplemented by this element.\n\n@group Paper Elements\n@element paper-dialog\n@hero hero.svg\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n \n`,\n\n is: 'paper-dialog',\n behaviors: [PaperDialogBehavior, NeonAnimationRunnerBehavior],\n listeners: {'neon-animation-finish': '_onNeonAnimationFinish'},\n\n _renderOpened: function() {\n this.cancelAnimation();\n this.playAnimation('entry');\n },\n\n _renderClosed: function() {\n this.cancelAnimation();\n this.playAnimation('exit');\n },\n\n _onNeonAnimationFinish: function() {\n if (this.opened) {\n this._finishRenderOpened();\n } else {\n this._finishRenderClosed();\n }\n }\n});\n","/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\n Fixes issue with not using shadow dom properly in iron-overlay-behavior/icon-focusables-helper.js\n*/\nimport { dom } from \"@polymer/polymer/lib/legacy/polymer.dom.js\";\n\nimport { IronFocusablesHelper } from \"@polymer/iron-overlay-behavior/iron-focusables-helper.js\";\n\nexport const HaIronFocusablesHelper = {\n /**\n * Returns a sorted array of tabbable nodes, including the root node.\n * It searches the tabbable nodes in the light and shadow dom of the chidren,\n * sorting the result by tabindex.\n * @param {!Node} node\n * @return {!Array}\n */\n getTabbableNodes: function(node) {\n var result = [];\n // If there is at least one element with tabindex > 0, we need to sort\n // the final array by tabindex.\n var needsSortByTabIndex = this._collectTabbableNodes(node, result);\n if (needsSortByTabIndex) {\n return IronFocusablesHelper._sortByTabIndex(result);\n }\n return result;\n },\n\n /**\n * Searches for nodes that are tabbable and adds them to the `result` array.\n * Returns if the `result` array needs to be sorted by tabindex.\n * @param {!Node} node The starting point for the search; added to `result`\n * if tabbable.\n * @param {!Array} result\n * @return {boolean}\n * @private\n */\n _collectTabbableNodes: function(node, result) {\n // If not an element or not visible, no need to explore children.\n if (\n node.nodeType !== Node.ELEMENT_NODE ||\n !IronFocusablesHelper._isVisible(node)\n ) {\n return false;\n }\n var element = /** @type {!HTMLElement} */ (node);\n var tabIndex = IronFocusablesHelper._normalizedTabIndex(element);\n var needsSort = tabIndex > 0;\n if (tabIndex >= 0) {\n result.push(element);\n }\n\n // In ShadowDOM v1, tab order is affected by the order of distrubution.\n // E.g. getTabbableNodes(#root) in ShadowDOM v1 should return [#A, #B];\n // in ShadowDOM v0 tab order is not affected by the distrubution order,\n // in fact getTabbableNodes(#root) returns [#B, #A].\n //
    \n // \n // \n // \n // \n // \n // \n //
    \n // TODO(valdrin) support ShadowDOM v1 when upgrading to Polymer v2.0.\n var children;\n if (element.localName === \"content\" || element.localName === \"slot\") {\n children = dom(element).getDistributedNodes();\n } else {\n // /////////////////////////\n // Use shadow root if possible, will check for distributed nodes.\n // THIS IS THE CHANGED LINE\n children = dom(element.shadowRoot || element.root || element).children;\n // /////////////////////////\n }\n for (var i = 0; i < children.length; i++) {\n // Ensure method is always invoked to collect tabbable children.\n needsSort = this._collectTabbableNodes(children[i], result) || needsSort;\n }\n return needsSort;\n },\n};\n","import \"@polymer/paper-dialog/paper-dialog\";\nimport { mixinBehaviors } from \"@polymer/polymer/lib/legacy/class\";\nimport { HaIronFocusablesHelper } from \"./ha-iron-focusables-helper.js\";\n// tslint:disable-next-line\nimport { PaperDialogElement } from \"@polymer/paper-dialog/paper-dialog\";\n\nconst paperDialogClass = customElements.get(\"paper-dialog\");\n\n// behavior that will override existing iron-overlay-behavior and call the fixed implementation\nconst haTabFixBehaviorImpl = {\n get _focusableNodes() {\n return HaIronFocusablesHelper.getTabbableNodes(this);\n },\n};\n\n// paper-dialog that uses the haTabFixBehaviorImpl behvaior\n// export class HaPaperDialog extends paperDialogClass {}\n// @ts-ignore\nexport class HaPaperDialog\n extends mixinBehaviors([haTabFixBehaviorImpl], paperDialogClass)\n implements PaperDialogElement {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-paper-dialog\": HaPaperDialog;\n }\n}\ncustomElements.define(\"ha-paper-dialog\", HaPaperDialog);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.b15efbd4fb2c8cac0ad4.js b/hassio/api/panel/chunk.b15efbd4fb2c8cac0ad4.js deleted file mode 100644 index 9fc7938a5..000000000 --- a/hassio/api/panel/chunk.b15efbd4fb2c8cac0ad4.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see chunk.b15efbd4fb2c8cac0ad4.js.LICENSE */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{135:function(e,t,n){"use strict";n.r(t);n(41),n(14),n(97),n(70),n(19),n(34);var o=n(4),r=n(9),i=("".concat(location.protocol,"//").concat(location.host),n(26),n(74),n(7)),a=n(43);function s(e){return(s="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})(e)}function l(e,t,n,o,r,i,a){try{var s=e[i](a),l=s.value}catch(c){return void n(c)}s.done?t(l):Promise.resolve(l).then(o,r)}function c(e){return function(){var t=this,n=arguments;return new Promise(function(o,r){var i=e.apply(t,n);function a(e){l(i,o,r,a,s,"next",e)}function s(e){l(i,o,r,a,s,"throw",e)}a(void 0)})}}function d(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\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 Restore selected\n \n
    \n \n ']);return d=function(){return e},e}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){var t,n=v(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var o={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(o.decorators=e.decorators),"field"===e.kind&&(o.initializer=e.value),o}function m(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function y(e){return e.decorators&&e.decorators.length}function g(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function b(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function v(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==s(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}!function(e,t,n,o){var r=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(o){t.forEach(function(t){var r=t.placement;if(t.kind===o&&("static"===r||"prototype"===r)){var i="static"===r?e:n;this.defineClassElement(i,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var o=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===o?void 0:o.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],o=[],r={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,r)},this),e.forEach(function(e){if(!y(e))return n.push(e);var t=this.decorateElement(e,r);n.push(t.element),n.push.apply(n,t.extras),o.push.apply(o,t.finishers)},this),!t)return{elements:n,finishers:o};var i=this.decorateConstructor(n,t);return o.push.apply(o,i.finishers),i.finishers=o,i},addElementPlacement:function(e,t,n){var o=t[e.placement];if(!n&&-1!==o.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");o.push(e.key)},decorateElement:function(e,t){for(var n=[],o=[],r=e.decorators,i=r.length-1;i>=0;i--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,r[i])(s)||s);e=l.element,this.addElementPlacement(e,t),l.finisher&&o.push(l.finisher);var c=l.extras;if(c){for(var d=0;d=0;o--){var r=this.fromClassDescriptor(e),i=this.toClassDescriptor((0,t[o])(r)||r);if(void 0!==i.finisher&&n.push(i.finisher),void 0!==i.elements){e=i.elements;for(var a=0;a\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']);return a=function(){return e},e}Object(r.a)({_template:Object(i.a)(a()),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(o.b)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})},74:function(e,t,n){"use strict";n(3),n(10),n(11),n(30),n(40);var o=document.createElement("template");o.setAttribute("style","display: none;"),o.innerHTML='\n \n',document.head.appendChild(o.content);var r=n(80),i=n(44),a=n(5),s=n(4);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return l=function(){return e},e}Object(a.a)({_template:Object(s.a)(l()),is:"paper-dialog",behaviors:[i.a,r.a],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 c=n(60),d=n(6),p=n(68),u={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?p.a._sortByTabIndex(t):t},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!p.a._isVisible(e))return!1;var n,o=e,r=p.a._normalizedTabIndex(o),i=r>0;r>=0&&t.push(o),n="content"===o.localName||"slot"===o.localName?Object(d.a)(o).getDistributedNodes():Object(d.a)(o.shadowRoot||o.root||o).children;for(var a=0;aub_Jwt>x76JPJWedD$WX~5dZk{?M9 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 diff --git a/hassio/api/panel/chunk.b15efbd4fb2c8cac0ad4.js.map b/hassio/api/panel/chunk.b15efbd4fb2c8cac0ad4.js.map deleted file mode 100644 index b998a920c..000000000 --- a/hassio/api/panel/chunk.b15efbd4fb2c8cac0ad4.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///../src/data/auth.ts","webpack:///./src/dialogs/snapshot/dialog-hassio-snapshot.ts","webpack:///../node_modules/@polymer/paper-dialog-behavior/paper-dialog-behavior.js","webpack:///../node_modules/@polymer/paper-dialog-scrollable/paper-dialog-scrollable.js","webpack:///../node_modules/@polymer/paper-dialog-behavior/paper-dialog-shared-styles.js","webpack:///../node_modules/@polymer/paper-dialog/paper-dialog.js","webpack:///../src/components/dialog/ha-iron-focusables-helper.js","webpack:///../src/components/dialog/ha-paper-dialog.ts"],"names":["concat","location","protocol","host","customElement","html","_templateObject","hass","Object","dialogParams","snapshot","_folders","_addons","restoreHass","type","Boolean","value","snapshotPassword","String","error","_callee","params","regeneratorRuntime","wrap","_context","prev","next","fetchHassioSnapshotInfo","this","slug","sent","setProperties","folders","list","includes","push","name","checked","addons","map","addon","version","$","dialog","open","stop","_this2","confirm","filter","folder","data","homeassistant","protected","password","callApi","then","alert","close","body","message","_this3","undefined","_this4","onDelete","_callee2","signedPath","a","_context2","path","callWS","t0","abrupt","_computeName","replace","document","createElement","href","download","appendChild","click","removeChild","size","Math","ceil","b","datetime","Date","toLocaleDateString","navigator","language","weekday","year","month","day","hour","minute","PolymerElement","__webpack_require__","d","__webpack_exports__","PaperDialogBehaviorImpl","PaperDialogBehavior","_polymer_iron_overlay_behavior_iron_overlay_behavior_js__WEBPACK_IMPORTED_MODULE_1__","_polymer_polymer_lib_legacy_polymer_dom_js__WEBPACK_IMPORTED_MODULE_2__","hostAttributes","role","tabindex","properties","modal","__readied","observers","listeners","tap","ready","__prevNoCancelOnOutsideClick","noCancelOnOutsideClick","__prevNoCancelOnEscKey","noCancelOnEscKey","__prevWithBackdrop","withBackdrop","_modalChanged","readied","_updateClosingReasonConfirmed","confirmed","closingReason","_onDialogClick","event","dom","i","l","indexOf","target","hasAttribute","stopPropagation","IronOverlayBehavior","Polymer","_template","is","dialogElement","scrollTarget","scrollable","_ensureTarget","classList","add","attached","requestAnimationFrame","updateScrollState","bind","toggleClass","scrollTop","offsetHeight","scrollHeight","parentElement","behaviors","sizingTarget","remove","$_documentContainer","setAttribute","innerHTML","head","content","NeonAnimationRunnerBehavior","neon-animation-finish","_renderOpened","cancelAnimation","playAnimation","_renderClosed","_onNeonAnimationFinish","opened","_finishRenderOpened","_finishRenderClosed","HaIronFocusablesHelper","getTabbableNodes","node","result","_collectTabbableNodes","IronFocusablesHelper","_sortByTabIndex","nodeType","Node","ELEMENT_NODE","_isVisible","children","element","tabIndex","_normalizedTabIndex","needsSort","localName","getDistributedNodes","shadowRoot","root","length","paperDialogClass","customElements","get","haTabFixBehaviorImpl","_focusableNodes","HaPaperDialog","_mixinBehaviors","_classCallCheck","_possibleConstructorReturn","_getPrototypeOf","apply","arguments","_inherits","mixinBehaviors","define"],"mappings":"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","file":"chunk.b15efbd4fb2c8cac0ad4.js","sourcesContent":["import { HomeAssistant } from \"../types\";\n\nexport interface AuthProvider {\n name: string;\n id: string;\n type: string;\n}\n\nexport interface Credential {\n type: string;\n}\n\nexport interface SignedPath {\n path: string;\n}\n\nexport const hassUrl = `${location.protocol}//${location.host}`;\n\nexport const getSignedPath = (\n hass: HomeAssistant,\n path: string\n): Promise => hass.callWS({ type: \"auth/sign_path\", path });\n\nexport const fetchAuthProviders = () =>\n fetch(\"/auth/providers\", {\n credentials: \"same-origin\",\n });\n","import \"@polymer/app-layout/app-toolbar/app-toolbar\";\nimport \"@material/mwc-button\";\nimport \"@polymer/paper-checkbox/paper-checkbox\";\nimport \"@polymer/paper-dialog-scrollable/paper-dialog-scrollable\";\nimport \"@polymer/paper-icon-button/paper-icon-button\";\nimport \"@polymer/paper-input/paper-input\";\nimport { html } from \"@polymer/polymer/lib/utils/html-tag\";\nimport { PolymerElement } from \"@polymer/polymer/polymer-element\";\nimport { getSignedPath } from \"../../../../src/data/auth\";\n\nimport \"../../../../src/resources/ha-style\";\nimport \"../../../../src/components/dialog/ha-paper-dialog\";\nimport { customElement } from \"lit-element\";\nimport { PaperDialogElement } from \"@polymer/paper-dialog\";\nimport { HassioSnapshotDialogParams } from \"./show-dialog-hassio-snapshot\";\nimport { fetchHassioSnapshotInfo } from \"../../../../src/data/hassio\";\n\nconst _computeFolders = (folders) => {\n const list: Array<{ slug: string; name: string; checked: boolean }> = [];\n if (folders.includes(\"homeassistant\")) {\n list.push({\n slug: \"homeassistant\",\n name: \"Home Assistant configuration\",\n checked: true,\n });\n }\n if (folders.includes(\"ssl\")) {\n list.push({ slug: \"ssl\", name: \"SSL\", checked: true });\n }\n if (folders.includes(\"share\")) {\n list.push({ slug: \"share\", name: \"Share\", checked: true });\n }\n if (folders.includes(\"addons/local\")) {\n list.push({ slug: \"addons/local\", name: \"Local add-ons\", checked: true });\n }\n return list;\n};\n\nconst _computeAddons = (addons) => {\n return addons.map((addon) => ({\n slug: addon.slug,\n name: addon.name,\n version: addon.version,\n checked: true,\n }));\n};\n\n@customElement(\"dialog-hassio-snapshot\")\nclass HassioSnapshotDialog extends PolymerElement {\n // Commented out because it breaks Polymer! Kept around for when we migrate\n // to Lit. Now just putting ts-ignore everywhere because we need this out.\n // Sorry future developer.\n // public hass!: HomeAssistant;\n // protected error?: string;\n // private snapshot?: any;\n // private dialogParams?: HassioSnapshotDialogParams;\n // private restoreHass!: boolean;\n // private snapshotPassword!: string;\n\n static get template() {\n return html`\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 Restore selected\n \n
    \n \n `;\n }\n\n static get properties() {\n return {\n hass: Object,\n dialogParams: Object,\n snapshot: Object,\n _folders: Object,\n _addons: Object,\n restoreHass: {\n type: Boolean,\n value: true,\n },\n snapshotPassword: String,\n error: String,\n };\n }\n\n public async showDialog(params: HassioSnapshotDialogParams) {\n // @ts-ignore\n const snapshot = await fetchHassioSnapshotInfo(this.hass, params.slug);\n this.setProperties({\n dialogParams: params,\n snapshot,\n _folders: _computeFolders(snapshot.folders),\n _addons: _computeAddons(snapshot.addons),\n });\n (this.$.dialog as PaperDialogElement).open();\n }\n\n protected _isFullSnapshot(type) {\n return type === \"full\";\n }\n\n protected _partialRestoreClicked() {\n if (!confirm(\"Are you sure you want to restore this snapshot?\")) {\n return;\n }\n // @ts-ignore\n const addons = this._addons\n .filter((addon) => addon.checked)\n .map((addon) => addon.slug);\n // @ts-ignore\n const folders = this._folders\n .filter((folder) => folder.checked)\n .map((folder) => folder.slug);\n\n const data = {\n // @ts-ignore\n homeassistant: this.restoreHass,\n addons,\n folders,\n };\n // @ts-ignore\n if (this.snapshot.protected) {\n // @ts-ignore\n data.password = this.snapshotPassword;\n }\n\n // @ts-ignore\n this.hass\n .callApi(\n \"POST\",\n // @ts-ignore\n `hassio/snapshots/${this.dialogParams!.slug}/restore/partial`,\n data\n )\n .then(\n () => {\n alert(\"Snapshot restored!\");\n (this.$.dialog as PaperDialogElement).close();\n },\n (error) => {\n // @ts-ignore\n this.error = error.body.message;\n }\n );\n }\n\n protected _fullRestoreClicked() {\n if (!confirm(\"Are you sure you want to restore this snapshot?\")) {\n return;\n }\n // @ts-ignore\n const data = this.snapshot.protected\n ? {\n password:\n // @ts-ignore\n this.snapshotPassword,\n }\n : undefined;\n // @ts-ignore\n this.hass\n .callApi(\n \"POST\",\n // @ts-ignore\n `hassio/snapshots/${this.dialogParams!.slug}/restore/full`,\n data\n )\n .then(\n () => {\n alert(\"Snapshot restored!\");\n (this.$.dialog as PaperDialogElement).close();\n },\n (error) => {\n // @ts-ignore\n this.error = error.body.message;\n }\n );\n }\n\n protected _deleteClicked() {\n if (!confirm(\"Are you sure you want to delete this snapshot?\")) {\n return;\n }\n // @ts-ignore\n this.hass\n // @ts-ignore\n .callApi(\"POST\", `hassio/snapshots/${this.dialogParams!.slug}/remove`)\n .then(\n () => {\n (this.$.dialog as PaperDialogElement).close();\n // @ts-ignore\n this.dialogParams!.onDelete();\n },\n (error) => {\n // @ts-ignore\n this.error = error.body.message;\n }\n );\n }\n\n protected async _downloadClicked() {\n let signedPath;\n try {\n signedPath = await getSignedPath(\n // @ts-ignore\n this.hass,\n // @ts-ignore\n `/api/hassio/snapshots/${this.dialogParams!.slug}/download`\n );\n } catch (err) {\n alert(`Error: ${err.message}`);\n return;\n }\n // @ts-ignore\n const name = this._computeName(this.snapshot).replace(/[^a-z0-9]+/gi, \"_\");\n const a = document.createElement(\"a\");\n a.href = signedPath.path;\n a.download = `Hass_io_${name}.tar`;\n this.$.dialog.appendChild(a);\n a.click();\n this.$.dialog.removeChild(a);\n }\n\n protected _computeName(snapshot) {\n return snapshot ? snapshot.name || snapshot.slug : \"Unnamed snapshot\";\n }\n\n protected _computeType(type) {\n return type === \"full\" ? \"Full snapshot\" : \"Partial snapshot\";\n }\n\n protected _computeSize(size) {\n return Math.ceil(size * 10) / 10 + \" MB\";\n }\n\n protected _sortAddons(a, b) {\n return a.name < b.name ? -1 : 1;\n }\n\n protected _formatDatetime(datetime) {\n return new Date(datetime).toLocaleDateString(navigator.language, {\n weekday: \"long\",\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"2-digit\",\n });\n }\n\n protected _dialogClosed() {\n this.setProperties({\n dialogParams: undefined,\n snapshot: undefined,\n _addons: [],\n _folders: [],\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dialog-hassio-snapshot\": HassioSnapshotDialog;\n }\n}\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {IronOverlayBehavior} from '@polymer/iron-overlay-behavior/iron-overlay-behavior.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n Use `Polymer.PaperDialogBehavior` and `paper-dialog-shared-styles.html` to\n implement a Material Design dialog.\n\n For example, if `` implements this behavior:\n\n \n

    Header

    \n
    Dialog body
    \n
    \n Cancel\n Accept\n
    \n
    \n\n `paper-dialog-shared-styles.html` provide styles for a header, content area,\n and an action area for buttons. Use the `

    ` tag for the header and the\n `buttons` class for the action area. You can use the `paper-dialog-scrollable`\n element (in its own repository) if you need a scrolling content area.\n\n Use the `dialog-dismiss` and `dialog-confirm` attributes on interactive\n controls to close the dialog. If the user dismisses the dialog with\n `dialog-confirm`, the `closingReason` will update to include `confirmed:\n true`.\n\n ### Accessibility\n\n This element has `role=\"dialog\"` by default. Depending on the context, it may\n be more appropriate to override this attribute with `role=\"alertdialog\"`.\n\n If `modal` is set, the element will prevent the focus from exiting the\n element. It will also ensure that focus remains in the dialog.\n\n @hero hero.svg\n @demo demo/index.html\n @polymerBehavior PaperDialogBehavior\n */\nexport const PaperDialogBehaviorImpl = {\n\n hostAttributes: {'role': 'dialog', 'tabindex': '-1'},\n\n properties: {\n\n /**\n * If `modal` is true, this implies `no-cancel-on-outside-click`,\n * `no-cancel-on-esc-key` and `with-backdrop`.\n */\n modal: {type: Boolean, value: false},\n\n __readied: {type: Boolean, value: false}\n\n },\n\n observers: ['_modalChanged(modal, __readied)'],\n\n listeners: {'tap': '_onDialogClick'},\n\n /**\n * @return {void}\n */\n ready: function() {\n // Only now these properties can be read.\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.__readied = true;\n },\n\n _modalChanged: function(modal, readied) {\n // modal implies noCancelOnOutsideClick, noCancelOnEscKey and withBackdrop.\n // We need to wait for the element to be ready before we can read the\n // properties values.\n if (!readied) {\n return;\n }\n\n if (modal) {\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.noCancelOnOutsideClick = true;\n this.noCancelOnEscKey = true;\n this.withBackdrop = true;\n } else {\n // If the value was changed to false, let it false.\n this.noCancelOnOutsideClick =\n this.noCancelOnOutsideClick && this.__prevNoCancelOnOutsideClick;\n this.noCancelOnEscKey =\n this.noCancelOnEscKey && this.__prevNoCancelOnEscKey;\n this.withBackdrop = this.withBackdrop && this.__prevWithBackdrop;\n }\n },\n\n _updateClosingReasonConfirmed: function(confirmed) {\n this.closingReason = this.closingReason || {};\n this.closingReason.confirmed = confirmed;\n },\n\n /**\n * Will dismiss the dialog if user clicked on an element with dialog-dismiss\n * or dialog-confirm attribute.\n */\n _onDialogClick: function(event) {\n // Search for the element with dialog-confirm or dialog-dismiss,\n // from the root target until this (excluded).\n var path = dom(event).path;\n for (var i = 0, l = path.indexOf(this); i < l; i++) {\n var target = path[i];\n if (target.hasAttribute &&\n (target.hasAttribute('dialog-dismiss') ||\n target.hasAttribute('dialog-confirm'))) {\n this._updateClosingReasonConfirmed(\n target.hasAttribute('dialog-confirm'));\n this.close();\n event.stopPropagation();\n break;\n }\n }\n }\n\n};\n\n/** @polymerBehavior */\nexport const PaperDialogBehavior =\n [IronOverlayBehavior, PaperDialogBehaviorImpl];\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/default-theme.js';\n\nimport {PaperDialogBehaviorImpl} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`paper-dialog-scrollable` implements a scrolling area used in a Material Design\ndialog. It shows a divider at the top and/or bottom indicating more content,\ndepending on scroll position. Use this together with elements implementing\n`Polymer.PaperDialogBehavior`.\n\n \n

    Header

    \n \n Lorem ipsum...\n \n
    \n OK\n
    \n
    \n\nIt shows a top divider after scrolling if it is not the first child in its\nparent container, indicating there is more content above. It shows a bottom\ndivider if it is scrollable and it is not the last child in its parent\ncontainer, indicating there is more content below. The bottom divider is hidden\nif it is scrolled to the bottom.\n\nIf `paper-dialog-scrollable` is not a direct child of the element implementing\n`Polymer.PaperDialogBehavior`, remember to set the `dialogElement`:\n\n \n

    Header

    \n
    \n

    Sub-header

    \n \n Lorem ipsum...\n \n
    \n
    \n OK\n
    \n
    \n\n \n\n### Styling\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-scrollable` | Mixin for the scrollable content | {}\n\n@group Paper Elements\n@element paper-dialog-scrollable\n@demo demo/index.html\n@hero hero.svg\n*/\nPolymer({\n _template: html`\n \n\n
    \n \n
    \n`,\n\n is: 'paper-dialog-scrollable',\n\n properties: {\n\n /**\n * The dialog element that implements `Polymer.PaperDialogBehavior`\n * containing this element.\n * @type {?Node}\n */\n dialogElement: {type: Object}\n\n },\n\n /**\n * Returns the scrolling element.\n */\n get scrollTarget() {\n return this.$.scrollable;\n },\n\n ready: function() {\n this._ensureTarget();\n this.classList.add('no-padding');\n },\n\n attached: function() {\n this._ensureTarget();\n requestAnimationFrame(this.updateScrollState.bind(this));\n },\n\n updateScrollState: function() {\n this.toggleClass('is-scrolled', this.scrollTarget.scrollTop > 0);\n this.toggleClass(\n 'can-scroll',\n this.scrollTarget.offsetHeight < this.scrollTarget.scrollHeight);\n this.toggleClass(\n 'scrolled-to-bottom',\n this.scrollTarget.scrollTop + this.scrollTarget.offsetHeight >=\n this.scrollTarget.scrollHeight);\n },\n\n _ensureTarget: function() {\n // Read parentElement instead of parentNode in order to skip shadowRoots.\n this.dialogElement = this.dialogElement || this.parentElement;\n // Check if dialog implements paper-dialog-behavior. If not, fit\n // scrollTarget to host.\n if (this.dialogElement && this.dialogElement.behaviors &&\n this.dialogElement.behaviors.indexOf(PaperDialogBehaviorImpl) >= 0) {\n this.dialogElement.sizingTarget = this.scrollTarget;\n this.scrollTarget.classList.remove('fit');\n } else if (this.dialogElement) {\n this.scrollTarget.classList.add('fit');\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\n### Styling\n\nThe following custom properties and mixins are available for styling.\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-background-color` | Dialog background color | `--primary-background-color`\n`--paper-dialog-color` | Dialog foreground color | `--primary-text-color`\n`--paper-dialog` | Mixin applied to the dialog | `{}`\n`--paper-dialog-title` | Mixin applied to the title (`

    `) element | `{}`\n`--paper-dialog-button-color` | Button area foreground color | `--default-primary-color`\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport '@polymer/paper-styles/typography.js';\nimport '@polymer/paper-styles/shadow.js';\nconst $_documentContainer = document.createElement('template');\n$_documentContainer.setAttribute('style', 'display: none;');\n\n$_documentContainer.innerHTML = `\n \n`;\n\ndocument.head.appendChild($_documentContainer.content);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/paper-dialog-behavior/paper-dialog-shared-styles.js';\n\nimport {NeonAnimationRunnerBehavior} from '@polymer/neon-animation/neon-animation-runner-behavior.js';\nimport {PaperDialogBehavior} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`` is a dialog with Material Design styling and optional\nanimations when it is opened or closed. It provides styles for a header, content\narea, and an action area for buttons. You can use the\n`` element (in its own repository) if you need a\nscrolling content area. To autofocus a specific child element after opening the\ndialog, give it the `autofocus` attribute. See `Polymer.PaperDialogBehavior` and\n`Polymer.IronOverlayBehavior` for specifics.\n\nFor example, the following code implements a dialog with a header, scrolling\ncontent area and buttons. Focus will be given to the `dialog-confirm` button\nwhen the dialog is opened.\n\n \n

    Header

    \n \n Lorem ipsum...\n \n
    \n Cancel\n Accept\n
    \n
    \n\n### Styling\n\nSee the docs for `Polymer.PaperDialogBehavior` for the custom properties\navailable for styling this element.\n\n### Animations\n\nSet the `entry-animation` and/or `exit-animation` attributes to add an animation\nwhen the dialog is opened or closed. See the documentation in\n[PolymerElements/neon-animation](https://github.com/PolymerElements/neon-animation)\nfor more info.\n\nFor example:\n\n \n\n \n

    Header

    \n
    Dialog body
    \n
    \n\n### Accessibility\n\nSee the docs for `Polymer.PaperDialogBehavior` for accessibility features\nimplemented by this element.\n\n@group Paper Elements\n@element paper-dialog\n@hero hero.svg\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n \n`,\n\n is: 'paper-dialog',\n behaviors: [PaperDialogBehavior, NeonAnimationRunnerBehavior],\n listeners: {'neon-animation-finish': '_onNeonAnimationFinish'},\n\n _renderOpened: function() {\n this.cancelAnimation();\n this.playAnimation('entry');\n },\n\n _renderClosed: function() {\n this.cancelAnimation();\n this.playAnimation('exit');\n },\n\n _onNeonAnimationFinish: function() {\n if (this.opened) {\n this._finishRenderOpened();\n } else {\n this._finishRenderClosed();\n }\n }\n});\n","/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\n Fixes issue with not using shadow dom properly in iron-overlay-behavior/icon-focusables-helper.js\n*/\nimport { dom } from \"@polymer/polymer/lib/legacy/polymer.dom.js\";\n\nimport { IronFocusablesHelper } from \"@polymer/iron-overlay-behavior/iron-focusables-helper.js\";\n\nexport const HaIronFocusablesHelper = {\n /**\n * Returns a sorted array of tabbable nodes, including the root node.\n * It searches the tabbable nodes in the light and shadow dom of the chidren,\n * sorting the result by tabindex.\n * @param {!Node} node\n * @return {!Array}\n */\n getTabbableNodes: function(node) {\n var result = [];\n // If there is at least one element with tabindex > 0, we need to sort\n // the final array by tabindex.\n var needsSortByTabIndex = this._collectTabbableNodes(node, result);\n if (needsSortByTabIndex) {\n return IronFocusablesHelper._sortByTabIndex(result);\n }\n return result;\n },\n\n /**\n * Searches for nodes that are tabbable and adds them to the `result` array.\n * Returns if the `result` array needs to be sorted by tabindex.\n * @param {!Node} node The starting point for the search; added to `result`\n * if tabbable.\n * @param {!Array} result\n * @return {boolean}\n * @private\n */\n _collectTabbableNodes: function(node, result) {\n // If not an element or not visible, no need to explore children.\n if (\n node.nodeType !== Node.ELEMENT_NODE ||\n !IronFocusablesHelper._isVisible(node)\n ) {\n return false;\n }\n var element = /** @type {!HTMLElement} */ (node);\n var tabIndex = IronFocusablesHelper._normalizedTabIndex(element);\n var needsSort = tabIndex > 0;\n if (tabIndex >= 0) {\n result.push(element);\n }\n\n // In ShadowDOM v1, tab order is affected by the order of distrubution.\n // E.g. getTabbableNodes(#root) in ShadowDOM v1 should return [#A, #B];\n // in ShadowDOM v0 tab order is not affected by the distrubution order,\n // in fact getTabbableNodes(#root) returns [#B, #A].\n //
    \n // \n // \n // \n // \n // \n // \n //
    \n // TODO(valdrin) support ShadowDOM v1 when upgrading to Polymer v2.0.\n var children;\n if (element.localName === \"content\" || element.localName === \"slot\") {\n children = dom(element).getDistributedNodes();\n } else {\n // /////////////////////////\n // Use shadow root if possible, will check for distributed nodes.\n // THIS IS THE CHANGED LINE\n children = dom(element.shadowRoot || element.root || element).children;\n // /////////////////////////\n }\n for (var i = 0; i < children.length; i++) {\n // Ensure method is always invoked to collect tabbable children.\n needsSort = this._collectTabbableNodes(children[i], result) || needsSort;\n }\n return needsSort;\n },\n};\n","import \"@polymer/paper-dialog/paper-dialog\";\nimport { mixinBehaviors } from \"@polymer/polymer/lib/legacy/class\";\nimport { HaIronFocusablesHelper } from \"./ha-iron-focusables-helper.js\";\n// tslint:disable-next-line\nimport { PaperDialogElement } from \"@polymer/paper-dialog/paper-dialog\";\n\nconst paperDialogClass = customElements.get(\"paper-dialog\");\n\n// behavior that will override existing iron-overlay-behavior and call the fixed implementation\nconst haTabFixBehaviorImpl = {\n get _focusableNodes() {\n return HaIronFocusablesHelper.getTabbableNodes(this);\n },\n};\n\n// paper-dialog that uses the haTabFixBehaviorImpl behvaior\n// export class HaPaperDialog extends paperDialogClass {}\n// @ts-ignore\nexport class HaPaperDialog\n extends mixinBehaviors([haTabFixBehaviorImpl], paperDialogClass)\n implements PaperDialogElement {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-paper-dialog\": HaPaperDialog;\n }\n}\ncustomElements.define(\"ha-paper-dialog\", HaPaperDialog);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.b21a4609308c9b8ef180.js b/hassio/api/panel/chunk.b21a4609308c9b8ef180.js new file mode 100644 index 000000000..851f96bf3 --- /dev/null +++ b/hassio/api/panel/chunk.b21a4609308c9b8ef180.js @@ -0,0 +1,2 @@ +(self.webpackJsonp=self.webpackJsonp||[]).push([[4],{131:function(e,t,r){"use strict";r.r(t);r(96),r(109),r(41),r(22),r(67);var n=r(4),i=r(25),o=r(12),a=r(9),s=(r(121),r(16),r(17),r(127),r(128),r(122),r(102));function c(e){return(c="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})(e)}function l(){var e=h(["\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 "]);return l=function(){return e},e}function d(){var e=h(["\n ","\n "]);return d=function(){return e},e}function u(){var e=h(["\n ","\n "]);return u=function(){return e},e}function p(){var e=h(['\n
    ',"
    \n "]);return p=function(){return e},e}function f(){var e=h(['\n \n
    \n ','\n\n \n \n \n \n \n \n
    \n
    \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a',"
    \n "]);return D=function(){return e},e}function A(){var e=T(['\n \n
    \n ',"\n \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a bit more top margin */\n font-weight: 500;\n overflow: hidden;\n text-transform: uppercase;\n text-overflow: ellipsis;\n transition: background-color 0.3s ease-in-out;\n text-transform: var(--ha-label-badge-label-text-transform, uppercase);\n }\n .label-badge .label.big span {\n font-size: 90%;\n padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */\n }\n .badge-container .title {\n margin-top: 1em;\n font-size: var(--ha-label-badge-title-font-size, 0.9em);\n width: var(--ha-label-badge-title-width, 5em);\n font-weight: var(--ha-label-badge-title-font-weight, 400);\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: normal;\n }\n "]);return Z=function(){return e},e}function $(){var e=ie(['\n
    ',"
    \n "]);return $=function(){return e},e}function ee(){var e=ie(['\n \n ',"\n
    \n "]);return ee=function(){return e},e}function te(){var e=ie(["\n ","\n "]);return te=function(){return e},e}function re(){var e=ie(['\n \n ']);return re=function(){return e},e}function ne(){var e=ie(['\n
    \n
    \n \n ',"\n ","\n
    \n ","\n
    \n ","\n

    \n "]);return ne=function(){return e},e}function ie(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function oe(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ae(e,t){return(ae=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function se(e){var t,r=pe(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function ce(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function le(e){return e.decorators&&e.decorators.length}function de(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function ue(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function pe(e){var t=function(e,t){if("object"!==X(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==X(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===X(t)?t:String(t)}function fe(e,t,r){return(fe="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=he(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(r):i.value}})(e,t,r||e)}function he(e){return(he=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}customElements.define("ha-icon",Q);var me=function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!le(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a4)}),!this.icon||this.value||this.image?"":Object(n.e)(re(),this.icon),this.value&&!this.image?Object(n.e)(te(),this.value):"",this.label?Object(n.e)(ee(),Object(q.a)({label:!0,big:this.label.length>5}),this.label):"",this.description?Object(n.e)($(),this.description):"")}},{kind:"get",static:!0,key:"styles",value:function(){return[Object(n.c)(Z())]}},{kind:"method",key:"updated",value:function(e){fe(he(r.prototype),"updated",this).call(this,e),e.has("image")&&(this.shadowRoot.getElementById("badge").style.backgroundImage=this.image?"url(".concat(this.image,")"):"")}}]}},n.a);customElements.define("ha-label-badge",me);r(72),r(126);var ve=r(105);function ye(e){return(ye="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})(e)}function be(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n :host {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n .mdc-switch.mdc-switch--checked .mdc-switch__thumb {\n background-color: var(--switch-checked-button-color);\n border-color: var(--switch-checked-button-color);\n }\n .mdc-switch.mdc-switch--checked .mdc-switch__track {\n background-color: var(--switch-checked-track-color);\n border-color: var(--switch-checked-track-color);\n }\n .mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb {\n background-color: var(--switch-unchecked-button-color);\n border-color: var(--switch-unchecked-button-color);\n }\n .mdc-switch:not(.mdc-switch--checked) .mdc-switch__track {\n background-color: var(--switch-unchecked-track-color);\n border-color: var(--switch-unchecked-track-color);\n }\n :host(.slotted) .mdc-switch {\n margin-right: 24px;\n }\n "]);return be=function(){return e},e}function ge(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function we(e,t){return(we=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ke(e){var t,r=Pe(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function Ee(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Oe(e){return e.decorators&&e.decorators.length}function je(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function _e(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Pe(e){var t=function(e,t){if("object"!==ye(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ye(t)?t:String(t)}function xe(e,t,r){return(xe="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=De(e)););return e}(e,t);if(n){var i=Object.getOwnPropertyDescriptor(n,t);return i.get?i.get.call(r):i.value}})(e,t,r||e)}function De(e){return(De=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ae=customElements.get("mwc-switch"),Te=(function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!Oe(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n
    \n \n This add-on is not available on your system.\n

    \n ']);return Ie=function(){return e},e}function Ne(){var e=ht(["\n ","\n \n \n Open web UI\n \n \n ']);return Ue=function(){return e},e}function Me(){var e=ht(["\n \n Start\n \n ']);return Me=function(){return e},e}function qe(){var e=ht(['\n \n Restart\n \n \n Stop\n \n ']);return qe=function(){return e},e}function We(){var e=ht(['\n \n Rebuild\n \n ']);return We=function(){return e},e}function Be(){var e=ht(['\n ',"
    \n "]);return Le=function(){return e},e}function Je(){var e=ht(['\n
    \n
    \n Protection mode\n \n \n \n Grant the add-on elevated system access.\n \n \n
    \n \n
    Show in sidebar
    \n \n
    Start on boot
    \n \n
    \n
    \n
    Auto update
    \n \n ']);return Ke=function(){return e},e}function Qe(){var e=ht(["\n \n ']);return Qe=function(){return e},e}function Xe(){var e=ht(["\n \n ']);return Xe=function(){return e},e}function Ze(){var e=ht(["\n \n ']);return Ze=function(){return e},e}function $e(){var e=ht(["\n \n ']);return $e=function(){return e},e}function et(){var e=ht(["\n \n ']);return tt=function(){return e},e}function rt(){var e=ht(["\n \n ']);return rt=function(){return e},e}function nt(){var e=ht(["\n \n ']);return nt=function(){return e},e}function it(){var e=ht(['\n \n ']);return it=function(){return e},e}function ot(){var e=ht(["\n ","\n "]);return ot=function(){return e},e}function at(){var e=ht(['\n \n ']);return at=function(){return e},e}function st(){var e=ht(['\n \n ']);return st=function(){return e},e}function ct(){var e=ht(["\n ","\n ","\n "]);return ct=function(){return e},e}function lt(){var e=ht(['\n \n
    \n Protection mode on this add-on is disabled! This gives the add-on full access to the entire system, which adds security risks, and could damage your system when used incorrectly. Only disable the protection mode if you know, need AND trust the source of this add-on.\n
    \n
    \n \n
    \n \n ','\n
    \n
    \n \n Update\n \n ',"\n
    \n \n "]);return pt=function(){return e},e}function ft(){var e=ht(["\n ","\n\n ",'\n\n \n
    \n
    \n ','\n
    \n ','\n
    \n
    \n
    \n ',".
    \n Visit \n '," page\n for details.\n
    \n ",'\n
    \n \n ',"\n\n ","\n\n ","\n\n ","\n\n ","\n\n ","\n\n ","\n\n ","\n\n ","\n
    \n\n ","\n ",'\n
    \n
    \n ',"\n
    \n
    \n\n ","\n "]);return ft=function(){return e},e}function ht(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function mt(e){return(mt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yt(e,t){return(yt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function bt(e){var t,r=Ot(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===e.kind?"field":"method",key:r,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(n.decorators=e.decorators),"field"===e.kind&&(n.initializer=e.value),n}function gt(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function wt(e){return e.decorators&&e.decorators.length}function kt(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function Et(e,t){var r=e[t];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+t+"' to be a function");return r}function Ot(e){var t=function(e,t){if("object"!==Ce(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ce(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ce(t)?t:String(t)}function jt(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _t(e){if(Array.isArray(e))return e}var Pt={rating:{title:"Add-on Security Rating",description:"Hass.io provides a security rating to each of the add-ons, which indicates the risks involved when using this add-on. The more access an add-on requires on your system, the lower the score, thus raising the possible security risks.\n\nA score is on a scale from 1 to 6. Where 1 is the lowest score (considered the most insecure and highest risk) and a score of 6 is the highest score (considered the most secure and lowest risk)."},host_network:{title:"Host Network",description:"Add-ons usually run in their own isolated network layer, which prevents them from accessing the network of the host operating system. In some cases, this network isolation can limit add-ons in providing their services and therefore, the isolation can be lifted by the add-on author, giving the add-on full access to the network capabilities of the host machine. This gives the add-on more networking capabilities but lowers the security, hence, the security rating of the add-on will be lowered when this option is used by the add-on."},homeassistant_api:{title:"Home Assistant API Access",description:"This add-on is allowed to access your running Home Assistant instance directly via the Home Assistant API. This mode handles authentication for the add-on as well, which enables an add-on to interact with Home Assistant without the need for additional authentication tokens."},full_access:{title:"Full Hardware Access",description:"This add-on is given full access to the hardware of your system, by request of the add-on author. Access is comparable to the privileged mode in Docker. Since this opens up possible security risks, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on."},hassio_api:{title:"Hass.io API Access",description:"The add-on was given access to the Hass.io API, by request of the add-on author. By default, the add-on can access general version information of your system. When the add-on requests 'manager' or 'admin' level access to the API, it will gain access to control multiple parts of your Hass.io system. This permission is indicated by this badge and will impact the security score of the addon negatively."},docker_api:{title:"Full Docker Access",description:"The add-on author has requested the add-on to have management access to the Docker instance running on your system. This mode gives the add-on full access and control to your entire Hass.io system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on."},host_pid:{title:"Host Processes Namespace",description:"Usually, the processes the add-on runs, are isolated from all other system processes. The add-on author has requested the add-on to have access to the system processes running on the host system instance, and allow the add-on to spawn processes on the host system as well. This mode gives the add-on full access and control to your entire Hass.io system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\n\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on."},apparmor:{title:"AppArmor",description:"AppArmor ('Application Armor') is a Linux kernel security module that restricts add-ons capabilities like network access, raw socket access, and permission to read, write, or execute specific files.\n\nAdd-on authors can provide their security profiles, optimized for the add-on, or request it to be disabled. If AppArmor is disabled, it will raise security risks and therefore, has a negative impact on the security score of the add-on."},auth_api:{title:"Home Assistant Authentication",description:"An add-on can authenticate users against Home Assistant, allowing add-ons to give users the possibility to log into applications running inside add-ons, using their Home Assistant username/password. This badge indicates if the add-on author requests this capability."},ingress:{title:"Ingress",description:"This add-on is using Ingress to embed its interface securely into Home Assistant."}},xt=(function(e,t,r,n){var i=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(r){t.forEach(function(t){t.kind===r&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var r=e.prototype;["method","field"].forEach(function(n){t.forEach(function(t){var i=t.placement;if(t.kind===n&&("static"===i||"prototype"===i)){var o="static"===i?e:r;this.defineClassElement(o,t)}},this)},this)},defineClassElement:function(e,t){var r=t.descriptor;if("field"===t.kind){var n=t.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(e)}}Object.defineProperty(e,t.key,r)},decorateClass:function(e,t){var r=[],n=[],i={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,i)},this),e.forEach(function(e){if(!wt(e))return r.push(e);var t=this.decorateElement(e,i);r.push(t.element),r.push.apply(r,t.extras),n.push.apply(n,t.finishers)},this),!t)return{elements:r,finishers:n};var o=this.decorateConstructor(r,t);return n.push.apply(n,o.finishers),o.finishers=n,o},addElementPlacement:function(e,t,r){var n=t[e.placement];if(!r&&-1!==n.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");n.push(e.key)},decorateElement:function(e,t){for(var r=[],n=[],i=e.decorators,o=i.length-1;o>=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a0||"0"===t&&Number(r)>=92}},{kind:"method",key:"_startOnBootToggled",value:function(){var e,t,r;return regeneratorRuntime.async(function(n){for(;;)switch(n.prev=n.next){case 0:return this._error=void 0,e={boot:"auto"===this.addon.boot?"manual":"auto"},n.prev=2,n.next=5,regeneratorRuntime.awrap(Object(i.g)(this.hass,this.addon.slug,e));case 5:t={success:!0,response:void 0,path:"option"},Object(_.a)(this,"hass-api-called",t),n.next=12;break;case 9:n.prev=9,n.t0=n.catch(2),this._error="Failed to set addon option, ".concat((null===(r=n.t0.body)||void 0===r?void 0:r.message)||n.t0);case 12:case"end":return n.stop()}},null,this,[[2,9]])}},{kind:"method",key:"_autoUpdateToggled",value:function(){var e,t,r;return regeneratorRuntime.async(function(n){for(;;)switch(n.prev=n.next){case 0:return this._error=void 0,e={auto_update:!this.addon.auto_update},n.prev=2,n.next=5,regeneratorRuntime.awrap(Object(i.g)(this.hass,this.addon.slug,e));case 5:t={success:!0,response:void 0,path:"option"},Object(_.a)(this,"hass-api-called",t),n.next=12;break;case 9:n.prev=9,n.t0=n.catch(2),this._error="Failed to set addon option, ".concat((null===(r=n.t0.body)||void 0===r?void 0:r.message)||n.t0);case 12:case"end":return n.stop()}},null,this,[[2,9]])}},{kind:"method",key:"_protectionToggled",value:function(){var e,t,r;return regeneratorRuntime.async(function(n){for(;;)switch(n.prev=n.next){case 0:return this._error=void 0,e={protected:!this.addon.protected},n.prev=2,n.next=5,regeneratorRuntime.awrap(Object(i.h)(this.hass,this.addon.slug,e));case 5:t={success:!0,response:void 0,path:"security"},Object(_.a)(this,"hass-api-called",t),n.next=12;break;case 9:n.prev=9,n.t0=n.catch(2),this._error="Failed to set addon security option, ".concat((null===(r=n.t0.body)||void 0===r?void 0:r.message)||n.t0);case 12:case"end":return n.stop()}},null,this,[[2,9]])}},{kind:"method",key:"_panelToggled",value:function(){var e,t,r;return regeneratorRuntime.async(function(n){for(;;)switch(n.prev=n.next){case 0:return this._error=void 0,e={ingress_panel:!this.addon.ingress_panel},n.prev=2,n.next=5,regeneratorRuntime.awrap(Object(i.g)(this.hass,this.addon.slug,e));case 5:t={success:!0,response:void 0,path:"option"},Object(_.a)(this,"hass-api-called",t),n.next=12;break;case 9:n.prev=9,n.t0=n.catch(2),this._error="Failed to set addon option, ".concat((null===(r=n.t0.body)||void 0===r?void 0:r.message)||n.t0);case 12:case"end":return n.stop()}},null,this,[[2,9]])}},{kind:"method",key:"_openChangelog",value:function(){var e,t;return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:return this._error=void 0,r.prev=1,r.next=4,regeneratorRuntime.awrap(Object(i.a)(this.hass,this.addon.slug));case 4:e=r.sent,Object(Se.a)(this,{title:"Changelog",content:e}),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(1),this._error="Failed to get addon changelog, ".concat((null===(t=r.t0.body)||void 0===t?void 0:t.message)||r.t0);case 11:case"end":return r.stop()}},null,this,[[1,8]])}},{kind:"method",key:"_installClicked",value:function(){var e,t;return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:return this._error=void 0,r.prev=1,r.next=4,regeneratorRuntime.awrap(Object(i.e)(this.hass,this.addon.slug));case 4:e={success:!0,response:void 0,path:"install"},Object(_.a)(this,"hass-api-called",e),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(1),this._error="Failed to install addon, ".concat((null===(t=r.t0.body)||void 0===t?void 0:t.message)||r.t0);case 11:case"end":return r.stop()}},null,this,[[1,8]])}},{kind:"method",key:"_uninstallClicked",value:function(){var e,t;return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:if(confirm("Are you sure you want to uninstall this add-on?")){r.next=2;break}return r.abrupt("return");case 2:return this._error=void 0,r.prev=3,r.next=6,regeneratorRuntime.awrap(Object(i.i)(this.hass,this.addon.slug));case 6:e={success:!0,response:void 0,path:"uninstall"},Object(_.a)(this,"hass-api-called",e),r.next=13;break;case 10:r.prev=10,r.t0=r.catch(3),this._error="Failed to uninstall addon, ".concat((null===(t=r.t0.body)||void 0===t?void 0:t.message)||r.t0);case 13:case"end":return r.stop()}},null,this,[[3,10]])}}]}},n.a),r(104));function Dt(e){return(Dt="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})(e)}function At(){var e=Ct(["\n :host,\n paper-card {\n display: block;\n }\n pre {\n overflow-x: auto;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n "]);return At=function(){return e},e}function Tt(){var e=Ct(['\n
    ',"
    \n "]);return Tt=function(){return e},e}function St(){var e=Ct(['\n \n ','\n
    \n
    \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a\n ","\n \n ',"
    \n "]);return Gt=function(){return e},e}function Vt(){var e=Kt(['\n \n
    \n ',"\n\n \n \n \n \n \n \n \n ",'\n \n
    ContainerHostDescription
    \n
    \n
    \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;at.container?1:-1})}},{kind:"method",key:"_configChanged",value:function(e){var t;return regeneratorRuntime.async(function(r){for(;;)switch(r.prev=r.next){case 0:t=e.target,this._config.forEach(function(e){e.container===t.container&&e.host!==parseInt(String(t.value),10)&&(e.host=t.value?parseInt(String(t.value),10):null)});case 2:case"end":return r.stop()}},null,this)}},{kind:"method",key:"_resetTapped",value:function(){var e,t,r;return regeneratorRuntime.async(function(n){for(;;)switch(n.prev=n.next){case 0:return e={network:null},n.prev=1,n.next=4,regeneratorRuntime.awrap(Object(i.g)(this.hass,this.addon.slug,e));case 4:t={success:!0,response:void 0,path:"option"},Object(_.a)(this,"hass-api-called",t),n.next=11;break;case 8:n.prev=8,n.t0=n.catch(1),this._error="Failed to set addon network configuration, ".concat((null===(r=n.t0.body)||void 0===r?void 0:r.message)||n.t0);case 11:case"end":return n.stop()}},null,this,[[1,8]])}},{kind:"method",key:"_saveTapped",value:function(){var e,t,r,n;return regeneratorRuntime.async(function(o){for(;;)switch(o.prev=o.next){case 0:return this._error=void 0,e={},this._config.forEach(function(t){e[t.container]=parseInt(String(t.host),10)}),t={network:e},o.prev=4,o.next=7,regeneratorRuntime.awrap(Object(i.g)(this.hass,this.addon.slug,t));case 7:r={success:!0,response:void 0,path:"option"},Object(_.a)(this,"hass-api-called",r),o.next=14;break;case 11:o.prev=11,o.t0=o.catch(4),this._error="Failed to set addon network configuration, ".concat((null===(n=o.t0.body)||void 0===n?void 0:n.message)||o.t0);case 14:case"end":return o.stop()}},null,this,[[4,11]])}}]}},n.a);function ar(e){return(ar="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})(e)}function sr(){var e=fr(["\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 max-width: calc(100% - 8px);\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 min-width: 100%;\n }\n }\n "]);return sr=function(){return e},e}function cr(){var e=fr(["\n \n "]);return cr=function(){return e},e}function lr(){var e=fr(["\n \n "]);return lr=function(){return e},e}function dr(){var e=fr(["\n \n\n ","\n ","\n\n \n "]);return dr=function(){return e},e}function ur(){var e=fr(['\n \n
    \n =0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var a=0;a=0;o--){var a=t[e.placement];a.splice(a.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,i[o])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&n.push(c.finisher);var l=c.extras;if(l){for(var d=0;d=0;n--){var i=this.fromClassDescriptor(e),o=this.toClassDescriptor((0,t[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){e=o.elements;for(var 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 Q@dE\n
    \n ${this._error\n ? html`\n
    ${this._error}
    \n `\n : \"\"}\n\n \n \n ${this._inputDevices &&\n this._inputDevices.map((item) => {\n return html`\n ${item.name}\n `;\n })}\n \n \n \n \n ${this._outputDevices &&\n this._outputDevices.map((item) => {\n return html`\n ${item.name}\n `;\n })}\n \n \n
    \n
    \n Save\n
    \n \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\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 protected update(changedProperties: PropertyValues): void {\n super.update(changedProperties);\n if (changedProperties.has(\"addon\")) {\n this._addonChanged();\n }\n }\n\n private _setInputDevice(ev): void {\n const device = ev.detail.device;\n if (device) {\n this._selectedInput = device;\n }\n }\n\n private _setOutputDevice(ev): void {\n const device = ev.detail.device;\n if (device) {\n this._selectedOutput = device;\n }\n }\n\n private async _addonChanged(): Promise {\n this._selectedInput = this.addon.audio_input;\n this._selectedOutput = this.addon.audio_output;\n if (this._outputDevices) {\n return;\n }\n\n const noDevice: HassioHardwareAudioDevice[] = [\n { device: undefined, name: \"-\" },\n ];\n\n try {\n const { audio } = await fetchHassioHardwareAudio(this.hass);\n const inupt = Object.keys(audio.input).map((key) => ({\n device: key,\n name: audio.input[key],\n }));\n const output = Object.keys(audio.output).map((key) => ({\n device: key,\n name: audio.output[key],\n }));\n\n this._inputDevices = noDevice.concat(inupt);\n this._outputDevices = noDevice.concat(output);\n } catch {\n this._error = \"Failed to fetch audio hardware\";\n this._inputDevices = noDevice;\n this._outputDevices = noDevice;\n }\n }\n\n private async _saveSettings(): Promise {\n this._error = undefined;\n const data: HassioAddonSetOptionParams = {\n audio_input: this._selectedInput || null,\n audio_output: this._selectedOutput || null,\n };\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n } catch {\n this._error = \"Failed to set addon audio device\";\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-audio\": HassioAddonAudio;\n }\n}\n","import \"@polymer/iron-autogrow-textarea/iron-autogrow-textarea\";\nimport \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n PropertyValues,\n TemplateResult,\n} from \"lit-element\";\n\nimport { HomeAssistant } from \"../../../src/types\";\nimport {\n HassioAddonDetails,\n setHassioAddonOption,\n HassioAddonSetOptionParams,\n} from \"../../../src/data/hassio/addon\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\nimport { PolymerChangedEvent } from \"../../../src/polymer-types\";\nimport { fireEvent } from \"../../../src/common/dom/fire_event\";\n\n@customElement(\"hassio-addon-config\")\nclass HassioAddonConfig extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public addon!: HassioAddonDetails;\n @property() private _error?: string;\n @property() private _config!: string;\n @property({ type: Boolean }) private _configHasChanged = false;\n\n protected render(): TemplateResult {\n return html`\n \n
    \n ${this._error\n ? html`\n
    ${this._error}
    \n `\n : \"\"}\n \n
    \n
    \n \n Reset to defaults\n \n \n Save\n \n
    \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n display: flex;\n justify-content: space-between;\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 protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n if (changedProperties.has(\"addon\")) {\n this._config = JSON.stringify(this.addon.options, null, 2);\n }\n }\n\n private _configChanged(ev: PolymerChangedEvent): void {\n this._config =\n ev.detail.value || JSON.stringify(this.addon.options, null, 2);\n this._configHasChanged =\n this._config !== JSON.stringify(this.addon.options, null, 2);\n }\n\n private async _resetTapped(): Promise {\n this._error = undefined;\n const data: HassioAddonSetOptionParams = {\n options: null,\n };\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n this._configHasChanged = false;\n const eventdata = {\n success: true,\n response: undefined,\n path: \"options\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to reset addon configuration, ${err.body?.message ||\n err}`;\n }\n }\n\n private async _saveTapped(): Promise {\n let data: HassioAddonSetOptionParams;\n this._error = undefined;\n try {\n data = {\n options: JSON.parse(this._config),\n };\n } catch (err) {\n this._error = err;\n return;\n }\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n this._configHasChanged = false;\n const eventdata = {\n success: true,\n response: undefined,\n path: \"options\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to save addon configuration, ${err.body?.message ||\n err}`;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-config\": HassioAddonConfig;\n }\n}\n","import { Constructor } from \"../types\";\n\nimport \"@polymer/iron-icon/iron-icon\";\n// Not duplicate, this is for typing.\n// tslint:disable-next-line\nimport { IronIconElement } from \"@polymer/iron-icon/iron-icon\";\n\nconst ironIconClass = customElements.get(\"iron-icon\") as Constructor<\n IronIconElement\n>;\n\nlet loaded = false;\n\nexport class HaIcon extends ironIconClass {\n private _iconsetName?: string;\n\n public listen(\n node: EventTarget | null,\n eventName: string,\n methodName: string\n ): void {\n super.listen(node, eventName, methodName);\n\n if (!loaded && this._iconsetName === \"mdi\") {\n loaded = true;\n import(/* webpackChunkName: \"mdi-icons\" */ \"../resources/mdi-icons\");\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-icon\": HaIcon;\n }\n}\n\ncustomElements.define(\"ha-icon\", HaIcon);\n","import {\n html,\n LitElement,\n PropertyValues,\n TemplateResult,\n CSSResult,\n css,\n property,\n} from \"lit-element\";\nimport { classMap } from \"lit-html/directives/class-map\";\nimport \"./ha-icon\";\n\nclass HaLabelBadge extends LitElement {\n @property() public value?: string;\n @property() public icon?: string;\n @property() public label?: string;\n @property() public description?: string;\n @property() public image?: string;\n\n protected render(): TemplateResult {\n return html`\n
    \n
    \n 4),\n })}\"\n >\n ${this.icon && !this.value && !this.image\n ? html`\n \n `\n : \"\"}\n ${this.value && !this.image\n ? html`\n ${this.value}\n `\n : \"\"}\n
    \n ${this.label\n ? html`\n 5,\n })}\"\n >\n ${this.label}\n
    \n `\n : \"\"}\n
    \n ${this.description\n ? html`\n
    ${this.description}
    \n `\n : \"\"}\n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n css`\n .badge-container {\n display: inline-block;\n text-align: center;\n vertical-align: top;\n }\n .label-badge {\n position: relative;\n display: block;\n margin: 0 auto;\n width: var(--ha-label-badge-size, 2.5em);\n text-align: center;\n height: var(--ha-label-badge-size, 2.5em);\n line-height: var(--ha-label-badge-size, 2.5em);\n font-size: var(--ha-label-badge-font-size, 1.5em);\n border-radius: 50%;\n border: 0.1em solid var(--ha-label-badge-color, var(--primary-color));\n color: var(--label-badge-text-color, rgb(76, 76, 76));\n\n white-space: nowrap;\n background-color: var(--label-badge-background-color, white);\n background-size: cover;\n transition: border 0.3s ease-in-out;\n }\n .label-badge .value {\n font-size: 90%;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .label-badge .value.big {\n font-size: 70%;\n }\n .label-badge .label {\n position: absolute;\n bottom: -1em;\n /* Make the label as wide as container+border. (parent_borderwidth / font-size) */\n left: -0.2em;\n right: -0.2em;\n line-height: 1em;\n font-size: 0.5em;\n }\n .label-badge .label span {\n box-sizing: border-box;\n max-width: 100%;\n display: inline-block;\n background-color: var(--ha-label-badge-color, var(--primary-color));\n color: var(--ha-label-badge-label-color, white);\n border-radius: 1em;\n padding: 9% 16% 8% 16%; /* mostly apitalized text, not much descenders => bit more top margin */\n font-weight: 500;\n overflow: hidden;\n text-transform: uppercase;\n text-overflow: ellipsis;\n transition: background-color 0.3s ease-in-out;\n text-transform: var(--ha-label-badge-label-text-transform, uppercase);\n }\n .label-badge .label.big span {\n font-size: 90%;\n padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */\n }\n .badge-container .title {\n margin-top: 1em;\n font-size: var(--ha-label-badge-title-font-size, 0.9em);\n width: var(--ha-label-badge-title-width, 5em);\n font-weight: var(--ha-label-badge-title-font-weight, 400);\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: normal;\n }\n `,\n ];\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n if (changedProperties.has(\"image\")) {\n this.shadowRoot!.getElementById(\"badge\")!.style.backgroundImage = this\n .image\n ? `url(${this.image})`\n : \"\";\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-label-badge\": HaLabelBadge;\n }\n}\n\ncustomElements.define(\"ha-label-badge\", HaLabelBadge);\n","import { customElement, CSSResult, css, query } from \"lit-element\";\nimport \"@material/mwc-switch\";\nimport { style } from \"@material/mwc-switch/mwc-switch-css\";\n// tslint:disable-next-line\nimport { Switch } from \"@material/mwc-switch\";\nimport { Constructor } from \"../types\";\n// tslint:disable-next-line\nconst MwcSwitch = customElements.get(\"mwc-switch\") as Constructor;\n\n@customElement(\"ha-switch\")\nexport class HaSwitch extends MwcSwitch {\n @query(\"slot\") private _slot!: HTMLSlotElement;\n\n protected firstUpdated() {\n super.firstUpdated();\n this.style.setProperty(\n \"--mdc-theme-secondary\",\n \"var(--switch-checked-color)\"\n );\n this.classList.toggle(\n \"slotted\",\n Boolean(this._slot.assignedNodes().length)\n );\n this._slot.addEventListener(\"click\", () => (this.checked = !this.checked));\n }\n\n protected static get styles(): CSSResult[] {\n return [\n style,\n css`\n :host {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n .mdc-switch.mdc-switch--checked .mdc-switch__thumb {\n background-color: var(--switch-checked-button-color);\n border-color: var(--switch-checked-button-color);\n }\n .mdc-switch.mdc-switch--checked .mdc-switch__track {\n background-color: var(--switch-checked-track-color);\n border-color: var(--switch-checked-track-color);\n }\n .mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb {\n background-color: var(--switch-unchecked-button-color);\n border-color: var(--switch-unchecked-button-color);\n }\n .mdc-switch:not(.mdc-switch--checked) .mdc-switch__track {\n background-color: var(--switch-unchecked-track-color);\n border-color: var(--switch-unchecked-track-color);\n }\n :host(.slotted) .mdc-switch {\n margin-right: 24px;\n }\n `,\n ];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-switch\": HaSwitch;\n }\n}\n","import \"@material/mwc-button\";\nimport \"@polymer/iron-icon/iron-icon\";\nimport \"@polymer/paper-card/paper-card\";\nimport \"@polymer/paper-tooltip/paper-tooltip\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\nimport { classMap } from \"lit-html/directives/class-map\";\n\nimport \"../../../src/components/buttons/ha-call-api-button\";\nimport \"../../../src/components/ha-label-badge\";\nimport \"../../../src/components/ha-markdown\";\nimport \"../../../src/components/ha-switch\";\nimport \"../components/hassio-card-content\";\n\nimport { fireEvent } from \"../../../src/common/dom/fire_event\";\nimport {\n HassioAddonDetails,\n HassioAddonSetOptionParams,\n HassioAddonSetSecurityParams,\n setHassioAddonOption,\n setHassioAddonSecurity,\n uninstallHassioAddon,\n installHassioAddon,\n fetchHassioAddonChangelog,\n} from \"../../../src/data/hassio/addon\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport { navigate } from \"../../../src/common/navigate\";\nimport { showHassioMarkdownDialog } from \"../dialogs/markdown/show-dialog-hassio-markdown\";\n\nconst PERMIS_DESC = {\n rating: {\n title: \"Add-on Security Rating\",\n description:\n \"Hass.io provides a security rating to each of the add-ons, which indicates the risks involved when using this add-on. The more access an add-on requires on your system, the lower the score, thus raising the possible security risks.\\n\\nA score is on a scale from 1 to 6. Where 1 is the lowest score (considered the most insecure and highest risk) and a score of 6 is the highest score (considered the most secure and lowest risk).\",\n },\n host_network: {\n title: \"Host Network\",\n description:\n \"Add-ons usually run in their own isolated network layer, which prevents them from accessing the network of the host operating system. In some cases, this network isolation can limit add-ons in providing their services and therefore, the isolation can be lifted by the add-on author, giving the add-on full access to the network capabilities of the host machine. This gives the add-on more networking capabilities but lowers the security, hence, the security rating of the add-on will be lowered when this option is used by the add-on.\",\n },\n homeassistant_api: {\n title: \"Home Assistant API Access\",\n description:\n \"This add-on is allowed to access your running Home Assistant instance directly via the Home Assistant API. This mode handles authentication for the add-on as well, which enables an add-on to interact with Home Assistant without the need for additional authentication tokens.\",\n },\n full_access: {\n title: \"Full Hardware Access\",\n description:\n \"This add-on is given full access to the hardware of your system, by request of the add-on author. Access is comparable to the privileged mode in Docker. Since this opens up possible security risks, this feature impacts the add-on security score negatively.\\n\\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on.\",\n },\n hassio_api: {\n title: \"Hass.io API Access\",\n description:\n \"The add-on was given access to the Hass.io API, by request of the add-on author. By default, the add-on can access general version information of your system. When the add-on requests 'manager' or 'admin' level access to the API, it will gain access to control multiple parts of your Hass.io system. This permission is indicated by this badge and will impact the security score of the addon negatively.\",\n },\n docker_api: {\n title: \"Full Docker Access\",\n description:\n \"The add-on author has requested the add-on to have management access to the Docker instance running on your system. This mode gives the add-on full access and control to your entire Hass.io system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\\n\\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on.\",\n },\n host_pid: {\n title: \"Host Processes Namespace\",\n description:\n \"Usually, the processes the add-on runs, are isolated from all other system processes. The add-on author has requested the add-on to have access to the system processes running on the host system instance, and allow the add-on to spawn processes on the host system as well. This mode gives the add-on full access and control to your entire Hass.io system, which adds security risks, and could damage your system when misused. Therefore, this feature impacts the add-on security score negatively.\\n\\nThis level of access is not granted automatically and needs to be confirmed by you. To do this, you need to disable the protection mode on the add-on manually. Only disable the protection mode if you know, need AND trust the source of this add-on.\",\n },\n apparmor: {\n title: \"AppArmor\",\n description:\n \"AppArmor ('Application Armor') is a Linux kernel security module that restricts add-ons capabilities like network access, raw socket access, and permission to read, write, or execute specific files.\\n\\nAdd-on authors can provide their security profiles, optimized for the add-on, or request it to be disabled. If AppArmor is disabled, it will raise security risks and therefore, has a negative impact on the security score of the add-on.\",\n },\n auth_api: {\n title: \"Home Assistant Authentication\",\n description:\n \"An add-on can authenticate users against Home Assistant, allowing add-ons to give users the possibility to log into applications running inside add-ons, using their Home Assistant username/password. This badge indicates if the add-on author requests this capability.\",\n },\n ingress: {\n title: \"Ingress\",\n description:\n \"This add-on is using Ingress to embed its interface securely into Home Assistant.\",\n },\n};\n\n@customElement(\"hassio-addon-info\")\nclass HassioAddonInfo extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public addon!: HassioAddonDetails;\n @property() private _error?: string;\n\n protected render(): TemplateResult {\n return html`\n ${\n this._computeUpdateAvailable\n ? html`\n \n
    \n \n ${!this.addon.available\n ? html`\n

    \n This update is no longer compatible with your system.\n

    \n `\n : \"\"}\n
    \n
    \n \n Update\n \n ${this.addon.changelog\n ? html`\n \n Changelog\n \n `\n : \"\"}\n
    \n
    \n `\n : \"\"\n }\n\n ${\n !this.addon.protected\n ? html`\n \n
    \n Protection mode on this add-on is disabled! This gives the add-on full access to the entire system, which adds security risks, and could damage your system when used incorrectly. Only disable the protection mode if you know, need AND trust the source of this add-on.\n
    \n
    \n Enable Protection mode\n
    \n
    \n
    \n `\n : \"\"\n }\n\n \n
    \n
    \n ${this.addon.name}\n
    \n ${\n this.addon.version\n ? html`\n ${this.addon.version}\n ${this._computeIsRunning\n ? html`\n \n `\n : html`\n \n `}\n `\n : html`\n ${this.addon.last_version}\n `\n }\n
    \n
    \n
    \n ${this.addon.description}.
    \n Visit \n ${this.addon.name} page\n for details.\n
    \n ${\n this.addon.logo\n ? html`\n \n \n \n `\n : \"\"\n }\n
    \n \n ${\n this.addon.host_network\n ? html`\n \n `\n : \"\"\n }\n\n ${\n this.addon.full_access\n ? html`\n \n `\n : \"\"\n }\n\n ${\n this.addon.homeassistant_api\n ? html`\n \n `\n : \"\"\n }\n\n ${\n this._computeHassioApi\n ? html`\n \n `\n : \"\"\n }\n\n ${\n this.addon.docker_api\n ? html`\n \n `\n : \"\"\n }\n\n ${\n this.addon.host_pid\n ? html`\n \n `\n : \"\"\n }\n\n ${\n this.addon.apparmor\n ? html`\n \n `\n : \"\"\n }\n\n ${\n this.addon.auth_api\n ? html`\n \n `\n : \"\"\n }\n\n ${\n this.addon.ingress\n ? html`\n \n `\n : \"\"\n }\n
    \n\n ${\n this.addon.version\n ? html`\n
    \n
    Start on boot
    \n \n
    \n
    \n
    Auto update
    \n \n
    \n ${this.addon.ingress\n ? html`\n
    \n
    Show in sidebar
    \n \n ${this._computeCannotIngressSidebar\n ? html`\n \n This option requires Home Assistant 0.92 or\n later.\n \n `\n : \"\"}\n
    \n `\n : \"\"}\n ${this._computeUsesProtectedOptions\n ? html`\n
    \n
    \n Protection mode\n \n \n \n Grant the add-on elevated system access.\n \n \n
    \n \n
    \n `\n : \"\"}\n `\n : \"\"\n }\n ${\n this._error\n ? html`\n
    ${this._error}
    \n `\n : \"\"\n }\n
    \n
    \n ${\n this.addon.version\n ? html`\n \n Uninstall\n \n ${this.addon.build\n ? html`\n \n Rebuild\n \n `\n : \"\"}\n ${this._computeIsRunning\n ? html`\n \n Restart\n \n \n Stop\n \n `\n : html`\n \n Start\n \n `}\n ${this._computeShowWebUI\n ? html`\n \n \n Open web UI\n \n \n `\n : \"\"}\n ${this._computeShowIngressUI\n ? html`\n \n Open web UI\n \n `\n : \"\"}\n `\n : html`\n ${!this.addon.available\n ? html`\n

    \n This add-on is not available on your system.\n

    \n `\n : \"\"}\n \n Install\n \n `\n }\n
    \n
    \n\n ${\n this.addon.long_description\n ? html`\n \n
    \n \n
    \n
    \n `\n : \"\"\n }\n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n paper-card.warning {\n background-color: var(--google-red-500);\n color: white;\n --paper-card-header-color: white;\n }\n paper-card.warning mwc-button {\n --mdc-theme-primary: white !important;\n }\n .warning {\n color: var(--google-red-500);\n --mdc-theme-primary: var(--google-red-500);\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 .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\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 {\n display: flex;\n margin: 8px 0;\n }\n .state div {\n width: 180px;\n display: inline-block;\n }\n .state iron-icon {\n width: 16px;\n color: var(--secondary-text-color);\n }\n ha-switch {\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 protection-enable mwc-button {\n --mdc-theme-primary: white;\n }\n .description a,\n ha-markdown a {\n color: var(--primary-color);\n }\n .red {\n --ha-label-badge-color: var(--label-badge-red, #df4c1e);\n }\n .blue {\n --ha-label-badge-color: var(--label-badge-blue, #039be5);\n }\n .green {\n --ha-label-badge-color: var(--label-badge-green, #0da035);\n }\n .yellow {\n --ha-label-badge-color: var(--label-badge-yellow, #f4b400);\n }\n .security {\n margin-bottom: 16px;\n }\n .card-actions {\n display: flow-root;\n }\n .security h3 {\n margin-bottom: 8px;\n font-weight: normal;\n }\n .security ha-label-badge {\n cursor: pointer;\n margin-right: 4px;\n --iron-icon-height: 45px;\n }\n `,\n ];\n }\n\n private get _computeHassioApi(): boolean {\n return (\n this.addon.hassio_api &&\n (this.addon.hassio_role === \"manager\" ||\n this.addon.hassio_role === \"admin\")\n );\n }\n\n private get _computeApparmorClassName(): string {\n if (this.addon.apparmor === \"profile\") {\n return \"green\";\n }\n if (this.addon.apparmor === \"disable\") {\n return \"red\";\n }\n return \"\";\n }\n\n private _showMoreInfo(ev): void {\n const id = ev.target.getAttribute(\"id\");\n showHassioMarkdownDialog(this, {\n title: PERMIS_DESC[id].title,\n content: PERMIS_DESC[id].description,\n });\n }\n\n private get _computeIsRunning(): boolean {\n return this.addon?.state === \"started\";\n }\n\n private get _computeUpdateAvailable(): boolean | \"\" {\n return (\n this.addon &&\n !this.addon.detached &&\n this.addon.version &&\n this.addon.version !== this.addon.last_version\n );\n }\n\n private get _pathWebui(): string | null {\n return (\n this.addon.webui &&\n this.addon.webui.replace(\"[HOST]\", document.location.hostname)\n );\n }\n\n private get _computeShowWebUI(): boolean | \"\" | null {\n return !this.addon.ingress && this.addon.webui && this._computeIsRunning;\n }\n\n private _openIngress(): void {\n navigate(this, `/hassio/ingress/${this.addon.slug}`);\n }\n\n private get _computeShowIngressUI(): boolean {\n return this.addon.ingress && this._computeIsRunning;\n }\n\n private get _computeCannotIngressSidebar(): boolean {\n return !this.addon.ingress || !this._computeHA92plus;\n }\n\n private get _computeUsesProtectedOptions(): boolean {\n return (\n this.addon.docker_api || this.addon.full_access || this.addon.host_pid\n );\n }\n\n private get _computeHA92plus(): boolean {\n const [major, minor] = this.hass.config.version.split(\".\", 2);\n return Number(major) > 0 || (major === \"0\" && Number(minor) >= 92);\n }\n\n private async _startOnBootToggled(): Promise {\n this._error = undefined;\n const data: HassioAddonSetOptionParams = {\n boot: this.addon.boot === \"auto\" ? \"manual\" : \"auto\",\n };\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon option, ${err.body?.message || err}`;\n }\n }\n\n private async _autoUpdateToggled(): Promise {\n this._error = undefined;\n const data: HassioAddonSetOptionParams = {\n auto_update: !this.addon.auto_update,\n };\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon option, ${err.body?.message || err}`;\n }\n }\n\n private async _protectionToggled(): Promise {\n this._error = undefined;\n const data: HassioAddonSetSecurityParams = {\n protected: !this.addon.protected,\n };\n try {\n await setHassioAddonSecurity(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"security\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon security option, ${err.body?.message ||\n err}`;\n }\n }\n\n private async _panelToggled(): Promise {\n this._error = undefined;\n const data: HassioAddonSetOptionParams = {\n ingress_panel: !this.addon.ingress_panel,\n };\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon option, ${err.body?.message || err}`;\n }\n }\n\n private async _openChangelog(): Promise {\n this._error = undefined;\n try {\n const content = await fetchHassioAddonChangelog(\n this.hass,\n this.addon.slug\n );\n showHassioMarkdownDialog(this, {\n title: \"Changelog\",\n content,\n });\n } catch (err) {\n this._error = `Failed to get addon changelog, ${err.body?.message ||\n err}`;\n }\n }\n\n private async _installClicked(): Promise {\n this._error = undefined;\n try {\n await installHassioAddon(this.hass, this.addon.slug);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"install\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to install addon, ${err.body?.message || err}`;\n }\n }\n\n private async _uninstallClicked(): Promise {\n if (!confirm(\"Are you sure you want to uninstall this add-on?\")) {\n return;\n }\n this._error = undefined;\n try {\n await uninstallHassioAddon(this.hass, this.addon.slug);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"uninstall\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to uninstall addon, ${err.body?.message || err}`;\n }\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-info\": HassioAddonInfo;\n }\n}\n","import \"@material/mwc-button\";\nimport \"@polymer/paper-card/paper-card\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n query,\n} from \"lit-element\";\nimport { HomeAssistant } from \"../../../src/types\";\nimport {\n HassioAddonDetails,\n fetchHassioAddonLogs,\n} from \"../../../src/data/hassio/addon\";\nimport { ANSI_HTML_STYLE, parseTextToColoredPre } from \"../ansi-to-html\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\n\n@customElement(\"hassio-addon-logs\")\nclass HassioAddonLogs extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public addon!: HassioAddonDetails;\n @property() private _error?: string;\n @query(\"#content\") private _logContent!: any;\n\n public async connectedCallback(): Promise {\n super.connectedCallback();\n await this._loadData();\n }\n\n protected render(): TemplateResult {\n return html`\n \n ${this._error\n ? html`\n
    ${this._error}
    \n `\n : \"\"}\n
    \n
    \n Refresh\n
    \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n ANSI_HTML_STYLE,\n css`\n :host,\n paper-card {\n display: block;\n }\n pre {\n overflow-x: auto;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n `,\n ];\n }\n\n private async _loadData(): Promise {\n this._error = undefined;\n try {\n const content = await fetchHassioAddonLogs(this.hass, this.addon.slug);\n while (this._logContent.lastChild) {\n this._logContent.removeChild(this._logContent.lastChild as Node);\n }\n this._logContent.appendChild(parseTextToColoredPre(content));\n } catch (err) {\n this._error = `Failed to get addon logs, ${err.body?.message || err}`;\n }\n }\n\n private async _refresh(): Promise {\n await this._loadData();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-logs\": HassioAddonLogs;\n }\n}\n","import \"@polymer/paper-card/paper-card\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n PropertyValues,\n TemplateResult,\n} from \"lit-element\";\n\nimport { PaperInputElement } from \"@polymer/paper-input/paper-input\";\n\nimport { HomeAssistant } from \"../../../src/types\";\nimport {\n HassioAddonDetails,\n HassioAddonSetOptionParams,\n setHassioAddonOption,\n} from \"../../../src/data/hassio/addon\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\nimport { fireEvent } from \"../../../src/common/dom/fire_event\";\n\ninterface NetworkItem {\n description: string;\n container: string;\n host: number | null;\n}\n\ninterface NetworkItemInput extends PaperInputElement {\n container: string;\n}\n\n@customElement(\"hassio-addon-network\")\nclass HassioAddonNetwork extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public addon!: HassioAddonDetails;\n @property() private _error?: string;\n @property() private _config?: NetworkItem[];\n\n public connectedCallback(): void {\n super.connectedCallback();\n this._setNetworkConfig();\n }\n\n protected render(): TemplateResult {\n if (!this._config) {\n return html``;\n }\n\n return html`\n \n
    \n ${this._error\n ? html`\n
    ${this._error}
    \n `\n : \"\"}\n\n \n \n \n \n \n \n \n ${this._config!.map((item) => {\n return html`\n \n \n \n \n \n `;\n })}\n \n
    ContainerHostDescription
    ${item.container}\n \n ${item.description}
    \n
    \n
    \n \n Reset to defaults\n \n Save\n
    \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\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 display: flex;\n justify-content: space-between;\n }\n `,\n ];\n }\n\n protected update(changedProperties: PropertyValues): void {\n super.update(changedProperties);\n if (changedProperties.has(\"addon\")) {\n this._setNetworkConfig();\n }\n }\n\n private _setNetworkConfig(): void {\n const network = this.addon.network || {};\n const description = this.addon.network_description || {};\n const items: NetworkItem[] = Object.keys(network).map((key) => {\n return {\n container: key,\n host: network[key],\n description: description[key],\n };\n });\n this._config = items.sort((a, b) => (a.container > b.container ? 1 : -1));\n }\n\n private async _configChanged(ev: Event): Promise {\n const target = ev.target as NetworkItemInput;\n this._config!.forEach((item) => {\n if (\n item.container === target.container &&\n item.host !== parseInt(String(target.value), 10)\n ) {\n item.host = target.value ? parseInt(String(target.value), 10) : null;\n }\n });\n }\n\n private async _resetTapped(): Promise {\n const data: HassioAddonSetOptionParams = {\n network: null,\n };\n\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon network configuration, ${err.body\n ?.message || err}`;\n }\n }\n\n private async _saveTapped(): Promise {\n this._error = undefined;\n const networkconfiguration = {};\n this._config!.forEach((item) => {\n networkconfiguration[item.container] = parseInt(String(item.host), 10);\n });\n\n const data: HassioAddonSetOptionParams = {\n network: networkconfiguration,\n };\n\n try {\n await setHassioAddonOption(this.hass, this.addon.slug, data);\n const eventdata = {\n success: true,\n response: undefined,\n path: \"option\",\n };\n fireEvent(this, \"hass-api-called\", eventdata);\n } catch (err) {\n this._error = `Failed to set addon network configuration, ${err.body\n ?.message || err}`;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-network\": HassioAddonNetwork;\n }\n}\n","import \"@polymer/app-layout/app-header-layout/app-header-layout\";\nimport \"@polymer/app-layout/app-header/app-header\";\nimport \"@polymer/app-layout/app-toolbar/app-toolbar\";\nimport \"@polymer/paper-icon-button/paper-icon-button\";\nimport \"@polymer/paper-spinner/paper-spinner-lite\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from \"lit-element\";\n\nimport { HomeAssistant, Route } from \"../../../src/types\";\nimport {\n HassioAddonDetails,\n fetchHassioAddonInfo,\n} from \"../../../src/data/hassio/addon\";\nimport { hassioStyle } from \"../resources/hassio-style\";\nimport { haStyle } from \"../../../src/resources/styles\";\n\nimport \"./hassio-addon-audio\";\nimport \"./hassio-addon-config\";\nimport \"./hassio-addon-info\";\nimport \"./hassio-addon-logs\";\nimport \"./hassio-addon-network\";\n\n@customElement(\"hassio-addon-view\")\nclass HassioAddonView extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() public route!: Route;\n @property() public addon?: HassioAddonDetails;\n\n protected render(): TemplateResult {\n if (!this.addon) {\n return html`\n \n `;\n }\n return html`\n \n
    \n \n\n ${this.addon && this.addon.version\n ? html`\n \n\n ${this.addon.audio\n ? html`\n \n `\n : \"\"}\n ${this.addon.network\n ? html`\n \n `\n : \"\"}\n\n \n `\n : \"\"}\n
    \n
    \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyle,\n hassioStyle,\n css`\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 max-width: calc(100% - 8px);\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 min-width: 100%;\n }\n }\n `,\n ];\n }\n\n protected async firstUpdated(): Promise {\n await this._routeDataChanged(this.route);\n this.addEventListener(\"hass-api-called\", (ev) => this._apiCalled(ev));\n }\n\n private async _apiCalled(ev): Promise {\n const path: string = ev.detail.path;\n\n if (!path) {\n return;\n }\n\n if (path === \"uninstall\") {\n history.back();\n } else {\n await this._routeDataChanged(this.route);\n }\n }\n\n private async _routeDataChanged(routeData: Route): Promise {\n const addon = routeData.path.substr(1);\n try {\n const addoninfo = await fetchHassioAddonInfo(this.hass, addon);\n this.addon = addoninfo;\n } catch {\n this.addon = undefined;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"hassio-addon-view\": HassioAddonView;\n }\n}\n","import { UpdatingElement, property, customElement } from \"lit-element\";\n// eslint-disable-next-line import/no-webpack-loader-syntax\n// @ts-ignore\n// tslint:disable-next-line: no-implicit-dependencies\nimport markdownWorker from \"workerize-loader!../resources/markdown_worker\";\nimport { fireEvent } from \"../common/dom/fire_event\";\n\nlet worker: any | undefined;\n\n@customElement(\"ha-markdown\")\nclass HaMarkdown extends UpdatingElement {\n @property() public content = \"\";\n @property({ type: Boolean }) public allowSvg = false;\n\n protected update(changedProps) {\n super.update(changedProps);\n\n if (!worker) {\n worker = markdownWorker();\n }\n\n this._render();\n }\n\n private async _render() {\n this.innerHTML = await worker.renderMarkdown(\n this.content,\n {\n breaks: true,\n gfm: true,\n tables: true,\n },\n {\n allowSvg: this.allowSvg,\n }\n );\n\n this._resize();\n\n const walker = document.createTreeWalker(\n this,\n 1 /* SHOW_ELEMENT */,\n null,\n false\n );\n\n while (walker.nextNode()) {\n const node = walker.currentNode;\n\n // Open external links in a new window\n if (\n node instanceof HTMLAnchorElement &&\n node.host !== document.location.host\n ) {\n node.target = \"_blank\";\n\n // protect referrer on external links and deny window.opener access for security reasons\n // (see https://mathiasbynens.github.io/rel-noopener/)\n node.rel = \"noreferrer noopener\";\n\n // Fire a resize event when images loaded to notify content resized\n } else if (node) {\n node.addEventListener(\"load\", this._resize);\n }\n }\n }\n\n private _resize = () => fireEvent(this, \"iron-resize\");\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-markdown\": HaMarkdown;\n }\n}\n","\n\t\t\t\tvar addMethods = require(\"../../node_modules/workerize-loader/dist/rpc-wrapper.js\")\n\t\t\t\tvar methods = [\"renderMarkdown\"]\n\t\t\t\tmodule.exports = function() {\n\t\t\t\t\tvar w = new Worker(__webpack_public_path__ + \"201359fd5a526afe13ef.worker.js\", { name: \"[hash].worker.js\" })\n\t\t\t\t\taddMethods(w, methods)\n\t\t\t\t\t\n\t\t\t\t\treturn w\n\t\t\t\t}\n\t\t\t"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.c0a46a38d689ab648885.js b/hassio/api/panel/chunk.c0a46a38d689ab648885.js new file mode 100644 index 000000000..963217271 --- /dev/null +++ b/hassio/api/panel/chunk.c0a46a38d689ab648885.js @@ -0,0 +1,3 @@ +/*! For license information please see chunk.c0a46a38d689ab648885.js.LICENSE */ +(self.webpackJsonp=self.webpackJsonp||[]).push([[2],{132:function(e,t,n){"use strict";n.r(t);n(16),n(41),n(20),n(75),n(22),n(44);var o=n(4),r=n(101),i=("".concat(location.protocol,"//").concat(location.host),n(9));n(77);function s(e){return(s="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})(e)}function a(){var e=y(["\n ha-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 ha-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 ha-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 .warning,\n .error {\n color: var(--google-red-500);\n }\n .buttons {\n display: flex;\n flex-direction: column;\n }\n .buttons li {\n list-style-type: none;\n }\n .buttons .icon {\n margin-right: 16px;\n }\n .no-margin-top {\n margin-top: 0;\n }\n "]);return a=function(){return e},e}function l(){var e=y(["\n
  • \n \n Wipe & restore\n \n
  • \n ']);return l=function(){return e},e}function c(){var e=y(['\n

    Error: ',"

    \n "]);return c=function(){return e},e}function d(){var e=y(['\n \n ',"\n \n "]);return p=function(){return e},e}function u(){var e=y(['\n
    Add-on:
    \n \n ',"\n \n "]);return u=function(){return e},e}function h(){var e=y(["\n \n ',"\n \n "]);return h=function(){return e},e}function f(){var e=y(['\n
    Folders:
    \n \n ',"\n \n "]);return f=function(){return e},e}function m(){var e=y(['\n \n \n \n
    ','
    \n
    \n
    \n ',"\n (",")
    \n ","\n
    \n
    Home Assistant:
    \n \n Home Assistant ',"\n \n ","\n ","\n ","\n ",'\n\n
    Actions:
    \n
      \n
    • \n \n \n Download Snapshot\n \n
    • \n
    • \n \n \n Restore Selected\n \n
    • \n ',"\n
    • \n \n Delete Snapshot\n \n
    • \n
    \n \n ']);return m=function(){return e},e}function g(){var e=y([""]);return g=function(){return e},e}function y(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function b(e){return(b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function v(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function k(e,t){return(k=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _(e){var t,n=C(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var o={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(o.decorators=e.decorators),"field"===e.kind&&(o.initializer=e.value),o}function w(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function O(e){return e.decorators&&e.decorators.length}function E(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function x(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function C(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==s(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}!function(e,t,n,o){var r=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(o){t.forEach(function(t){var r=t.placement;if(t.kind===o&&("static"===r||"prototype"===r)){var i="static"===r?e:n;this.defineClassElement(i,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var o=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===o?void 0:o.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],o=[],r={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,r)},this),e.forEach(function(e){if(!O(e))return n.push(e);var t=this.decorateElement(e,r);n.push(t.element),n.push.apply(n,t.extras),o.push.apply(o,t.finishers)},this),!t)return{elements:n,finishers:o};var i=this.decorateConstructor(n,t);return o.push.apply(o,i.finishers),i.finishers=o,i},addElementPlacement:function(e,t,n){var o=t[e.placement];if(!n&&-1!==o.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");o.push(e.key)},decorateElement:function(e,t){for(var n=[],o=[],r=e.decorators,i=r.length-1;i>=0;i--){var s=t[e.placement];s.splice(s.indexOf(e.key),1);var a=this.fromElementDescriptor(e),l=this.toElementFinisherExtras((0,r[i])(a)||a);e=l.element,this.addElementPlacement(e,t),l.finisher&&o.push(l.finisher);var c=l.extras;if(c){for(var d=0;d=0;o--){var r=this.fromClassDescriptor(e),i=this.toClassDescriptor((0,t[o])(r)||r);if(void 0!==i.finisher&&n.push(i.finisher),void 0!==i.elements){e=i.elements;for(var s=0;st.name?1:-1}),this._addons=(n=this.snapshot.addons,n.map(function(e){return{slug:e.slug,name:e.name,version:e.version,checked:!0}})).sort(function(e,t){return e.name>t.name?1:-1}),this._dialogParams=e,t.prev=6,this._dialog.open(),t.next=14;break;case 10:return t.prev=10,t.t0=t.catch(6),t.next=14,regeneratorRuntime.awrap(this.showDialog(e));case 14:case"end":return t.stop()}var n,o,i},null,this,[[6,10]])}},{kind:"method",key:"render",value:function(){var e=this;return this.snapshot?Object(o.e)(m(),this._dialogClosed,this._computeName,"full"===this.snapshot.type?"Full snapshot":"Partial snapshot",this._computeSize,this._formatDatetime(this.snapshot.date),this._restoreHass,function(t){return e._restoreHass=t.target.checked},this.snapshot.homeassistant,this._folders.length?Object(o.e)(f(),this._folders.map(function(t){return Object(o.e)(h(),t.checked,function(n){return e._updateFolders(t,n.target.checked)},t.name)})):"",this._addons.length?Object(o.e)(u(),this._addons.map(function(t){return Object(o.e)(p(),t.checked,function(n){return e._updateAddons(t,n.target.checked)},t.name)})):"",this.snapshot.protected?Object(o.e)(d(),this._passwordInput,this._snapshotPassword):"",this._error?Object(o.e)(c(),this._error):"",this._downloadClicked,this._partialRestoreClicked,"full"===this.snapshot.type?Object(o.e)(l(),this._fullRestoreClicked):"",this._deleteClicked):Object(o.e)(g())}},{kind:"get",static:!0,key:"styles",value:function(){return[i.b,Object(o.c)(a())]}},{kind:"method",key:"_updateFolders",value:function(e,t){this._folders=this._folders.map(function(n){return n.slug===e.slug&&(n.checked=t),n})}},{kind:"method",key:"_updateAddons",value:function(e,t){this._addons=this._addons.map(function(n){return n.slug===e.slug&&(n.checked=t),n})}},{kind:"method",key:"_passwordInput",value:function(e){this._snapshotPassword=e.detail.value}},{kind:"method",key:"_partialRestoreClicked",value:function(){var e=this;if(confirm("Are you sure you want to restore this snapshot?")){var t=this._addons.filter(function(e){return e.checked}).map(function(e){return e.slug}),n=this._folders.filter(function(e){return e.checked}).map(function(e){return e.slug}),o={homeassistant:this._restoreHass,addons:t,folders:n};this.snapshot.protected&&(o.password=this._snapshotPassword),this.hass.callApi("POST","hassio/snapshots/".concat(this.snapshot.slug,"/restore/partial"),o).then(function(){alert("Snapshot restored!"),e._dialog.close()},function(t){e._error=t.body.message})}}},{kind:"method",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}:void 0;this.hass.callApi("POST","hassio/snapshots/".concat(this.snapshot.slug,"/restore/full"),t).then(function(){alert("Snapshot restored!"),e._dialog.close()},function(t){e._error=t.body.message})}}},{kind:"method",key:"_deleteClicked",value:function(){var e=this;confirm("Are you sure you want to delete this snapshot?")&&this.hass.callApi("POST","hassio/snapshots/".concat(this.snapshot.slug,"/remove")).then(function(){e._dialog.close(),e._dialogParams.onDelete()},function(t){e._error=t.body.message})}},{kind:"method",key:"_downloadClicked",value:function(){var e,t,n;return regeneratorRuntime.async(function(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,o.next=3,regeneratorRuntime.awrap((r=this.hass,i="/api/hassio/snapshots/".concat(this.snapshot.slug,"/download"),r.callWS({type:"auth/sign_path",path:i})));case 3:e=o.sent,o.next=10;break;case 6:return o.prev=6,o.t0=o.catch(0),alert("Error: ".concat(o.t0.message)),o.abrupt("return");case 10:t=this._computeName.replace(/[^a-z0-9]+/gi,"_"),(n=document.createElement("a")).href=e.path,n.download="Hass_io_".concat(t,".tar"),this._dialog.appendChild(n),n.click(),this._dialog.removeChild(n);case 17:case"end":return o.stop()}var r,i},null,this,[[0,6]])}},{kind:"get",key:"_computeName",value:function(){return this.snapshot?this.snapshot.name||this.snapshot.slug:"Unnamed snapshot"}},{kind:"get",key:"_computeSize",value:function(){return Math.ceil(10*this.snapshot.size)/10+" MB"}},{kind:"method",key:"_formatDatetime",value:function(e){return new Date(e).toLocaleDateString(navigator.language,{weekday:"long",year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}},{kind:"method",key:"_dialogClosed",value:function(){this._dialogParams=void 0,this.snapshot=void 0,this._snapshotPassword="",this._folders=[],this._addons=[]}}]}},o.a)},43:function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return s});n(3);var o=n(76),r=n(7),i={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=Object(r.a)(e).path,n=0,o=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']);return s=function(){return e},e}Object(r.a)({_template:Object(i.a)(s()),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(o.b)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})},77:function(e,t,n){"use strict";n(3),n(10),n(11),n(29),n(39);var o=document.createElement("template");o.setAttribute("style","display: none;"),o.innerHTML='\n \n',document.head.appendChild(o.content);var r=n(82),i=n(43),s=n(6),a=n(5);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return l=function(){return e},e}Object(s.a)({_template:Object(a.a)(l()),is:"paper-dialog",behaviors:[i.a,r.a],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 c=n(63),d=n(7),p=n(71),u={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?p.a._sortByTabIndex(t):t},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!p.a._isVisible(e))return!1;var n,o=e,r=p.a._normalizedTabIndex(o),i=r>0;r>=0&&t.push(o),n="content"===o.localName||"slot"===o.localName?Object(d.a)(o).getDistributedNodes():Object(d.a)(o.shadowRoot||o.root||o).children;for(var s=0;sd#;Jr-Oe0t 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 VHoN~{yISJae*x@+XPP!^003geDjfg- literal 0 HcmV?d00001 diff --git a/hassio/api/panel/chunk.c0a46a38d689ab648885.js.map b/hassio/api/panel/chunk.c0a46a38d689ab648885.js.map new file mode 100644 index 000000000..54b83aadb --- /dev/null +++ b/hassio/api/panel/chunk.c0a46a38d689ab648885.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/data/auth.ts","webpack:///./hassio/src/dialogs/snapshot/dialog-hassio-snapshot.ts","webpack:///./node_modules/@polymer/paper-dialog-behavior/paper-dialog-behavior.js","webpack:///./node_modules/@polymer/paper-dialog-scrollable/paper-dialog-scrollable.js","webpack:///./node_modules/@polymer/paper-dialog-behavior/paper-dialog-shared-styles.js","webpack:///./node_modules/@polymer/paper-dialog/paper-dialog.js","webpack:///./src/components/dialog/ha-iron-focusables-helper.js","webpack:///./src/components/dialog/ha-paper-dialog.ts"],"names":["concat","location","protocol","host","customElement","property","query","params","regeneratorRuntime","async","_context","prev","next","awrap","fetchHassioSnapshotInfo","this","hass","slug","snapshot","sent","_folders","folders","list","includes","push","name","checked","sort","a","b","_addons","addons","map","addon","version","_dialogParams","_dialog","open","t0","showDialog","stop","_this2","html","_templateObject2","_dialogClosed","_computeName","type","_computeSize","_formatDatetime","date","_restoreHass","ev","target","homeassistant","length","_templateObject3","item","_templateObject4","_updateFolders","_templateObject5","_templateObject6","_updateAddons","_templateObject7","_passwordInput","_snapshotPassword","_error","_templateObject8","_downloadClicked","_partialRestoreClicked","_templateObject9","_fullRestoreClicked","_deleteClicked","_templateObject","haStyleDialog","css","_templateObject10","value","folder","detail","_this3","confirm","filter","data","password","callApi","then","alert","close","error","body","message","_this4","undefined","_this5","onDelete","signedPath","_context2","path","callWS","abrupt","replace","document","createElement","href","download","appendChild","click","removeChild","Math","ceil","size","datetime","Date","toLocaleDateString","navigator","language","weekday","year","month","day","hour","minute","LitElement","__webpack_require__","d","__webpack_exports__","PaperDialogBehaviorImpl","PaperDialogBehavior","_polymer_iron_overlay_behavior_iron_overlay_behavior_js__WEBPACK_IMPORTED_MODULE_1__","_polymer_polymer_lib_legacy_polymer_dom_js__WEBPACK_IMPORTED_MODULE_2__","hostAttributes","role","tabindex","properties","modal","Boolean","__readied","observers","listeners","tap","ready","__prevNoCancelOnOutsideClick","noCancelOnOutsideClick","__prevNoCancelOnEscKey","noCancelOnEscKey","__prevWithBackdrop","withBackdrop","_modalChanged","readied","_updateClosingReasonConfirmed","confirmed","closingReason","_onDialogClick","event","dom","i","l","indexOf","hasAttribute","stopPropagation","IronOverlayBehavior","Polymer","_template","is","dialogElement","Object","scrollTarget","$","scrollable","_ensureTarget","classList","add","attached","requestAnimationFrame","updateScrollState","bind","toggleClass","scrollTop","offsetHeight","scrollHeight","parentElement","behaviors","sizingTarget","remove","$_documentContainer","setAttribute","innerHTML","head","content","NeonAnimationRunnerBehavior","neon-animation-finish","_renderOpened","cancelAnimation","playAnimation","_renderClosed","_onNeonAnimationFinish","opened","_finishRenderOpened","_finishRenderClosed","HaIronFocusablesHelper","getTabbableNodes","node","result","_collectTabbableNodes","IronFocusablesHelper","_sortByTabIndex","nodeType","Node","ELEMENT_NODE","_isVisible","children","element","tabIndex","_normalizedTabIndex","needsSort","localName","getDistributedNodes","shadowRoot","root","paperDialogClass","customElements","get","haTabFixBehaviorImpl","_focusableNodes","HaPaperDialog","_mixinBehaviors","_classCallCheck","_possibleConstructorReturn","_getPrototypeOf","apply","arguments","_inherits","mixinBehaviors","define"],"mappings":"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","file":"chunk.c0a46a38d689ab648885.js","sourcesContent":["import { HomeAssistant } from \"../types\";\n\nexport interface AuthProvider {\n name: string;\n id: string;\n type: string;\n}\n\nexport interface Credential {\n type: string;\n}\n\nexport interface SignedPath {\n path: string;\n}\n\nexport const hassUrl = `${location.protocol}//${location.host}`;\n\nexport const getSignedPath = (\n hass: HomeAssistant,\n path: string\n): Promise => hass.callWS({ type: \"auth/sign_path\", path });\n\nexport const fetchAuthProviders = () =>\n fetch(\"/auth/providers\", {\n credentials: \"same-origin\",\n });\n","import \"@material/mwc-button\";\nimport \"@polymer/app-layout/app-toolbar/app-toolbar\";\nimport \"@polymer/iron-icon/iron-icon\";\nimport \"@polymer/paper-dialog-scrollable/paper-dialog-scrollable\";\nimport \"@polymer/paper-icon-button/paper-icon-button\";\nimport \"@polymer/paper-input/paper-input\";\nimport { PaperDialogElement } from \"@polymer/paper-dialog\";\nimport { PaperCheckboxElement } from \"@polymer/paper-checkbox/paper-checkbox\";\nimport {\n css,\n CSSResult,\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n query,\n} from \"lit-element\";\n\nimport {\n fetchHassioSnapshotInfo,\n HassioSnapshotDetail,\n} from \"../../../../src/data/hassio/snapshot\";\nimport { getSignedPath } from \"../../../../src/data/auth\";\nimport { HassioSnapshotDialogParams } from \"./show-dialog-hassio-snapshot\";\nimport { haStyleDialog } from \"../../../../src/resources/styles\";\nimport { HomeAssistant } from \"../../../../src/types\";\nimport { PolymerChangedEvent } from \"../../../../src/polymer-types\";\n\nimport \"../../../../src/components/dialog/ha-paper-dialog\";\n\nconst _computeFolders = (folders) => {\n const list: Array<{ slug: string; name: string; checked: boolean }> = [];\n if (folders.includes(\"homeassistant\")) {\n list.push({\n slug: \"homeassistant\",\n name: \"Home Assistant configuration\",\n checked: true,\n });\n }\n if (folders.includes(\"ssl\")) {\n list.push({ slug: \"ssl\", name: \"SSL\", checked: true });\n }\n if (folders.includes(\"share\")) {\n list.push({ slug: \"share\", name: \"Share\", checked: true });\n }\n if (folders.includes(\"addons/local\")) {\n list.push({ slug: \"addons/local\", name: \"Local add-ons\", checked: true });\n }\n return list;\n};\n\nconst _computeAddons = (addons) => {\n return addons.map((addon) => ({\n slug: addon.slug,\n name: addon.name,\n version: addon.version,\n checked: true,\n }));\n};\n\ninterface AddonItem {\n slug: string;\n name: string;\n version: string;\n checked: boolean | null | undefined;\n}\n\ninterface FolderItem {\n slug: string;\n name: string;\n checked: boolean | null | undefined;\n}\n\n@customElement(\"dialog-hassio-snapshot\")\nclass HassioSnapshotDialog extends LitElement {\n @property() public hass!: HomeAssistant;\n @property() private _error?: string;\n @property() private snapshot?: HassioSnapshotDetail;\n @property() private _folders!: FolderItem[];\n @property() private _addons!: AddonItem[];\n @property() private _dialogParams?: HassioSnapshotDialogParams;\n @property() private _snapshotPassword!: string;\n @property() private _restoreHass: boolean | null | undefined = true;\n @query(\"#dialog\") private _dialog!: PaperDialogElement;\n\n public async showDialog(params: HassioSnapshotDialogParams) {\n this.snapshot = await fetchHassioSnapshotInfo(this.hass, params.slug);\n this._folders = _computeFolders(\n this.snapshot.folders\n ).sort((a: FolderItem, b: FolderItem) => (a.name > b.name ? 1 : -1));\n this._addons = _computeAddons(\n this.snapshot.addons\n ).sort((a: AddonItem, b: AddonItem) => (a.name > b.name ? 1 : -1));\n\n this._dialogParams = params;\n\n try {\n this._dialog.open();\n } catch {\n await this.showDialog(params);\n }\n }\n\n protected render(): TemplateResult {\n if (!this.snapshot) {\n return html``;\n }\n return html`\n \n \n \n
    ${this._computeName}
    \n
    \n
    \n ${this.snapshot.type === \"full\"\n ? \"Full snapshot\"\n : \"Partial snapshot\"}\n (${this._computeSize})
    \n ${this._formatDatetime(this.snapshot.date)}\n
    \n
    Home Assistant:
    \n \n (this._restoreHass = (ev.target as PaperCheckboxElement).checked)}\"\n >\n Home Assistant ${this.snapshot.homeassistant}\n \n ${this._folders.length\n ? html`\n
    Folders:
    \n \n ${this._folders.map((item) => {\n return html`\n \n this._updateFolders(\n item,\n (ev.target as PaperCheckboxElement).checked\n )}\"\n >\n ${item.name}\n \n `;\n })}\n \n `\n : \"\"}\n ${this._addons.length\n ? html`\n
    Add-on:
    \n \n ${this._addons.map((item) => {\n return html`\n \n this._updateAddons(\n item,\n (ev.target as PaperCheckboxElement).checked\n )}\"\n >\n ${item.name}\n \n `;\n })}\n \n `\n : \"\"}\n ${this.snapshot.protected\n ? html`\n \n `\n : \"\"}\n ${this._error\n ? html`\n

    Error: ${this._error}

    \n `\n : \"\"}\n\n
    Actions:
    \n
      \n
    • \n \n \n Download Snapshot\n \n
    • \n
    • \n \n \n Restore Selected\n \n
    • \n ${this.snapshot.type === \"full\"\n ? html`\n
    • \n \n \n Wipe & restore\n \n
    • \n `\n : \"\"}\n
    • \n \n \n Delete Snapshot\n \n
    • \n
    \n \n `;\n }\n\n static get styles(): CSSResult[] {\n return [\n haStyleDialog,\n css`\n ha-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 ha-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 ha-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 .warning,\n .error {\n color: var(--google-red-500);\n }\n .buttons {\n display: flex;\n flex-direction: column;\n }\n .buttons li {\n list-style-type: none;\n }\n .buttons .icon {\n margin-right: 16px;\n }\n .no-margin-top {\n margin-top: 0;\n }\n `,\n ];\n }\n\n private _updateFolders(item: FolderItem, value: boolean | null | undefined) {\n this._folders = this._folders.map((folder) => {\n if (folder.slug === item.slug) {\n folder.checked = value;\n }\n return folder;\n });\n }\n\n private _updateAddons(item: AddonItem, value: boolean | null | undefined) {\n this._addons = this._addons.map((addon) => {\n if (addon.slug === item.slug) {\n addon.checked = value;\n }\n return addon;\n });\n }\n\n private _passwordInput(ev: PolymerChangedEvent) {\n this._snapshotPassword = ev.detail.value;\n }\n\n private _partialRestoreClicked() {\n if (!confirm(\"Are you sure you want to restore this snapshot?\")) {\n return;\n }\n\n const addons = this._addons\n .filter((addon) => addon.checked)\n .map((addon) => addon.slug);\n\n const folders = this._folders\n .filter((folder) => folder.checked)\n .map((folder) => folder.slug);\n\n const data: {\n homeassistant: boolean | null | undefined;\n addons: any;\n folders: any;\n password?: string;\n } = {\n homeassistant: this._restoreHass,\n addons,\n folders,\n };\n\n if (this.snapshot!.protected) {\n data.password = this._snapshotPassword;\n }\n\n this.hass\n .callApi(\n \"POST\",\n\n `hassio/snapshots/${this.snapshot!.slug}/restore/partial`,\n data\n )\n .then(\n () => {\n alert(\"Snapshot restored!\");\n this._dialog.close();\n },\n (error) => {\n this._error = error.body.message;\n }\n );\n }\n\n private _fullRestoreClicked() {\n if (!confirm(\"Are you sure you want to restore this snapshot?\")) {\n return;\n }\n\n const data = this.snapshot!.protected\n ? { password: this._snapshotPassword }\n : undefined;\n\n this.hass\n .callApi(\n \"POST\",\n `hassio/snapshots/${this.snapshot!.slug}/restore/full`,\n data\n )\n .then(\n () => {\n alert(\"Snapshot restored!\");\n this._dialog.close();\n },\n (error) => {\n this._error = error.body.message;\n }\n );\n }\n\n private _deleteClicked() {\n if (!confirm(\"Are you sure you want to delete this snapshot?\")) {\n return;\n }\n\n this.hass\n\n .callApi(\"POST\", `hassio/snapshots/${this.snapshot!.slug}/remove`)\n .then(\n () => {\n this._dialog.close();\n this._dialogParams!.onDelete();\n },\n (error) => {\n this._error = error.body.message;\n }\n );\n }\n\n private async _downloadClicked() {\n let signedPath: { path: string };\n try {\n signedPath = await getSignedPath(\n this.hass,\n `/api/hassio/snapshots/${this.snapshot!.slug}/download`\n );\n } catch (err) {\n alert(`Error: ${err.message}`);\n return;\n }\n\n const name = this._computeName.replace(/[^a-z0-9]+/gi, \"_\");\n const a = document.createElement(\"a\");\n a.href = signedPath.path;\n a.download = `Hass_io_${name}.tar`;\n this._dialog.appendChild(a);\n a.click();\n this._dialog.removeChild(a);\n }\n\n private get _computeName() {\n return this.snapshot\n ? this.snapshot.name || this.snapshot.slug\n : \"Unnamed snapshot\";\n }\n\n private get _computeSize() {\n return Math.ceil(this.snapshot!.size * 10) / 10 + \" MB\";\n }\n\n private _formatDatetime(datetime) {\n return new Date(datetime).toLocaleDateString(navigator.language, {\n weekday: \"long\",\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n hour: \"numeric\",\n minute: \"2-digit\",\n });\n }\n\n private _dialogClosed() {\n this._dialogParams = undefined;\n this.snapshot = undefined;\n this._snapshotPassword = \"\";\n this._folders = [];\n this._addons = [];\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dialog-hassio-snapshot\": HassioSnapshotDialog;\n }\n}\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\n\nimport {IronOverlayBehavior} from '@polymer/iron-overlay-behavior/iron-overlay-behavior.js';\nimport {dom} from '@polymer/polymer/lib/legacy/polymer.dom.js';\n\n/**\n Use `Polymer.PaperDialogBehavior` and `paper-dialog-shared-styles.html` to\n implement a Material Design dialog.\n\n For example, if `` implements this behavior:\n\n \n

    Header

    \n
    Dialog body
    \n
    \n Cancel\n Accept\n
    \n
    \n\n `paper-dialog-shared-styles.html` provide styles for a header, content area,\n and an action area for buttons. Use the `

    ` tag for the header and the\n `buttons` class for the action area. You can use the `paper-dialog-scrollable`\n element (in its own repository) if you need a scrolling content area.\n\n Use the `dialog-dismiss` and `dialog-confirm` attributes on interactive\n controls to close the dialog. If the user dismisses the dialog with\n `dialog-confirm`, the `closingReason` will update to include `confirmed:\n true`.\n\n ### Accessibility\n\n This element has `role=\"dialog\"` by default. Depending on the context, it may\n be more appropriate to override this attribute with `role=\"alertdialog\"`.\n\n If `modal` is set, the element will prevent the focus from exiting the\n element. It will also ensure that focus remains in the dialog.\n\n @hero hero.svg\n @demo demo/index.html\n @polymerBehavior PaperDialogBehavior\n */\nexport const PaperDialogBehaviorImpl = {\n\n hostAttributes: {'role': 'dialog', 'tabindex': '-1'},\n\n properties: {\n\n /**\n * If `modal` is true, this implies `no-cancel-on-outside-click`,\n * `no-cancel-on-esc-key` and `with-backdrop`.\n */\n modal: {type: Boolean, value: false},\n\n __readied: {type: Boolean, value: false}\n\n },\n\n observers: ['_modalChanged(modal, __readied)'],\n\n listeners: {'tap': '_onDialogClick'},\n\n /**\n * @return {void}\n */\n ready: function() {\n // Only now these properties can be read.\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.__readied = true;\n },\n\n _modalChanged: function(modal, readied) {\n // modal implies noCancelOnOutsideClick, noCancelOnEscKey and withBackdrop.\n // We need to wait for the element to be ready before we can read the\n // properties values.\n if (!readied) {\n return;\n }\n\n if (modal) {\n this.__prevNoCancelOnOutsideClick = this.noCancelOnOutsideClick;\n this.__prevNoCancelOnEscKey = this.noCancelOnEscKey;\n this.__prevWithBackdrop = this.withBackdrop;\n this.noCancelOnOutsideClick = true;\n this.noCancelOnEscKey = true;\n this.withBackdrop = true;\n } else {\n // If the value was changed to false, let it false.\n this.noCancelOnOutsideClick =\n this.noCancelOnOutsideClick && this.__prevNoCancelOnOutsideClick;\n this.noCancelOnEscKey =\n this.noCancelOnEscKey && this.__prevNoCancelOnEscKey;\n this.withBackdrop = this.withBackdrop && this.__prevWithBackdrop;\n }\n },\n\n _updateClosingReasonConfirmed: function(confirmed) {\n this.closingReason = this.closingReason || {};\n this.closingReason.confirmed = confirmed;\n },\n\n /**\n * Will dismiss the dialog if user clicked on an element with dialog-dismiss\n * or dialog-confirm attribute.\n */\n _onDialogClick: function(event) {\n // Search for the element with dialog-confirm or dialog-dismiss,\n // from the root target until this (excluded).\n var path = dom(event).path;\n for (var i = 0, l = path.indexOf(this); i < l; i++) {\n var target = path[i];\n if (target.hasAttribute &&\n (target.hasAttribute('dialog-dismiss') ||\n target.hasAttribute('dialog-confirm'))) {\n this._updateClosingReasonConfirmed(\n target.hasAttribute('dialog-confirm'));\n this.close();\n event.stopPropagation();\n break;\n }\n }\n }\n\n};\n\n/** @polymerBehavior */\nexport const PaperDialogBehavior =\n [IronOverlayBehavior, PaperDialogBehaviorImpl];\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/default-theme.js';\n\nimport {PaperDialogBehaviorImpl} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`paper-dialog-scrollable` implements a scrolling area used in a Material Design\ndialog. It shows a divider at the top and/or bottom indicating more content,\ndepending on scroll position. Use this together with elements implementing\n`Polymer.PaperDialogBehavior`.\n\n \n

    Header

    \n \n Lorem ipsum...\n \n
    \n OK\n
    \n
    \n\nIt shows a top divider after scrolling if it is not the first child in its\nparent container, indicating there is more content above. It shows a bottom\ndivider if it is scrollable and it is not the last child in its parent\ncontainer, indicating there is more content below. The bottom divider is hidden\nif it is scrolled to the bottom.\n\nIf `paper-dialog-scrollable` is not a direct child of the element implementing\n`Polymer.PaperDialogBehavior`, remember to set the `dialogElement`:\n\n \n

    Header

    \n
    \n

    Sub-header

    \n \n Lorem ipsum...\n \n
    \n
    \n OK\n
    \n
    \n\n \n\n### Styling\nThe following custom properties and mixins are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-scrollable` | Mixin for the scrollable content | {}\n\n@group Paper Elements\n@element paper-dialog-scrollable\n@demo demo/index.html\n@hero hero.svg\n*/\nPolymer({\n _template: html`\n \n\n
    \n \n
    \n`,\n\n is: 'paper-dialog-scrollable',\n\n properties: {\n\n /**\n * The dialog element that implements `Polymer.PaperDialogBehavior`\n * containing this element.\n * @type {?Node}\n */\n dialogElement: {type: Object}\n\n },\n\n /**\n * Returns the scrolling element.\n */\n get scrollTarget() {\n return this.$.scrollable;\n },\n\n ready: function() {\n this._ensureTarget();\n this.classList.add('no-padding');\n },\n\n attached: function() {\n this._ensureTarget();\n requestAnimationFrame(this.updateScrollState.bind(this));\n },\n\n updateScrollState: function() {\n this.toggleClass('is-scrolled', this.scrollTarget.scrollTop > 0);\n this.toggleClass(\n 'can-scroll',\n this.scrollTarget.offsetHeight < this.scrollTarget.scrollHeight);\n this.toggleClass(\n 'scrolled-to-bottom',\n this.scrollTarget.scrollTop + this.scrollTarget.offsetHeight >=\n this.scrollTarget.scrollHeight);\n },\n\n _ensureTarget: function() {\n // Read parentElement instead of parentNode in order to skip shadowRoots.\n this.dialogElement = this.dialogElement || this.parentElement;\n // Check if dialog implements paper-dialog-behavior. If not, fit\n // scrollTarget to host.\n if (this.dialogElement && this.dialogElement.behaviors &&\n this.dialogElement.behaviors.indexOf(PaperDialogBehaviorImpl) >= 0) {\n this.dialogElement.sizingTarget = this.scrollTarget;\n this.scrollTarget.classList.remove('fit');\n } else if (this.dialogElement) {\n this.scrollTarget.classList.add('fit');\n }\n }\n});\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\n### Styling\n\nThe following custom properties and mixins are available for styling.\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--paper-dialog-background-color` | Dialog background color | `--primary-background-color`\n`--paper-dialog-color` | Dialog foreground color | `--primary-text-color`\n`--paper-dialog` | Mixin applied to the dialog | `{}`\n`--paper-dialog-title` | Mixin applied to the title (`

    `) element | `{}`\n`--paper-dialog-button-color` | Button area foreground color | `--default-primary-color`\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/iron-flex-layout/iron-flex-layout.js';\nimport '@polymer/paper-styles/default-theme.js';\nimport '@polymer/paper-styles/typography.js';\nimport '@polymer/paper-styles/shadow.js';\nconst $_documentContainer = document.createElement('template');\n$_documentContainer.setAttribute('style', 'display: none;');\n\n$_documentContainer.innerHTML = `\n \n`;\n\ndocument.head.appendChild($_documentContainer.content);\n","/**\n@license\nCopyright (c) 2015 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\nimport '@polymer/polymer/polymer-legacy.js';\nimport '@polymer/paper-dialog-behavior/paper-dialog-shared-styles.js';\n\nimport {NeonAnimationRunnerBehavior} from '@polymer/neon-animation/neon-animation-runner-behavior.js';\nimport {PaperDialogBehavior} from '@polymer/paper-dialog-behavior/paper-dialog-behavior.js';\nimport {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';\nimport {html} from '@polymer/polymer/lib/utils/html-tag.js';\n\n/**\nMaterial design:\n[Dialogs](https://www.google.com/design/spec/components/dialogs.html)\n\n`` is a dialog with Material Design styling and optional\nanimations when it is opened or closed. It provides styles for a header, content\narea, and an action area for buttons. You can use the\n`` element (in its own repository) if you need a\nscrolling content area. To autofocus a specific child element after opening the\ndialog, give it the `autofocus` attribute. See `Polymer.PaperDialogBehavior` and\n`Polymer.IronOverlayBehavior` for specifics.\n\nFor example, the following code implements a dialog with a header, scrolling\ncontent area and buttons. Focus will be given to the `dialog-confirm` button\nwhen the dialog is opened.\n\n \n

    Header

    \n \n Lorem ipsum...\n \n
    \n Cancel\n Accept\n
    \n
    \n\n### Styling\n\nSee the docs for `Polymer.PaperDialogBehavior` for the custom properties\navailable for styling this element.\n\n### Animations\n\nSet the `entry-animation` and/or `exit-animation` attributes to add an animation\nwhen the dialog is opened or closed. See the documentation in\n[PolymerElements/neon-animation](https://github.com/PolymerElements/neon-animation)\nfor more info.\n\nFor example:\n\n \n\n \n

    Header

    \n
    Dialog body
    \n
    \n\n### Accessibility\n\nSee the docs for `Polymer.PaperDialogBehavior` for accessibility features\nimplemented by this element.\n\n@group Paper Elements\n@element paper-dialog\n@hero hero.svg\n@demo demo/index.html\n*/\nPolymer({\n _template: html`\n \n \n`,\n\n is: 'paper-dialog',\n behaviors: [PaperDialogBehavior, NeonAnimationRunnerBehavior],\n listeners: {'neon-animation-finish': '_onNeonAnimationFinish'},\n\n _renderOpened: function() {\n this.cancelAnimation();\n this.playAnimation('entry');\n },\n\n _renderClosed: function() {\n this.cancelAnimation();\n this.playAnimation('exit');\n },\n\n _onNeonAnimationFinish: function() {\n if (this.opened) {\n this._finishRenderOpened();\n } else {\n this._finishRenderClosed();\n }\n }\n});\n","/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at\nhttp://polymer.github.io/LICENSE.txt The complete set of authors may be found at\nhttp://polymer.github.io/AUTHORS.txt The complete set of contributors may be\nfound at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\npart of the polymer project is also subject to an additional IP rights grant\nfound at http://polymer.github.io/PATENTS.txt\n*/\n/*\n Fixes issue with not using shadow dom properly in iron-overlay-behavior/icon-focusables-helper.js\n*/\nimport { dom } from \"@polymer/polymer/lib/legacy/polymer.dom.js\";\n\nimport { IronFocusablesHelper } from \"@polymer/iron-overlay-behavior/iron-focusables-helper.js\";\n\nexport const HaIronFocusablesHelper = {\n /**\n * Returns a sorted array of tabbable nodes, including the root node.\n * It searches the tabbable nodes in the light and shadow dom of the chidren,\n * sorting the result by tabindex.\n * @param {!Node} node\n * @return {!Array}\n */\n getTabbableNodes: function(node) {\n var result = [];\n // If there is at least one element with tabindex > 0, we need to sort\n // the final array by tabindex.\n var needsSortByTabIndex = this._collectTabbableNodes(node, result);\n if (needsSortByTabIndex) {\n return IronFocusablesHelper._sortByTabIndex(result);\n }\n return result;\n },\n\n /**\n * Searches for nodes that are tabbable and adds them to the `result` array.\n * Returns if the `result` array needs to be sorted by tabindex.\n * @param {!Node} node The starting point for the search; added to `result`\n * if tabbable.\n * @param {!Array} result\n * @return {boolean}\n * @private\n */\n _collectTabbableNodes: function(node, result) {\n // If not an element or not visible, no need to explore children.\n if (\n node.nodeType !== Node.ELEMENT_NODE ||\n !IronFocusablesHelper._isVisible(node)\n ) {\n return false;\n }\n var element = /** @type {!HTMLElement} */ (node);\n var tabIndex = IronFocusablesHelper._normalizedTabIndex(element);\n var needsSort = tabIndex > 0;\n if (tabIndex >= 0) {\n result.push(element);\n }\n\n // In ShadowDOM v1, tab order is affected by the order of distrubution.\n // E.g. getTabbableNodes(#root) in ShadowDOM v1 should return [#A, #B];\n // in ShadowDOM v0 tab order is not affected by the distrubution order,\n // in fact getTabbableNodes(#root) returns [#B, #A].\n //
    \n // \n // \n // \n // \n // \n // \n //
    \n // TODO(valdrin) support ShadowDOM v1 when upgrading to Polymer v2.0.\n var children;\n if (element.localName === \"content\" || element.localName === \"slot\") {\n children = dom(element).getDistributedNodes();\n } else {\n // /////////////////////////\n // Use shadow root if possible, will check for distributed nodes.\n // THIS IS THE CHANGED LINE\n children = dom(element.shadowRoot || element.root || element).children;\n // /////////////////////////\n }\n for (var i = 0; i < children.length; i++) {\n // Ensure method is always invoked to collect tabbable children.\n needsSort = this._collectTabbableNodes(children[i], result) || needsSort;\n }\n return needsSort;\n },\n};\n","import \"@polymer/paper-dialog/paper-dialog\";\nimport { mixinBehaviors } from \"@polymer/polymer/lib/legacy/class\";\nimport { HaIronFocusablesHelper } from \"./ha-iron-focusables-helper.js\";\n// tslint:disable-next-line\nimport { PaperDialogElement } from \"@polymer/paper-dialog/paper-dialog\";\n\nconst paperDialogClass = customElements.get(\"paper-dialog\");\n\n// behavior that will override existing iron-overlay-behavior and call the fixed implementation\nconst haTabFixBehaviorImpl = {\n get _focusableNodes() {\n return HaIronFocusablesHelper.getTabbableNodes(this);\n },\n};\n\n// paper-dialog that uses the haTabFixBehaviorImpl behvaior\n// export class HaPaperDialog extends paperDialogClass {}\n// @ts-ignore\nexport class HaPaperDialog\n extends mixinBehaviors([haTabFixBehaviorImpl], paperDialogClass)\n implements PaperDialogElement {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"ha-paper-dialog\": HaPaperDialog;\n }\n}\ncustomElements.define(\"ha-paper-dialog\", HaPaperDialog);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.f1156b978f6f3143a651.js b/hassio/api/panel/chunk.f1156b978f6f3143a651.js deleted file mode 100644 index d6c7c96e9..000000000 --- a/hassio/api/panel/chunk.f1156b978f6f3143a651.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{102:function(e,t,n){var r=n(71).FilterCSS,i=n(71).getDefaultWhiteList,o=n(72);function s(){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"]}}var a=new r;function l(e){return e.replace(c,"<").replace(u,">")}var c=//g,p=/"/g,h=/"/g,g=/&#([a-zA-Z0-9]*);?/gim,f=/:?/gim,d=/&newline;?/gim,m=/((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,b=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,k=/u\s*r\s*l\s*\(.*/gi;function x(e){return e.replace(p,""")}function y(e){return e.replace(h,'"')}function w(e){return e.replace(g,function(e,t){return"x"===t[0]||"X"===t[0]?String.fromCharCode(parseInt(t.substr(1),16)):String.fromCharCode(parseInt(t,10))})}function v(e){return e.replace(f,":").replace(d," ")}function _(e){for(var t="",n=0,r=e.length;n/g;t.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"]},t.getDefaultWhiteList=s,t.onTag=function(e,t,n){},t.onIgnoreTag=function(e,t,n){},t.onTagAttr=function(e,t,n){},t.onIgnoreTagAttr=function(e,t,n){},t.safeAttrValue=function(e,t,n,r){if(n=A(n),"href"===t||"src"===t){if("#"===(n=o.trim(n)))return"#";if("http://"!==n.substr(0,7)&&"https://"!==n.substr(0,8)&&"mailto:"!==n.substr(0,7)&&"tel:"!==n.substr(0,4)&&"#"!==n[0]&&"/"!==n[0])return""}else if("background"===t){if(m.lastIndex=0,m.test(n))return""}else if("style"===t){if(b.lastIndex=0,b.test(n))return"";if(k.lastIndex=0,k.test(n)&&(m.lastIndex=0,m.test(n)))return"";!1!==r&&(n=(r=r||a).process(n))}return n=S(n)},t.escapeHtml=l,t.escapeQuote=x,t.unescapeQuote=y,t.escapeHtmlEntities=w,t.escapeDangerHtml5Entities=v,t.clearNonPrintableCharacter=_,t.friendlyAttrValue=A,t.escapeAttrValue=S,t.onIgnoreTagStripAll=function(){return""},t.StripTagBody=function(e,t){"function"!=typeof t&&(t=function(){});var n=!Array.isArray(e),r=[],i=!1;return{onIgnoreTag:function(s,a,l){if(function(t){return!!n||-1!==o.indexOf(e,t)}(s)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return r.push([!1!==i?i:l.position,u]),i=!1,c}return i||(i=l.position),"[removed]"}return t(s,a,l)},remove:function(e){var t="",n=0;return o.forEach(r,function(r){t+=e.slice(n,r[0]),n=r[1]}),t+=e.slice(n)}}},t.stripCommentTag=function(e){return e.replace($,"")},t.stripBlankChar=function(e){var t=e.split("");return(t=t.filter(function(e){var t=e.charCodeAt(0);return!(127===t||t<=31&&10!==t&&13!==t)})).join("")},t.cssFilter=a,t.getDefaultCSSWhiteList=i},103:function(e,t){function n(){var e={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return e}var r=/javascript\s*\:/gim;t.whiteList=n(),t.getDefaultWhiteList=n,t.onAttr=function(e,t,n){},t.onIgnoreAttr=function(e,t,n){},t.safeAttrValue=function(e,t){return r.test(t)?"":t}},104:function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n0;t--){var n=e[t];if(" "!==n)return"="===n?t:-1}}function c(e){return function(e){return'"'===e[0]&&'"'===e[e.length-1]||"'"===e[0]&&"'"===e[e.length-1]}(e)?e.substr(1,e.length-2):e}t.parseTag=function(e,t,n){var r="",s=0,a=!1,l=!1,c=0,u=e.length,p="",h="";for(c=0;c"===g){r+=n(e.slice(s,a)),p=i(h=e.slice(a,c+1)),r+=t(a,r.length,p,h,o(h)),s=c+1,a=!1;continue}if(('"'===g||"'"===g)&&"="===e.charAt(c-1)){l=g;continue}}else if(g===l){l=!1;continue}}return s ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:y,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function a(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||S.defaults,this.rules=s.normal,this.options.pedantic?this.rules=s.pedantic:this.options.gfm&&(this.options.tables?this.rules=s.tables:this.rules=s.gfm)}s._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,s._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,s.def=m(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d{1,9}\.)/,s.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,s.item=m(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=m(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",s._comment=//,s.html=m(s.html,"i").replace("comment",s._comment).replace("tag",s._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),s.paragraph=m(s.paragraph).replace("hr",s.hr).replace("heading",s.heading).replace("lheading",s.lheading).replace("tag",s._tag).getRegex(),s.blockquote=m(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=w({},s),s.gfm=w({},s.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),s.gfm.paragraph=m(s.paragraph).replace("(?!","(?!"+s.gfm.fences.source.replace("\\1","\\2")+"|"+s.list.source.replace("\\1","\\3")+"|").getRegex(),s.tables=w({},s.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),s.pedantic=w({},s.normal,{html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",s._comment).replace(/tag/g,"(?!(?: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").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),a.rules=s,a.lex=function(e,t){return new a(t).lex(e)},a.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},a.prototype.token=function(e,t){var n,r,i,o,a,l,c,u,p,h,g,f,d,m,b,k;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:_(i,"\n")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2]?i[2].trim():i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if((i=this.rules.nptable.exec(e))&&(l={type:"table",header:v(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(i[0].length),g=0;g ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),c={type:"list_start",ordered:m=(o=i[2]).length>1,start:m?+o:"",loose:!1},this.tokens.push(c),u=[],n=!1,d=(i=i[0].match(this.rules.item)).length,g=0;g1?1===a.length:a.length>1||this.options.smartLists&&a!==o)&&(e=i.slice(g+1).join("\n")+e,g=d-1)),r=n||/\n\n(?!\s*$)/.test(l),g!==d-1&&(n="\n"===l.charAt(l.length-1),r||(r=n)),r&&(c.loose=!0),k=void 0,(b=/^\[[ xX]\] /.test(l))&&(k=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),p={type:"list_item_start",task:b,checked:k,loose:r},u.push(p),this.tokens.push(p),this.token(l,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(d=u.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:y,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:y,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",l.em=m(l.em).replace(/punctuation/g,l._punctuation).getRegex(),l._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,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=m(l.autolink).replace("scheme",l._scheme).replace("email",l._email).getRegex(),l._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,l.tag=m(l.tag).replace("comment",s._comment).replace("attribute",l._attribute).getRegex(),l._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/,l._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,l._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,l.link=m(l.link).replace("label",l._label).replace("href",l._href).replace("title",l._title).getRegex(),l.reflink=m(l.reflink).replace("label",l._label).getRegex(),l.normal=w({},l),l.pedantic=w({},l.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",l._label).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",l._label).getRegex()}),l.gfm=w({},l.normal,{escape:m(l.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(o[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(o[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(o[0])&&(this.inRawBlock=!1),e=e.substring(o[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):f(o[0]):o[0];else if(o=this.rules.link.exec(e)){var l=A(o[2],"()");if(l>-1){var u=o[0].length-(o[2].length-l)-(o[3]||"").length;o[2]=o[2].substring(0,l),o[0]=o[0].substring(0,u).trim(),o[3]=""}e=e.substring(o[0].length),this.inLink=!0,r=o[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],i=t[3]):i="":i=o[3]?o[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(o,{href:c.escapes(r),title:c.escapes(i)}),this.inLink=!1}else if((o=this.rules.reflink.exec(e))||(o=this.rules.nolink.exec(e))){if(e=e.substring(o[0].length),t=(o[2]||o[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=o[0].charAt(0),e=o[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(o,t),this.inLink=!1}else if(o=this.rules.strong.exec(e))e=e.substring(o[0].length),a+=this.renderer.strong(this.output(o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.em.exec(e))e=e.substring(o[0].length),a+=this.renderer.em(this.output(o[6]||o[5]||o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.code.exec(e))e=e.substring(o[0].length),a+=this.renderer.codespan(f(o[2].trim(),!0));else if(o=this.rules.br.exec(e))e=e.substring(o[0].length),a+=this.renderer.br();else if(o=this.rules.del.exec(e))e=e.substring(o[0].length),a+=this.renderer.del(this.output(o[1]));else if(o=this.rules.autolink.exec(e))e=e.substring(o[0].length),r="@"===o[2]?"mailto:"+(n=f(this.mangle(o[1]))):n=f(o[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(o=this.rules.url.exec(e))){if(o=this.rules.text.exec(e))e=e.substring(o[0].length),this.inRawBlock?a+=this.renderer.text(o[0]):a+=this.renderer.text(f(this.smartypants(o[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===o[2])r="mailto:"+(n=f(o[0]));else{do{s=o[0],o[0]=this.rules._backpedal.exec(o[0])[0]}while(s!==o[0]);n=f(o[0]),r="www."===o[1]?"http://"+n:n}e=e.substring(o[0].length),a+=this.renderer.link(r,null,n)}return a},c.escapes=function(e){return e?e.replace(c.rules._escapes,"$1"):e},c.prototype.outputLink=function(e,t){var n=t.href,r=t.title?f(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,f(e[1]))},c.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},c.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},u.prototype.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return r?'
    '+(n?e:f(e,!0))+"
    \n":"
    "+(n?e:f(e,!0))+"
    "},u.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},u.prototype.html=function(e){return e},u.prototype.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},u.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},u.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},u.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},u.prototype.checkbox=function(e){return" "},u.prototype.paragraph=function(e){return"

    "+e+"

    \n"},u.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},u.prototype.tablerow=function(e){return"\n"+e+"\n"},u.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},u.prototype.strong=function(e){return""+e+""},u.prototype.em=function(e){return""+e+""},u.prototype.codespan=function(e){return""+e+""},u.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},u.prototype.del=function(e){return""+e+""},u.prototype.link=function(e,t,n){if(null===(e=b(this.options.sanitize,this.options.baseUrl,e)))return n;var r='"},u.prototype.image=function(e,t,n){if(null===(e=b(this.options.sanitize,this.options.baseUrl,e)))return n;var r=''+n+'":">"},u.prototype.text=function(e){return e},p.prototype.strong=p.prototype.em=p.prototype.codespan=p.prototype.del=p.prototype.text=function(e){return e},p.prototype.link=p.prototype.image=function(e,t,n){return""+n},p.prototype.br=function(){return""},h.parse=function(e,t){return new h(t).parse(e)},h.prototype.parse=function(e){this.inline=new c(e.links,this.options),this.inlineText=new c(e.links,w({},this.options,{renderer:new p})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},h.prototype.next=function(){return this.token=this.tokens.pop()},h.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},h.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},h.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)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,i="",o="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},f.escapeTest=/[&<>"']/,f.escapeReplace=/[&<>"']/g,f.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},f.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,f.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var k={},x=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function y(){}function w(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+f(c.message+"",!0)+"
    ";throw c}}y.exec=y,S.options=S.setOptions=function(e){return w(S.defaults,e),S},S.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new u,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},S.defaults=S.getDefaults(),S.Parser=h,S.parser=h.parse,S.Renderer=u,S.TextRenderer=p,S.Lexer=a,S.lexer=a.lex,S.InlineLexer=c,S.inlineLexer=c.output,S.Slugger=g,S.parse=S,"object"===o(t)?e.exports=S:void 0===(i=function(){return S}.call(t,n,t,e))||(e.exports=i)}(this||"undefined"!=typeof window&&window)}).call(this,n(125))},125:function(e,t){function n(e){return(n="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})(e)}var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(i){"object"===("undefined"==typeof window?"undefined":n(window))&&(r=window)}e.exports=r},126:function(e,t,n){var r=n(102),i=n(105),o=n(129);function s(e,t){return new o(t).process(e)}for(var a in(t=e.exports=s).filterXSS=s,t.FilterXSS=o,r)t[a]=r[a];for(var a in i)t[a]=i[a];"undefined"!=typeof window&&(window.filterXSS=e.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=e.exports)},127:function(e,t,n){var r=n(103),i=n(128);n(104);function o(e){return null==e}function s(e){(e=function(e){var t={};for(var n in e)t[n]=e[n];return t}(e||{})).whiteList=e.whiteList||r.whiteList,e.onAttr=e.onAttr||r.onAttr,e.onIgnoreAttr=e.onIgnoreAttr||r.onIgnoreAttr,e.safeAttrValue=e.safeAttrValue||r.safeAttrValue,this.options=e}s.prototype.process=function(e){if(!(e=(e=e||"").toString()))return"";var t=this.options,n=t.whiteList,r=t.onAttr,s=t.onIgnoreAttr,a=t.safeAttrValue;return i(e,function(e,t,i,l,c){var u=n[i],p=!1;if(!0===u?p=u:"function"==typeof u?p=u(l):u instanceof RegExp&&(p=u.test(l)),!0!==p&&(p=!1),l=a(i,l)){var h,g={position:t,sourcePosition:e,source:c,isWhite:p};return p?o(h=r(i,l,g))?i+":"+l:h:o(h=s(i,l,g))?void 0:h}})},e.exports=s},128:function(e,t,n){var r=n(104);e.exports=function(e,t){";"!==(e=r.trimRight(e))[e.length-1]&&(e+=";");var n=e.length,i=!1,o=0,s=0,a="";function l(){if(!i){var n=r.trim(e.slice(o,s)),l=n.indexOf(":");if(-1!==l){var c=r.trim(n.slice(0,l)),u=r.trim(n.slice(l+1));if(c){var p=t(o,a.length,c,u,n);p&&(a+=p+"; ")}}}o=s+1}for(;s";var k=function(e){var t=l.spaceIndex(e);if(-1===t)return{html:"",closing:"/"===e[e.length-2]};var n="/"===(e=l.trim(e.slice(t+1,-1)))[e.length-1];return n&&(e=l.trim(e.slice(0,-1))),{html:e,closing:n}}(s),x=n[i],y=a(k.html,function(e,t){var n,r=-1!==l.indexOf(x,e);return c(n=u(i,e,t,r))?r?(t=h(i,e,t,f))?e+'="'+t+'"':e:c(n=p(i,e,t,r))?void 0:n:n});s="<"+i;return y&&(s+=" "+y),k.closing&&(s+=" /"),s+=">"}return c(m=o(i,s,b))?g(s):m},g);return d&&(m=d.remove(m)),m},e.exports=u},71:function(e,t,n){var r=n(103),i=n(127);for(var o in(t=e.exports=function(e,t){return new i(t).process(e)}).FilterCSS=i,r)t[o]=r[o];"undefined"!=typeof window&&(window.filterCSS=e.exports)},72:function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.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 diff --git a/hassio/api/panel/chunk.f1156b978f6f3143a651.js.map b/hassio/api/panel/chunk.f1156b978f6f3143a651.js.map deleted file mode 100644 index dab3aa92d..000000000 --- a/hassio/api/panel/chunk.f1156b978f6f3143a651.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///../node_modules/xss/lib/default.js","webpack:///../node_modules/cssfilter/lib/default.js","webpack:///../node_modules/cssfilter/lib/util.js","webpack:///../node_modules/xss/lib/parser.js","webpack:///../node_modules/marked/lib/marked.js","webpack:///../node_modules/webpack/buildin/global.js","webpack:///../node_modules/xss/lib/index.js","webpack:///../node_modules/cssfilter/lib/css.js","webpack:///../node_modules/cssfilter/lib/parser.js","webpack:///../node_modules/xss/lib/xss.js","webpack:///../node_modules/cssfilter/lib/index.js","webpack:///../node_modules/xss/lib/util.js"],"names":["FilterCSS","require","getDefaultCSSWhiteList","getDefaultWhiteList","_","a","abbr","address","area","article","aside","audio","b","bdi","bdo","big","blockquote","br","caption","center","cite","code","col","colgroup","dd","del","details","div","dl","dt","em","font","footer","h1","h2","h3","h4","h5","h6","header","hr","i","img","ins","li","mark","nav","ol","p","pre","s","section","small","span","sub","sup","strong","table","tbody","td","tfoot","th","thead","tr","tt","u","ul","video","defaultCSSFilter","escapeHtml","html","replace","REGEXP_LT","REGEXP_GT","REGEXP_QUOTE","REGEXP_QUOTE_2","REGEXP_ATTR_VALUE_1","REGEXP_ATTR_VALUE_COLON","REGEXP_ATTR_VALUE_NEWLINE","REGEXP_DEFAULT_ON_TAG_ATTR_4","REGEXP_DEFAULT_ON_TAG_ATTR_7","REGEXP_DEFAULT_ON_TAG_ATTR_8","escapeQuote","str","unescapeQuote","escapeHtmlEntities","String","fromCharCode","parseInt","substr","escapeDangerHtml5Entities","clearNonPrintableCharacter","str2","len","length","charCodeAt","charAt","trim","friendlyAttrValue","escapeAttrValue","STRIP_COMMENT_TAG_REGEXP","exports","whiteList","onTag","tag","options","onIgnoreTag","onTagAttr","name","value","onIgnoreTagAttr","safeAttrValue","cssFilter","lastIndex","test","process","onIgnoreTagStripAll","StripTagBody","tags","next","isRemoveAllTag","Array","isArray","removeList","posStart","indexOf","isRemoveTag","isClosing","ret","end","position","push","remove","rethtml","lastPos","forEach","pos","slice","stripCommentTag","stripBlankChar","chars","split","filter","char","c","join","REGEXP_URL_JAVASCRIPT","onAttr","onIgnoreAttr","module","arr","item","j","prototype","fn","scope","call","trimRight","getTagName","spaceIndex","tagName","toLowerCase","REGEXP_ILLEGAL_ATTR_NAME","findNextEqual","findBeforeEqual","stripQuoteWrap","text","isQuoteWrapString","parseTag","tagStart","quoteStart","currentPos","currentTagName","currentHtml","parseAttr","retAttrs","tmpName","addAttr","root","block","newline","fences","noop","heading","nptable","list","def","lheading","paragraph","Lexer","this","tokens","links","Object","create","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","getRegex","bullet","source","_tag","_comment","merge","lex","src","token","top","loose","cap","bull","listStart","listItems","t","space","l","isordered","istask","ischecked","exec","substring","type","rtrim","lang","depth","splitCells","align","cells","ordered","start","match","RegExp","smartLists","undefined","task","checked","sanitize","sanitizer","href","title","Error","inline","escape","autolink","url","link","reflink","nolink","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","unescape","n","regex","opt","val","cleanUrl","base","prot","decodeURIComponent","e","originIndependentUrl","baseUrls","resolveUrl","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","prevCapZero","out","inLink","inRawBlock","lastParenIndex","findClosingBracket","linkLen","outputLink","escapes","codespan","mangle","smartypants","image","Math","random","toString","infostring","escaped","highlight","langPrefix","quote","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","content","tablecell","flags","baseUrl","parse","inlineText","reverse","tok","pop","peek","parseText","row","cell","errMsg","silent","console","log","hasOwnProperty","originalSlug","&","<",">","\"","'","obj","target","key","arguments","tableRow","count","offset","curr","splice","invert","suffLen","currChar","callback","pending","done","err","message","setOptions","getDefaults","parser","lexer","inlineLexer","_typeof","define","__webpack_require__","__WEBPACK_AMD_DEFINE_RESULT__","window","g","Function","DEFAULT","FilterXSS","filterXSS","self","DedicatedWorkerGlobalScope","parseStyle","isNull","shallowCopyObject","css","sourcePosition","check","isWhite","opts","cssLength","isParenthesisOpen","retCSS","addNewAttr","stripIgnoreTag","error","allowCommentTag","stripIgnoreTagBody","retHtml","info","attrs","closing","getAttrs","whiteAttrList","attrsHtml","isWhiteAttr","filterCSS","index"],"mappings":"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","file":"chunk.f1156b978f6f3143a651.js","sourcesContent":["/**\n * default settings\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar getDefaultCSSWhiteList = require(\"cssfilter\").getDefaultWhiteList;\nvar _ = require(\"./util\");\n\nfunction getDefaultWhiteList() {\n return {\n a: [\"target\", \"href\", \"title\"],\n abbr: [\"title\"],\n address: [],\n area: [\"shape\", \"coords\", \"href\", \"alt\"],\n article: [],\n aside: [],\n audio: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\"],\n b: [],\n bdi: [\"dir\"],\n bdo: [\"dir\"],\n big: [],\n blockquote: [\"cite\"],\n br: [],\n caption: [],\n center: [],\n cite: [],\n code: [],\n col: [\"align\", \"valign\", \"span\", \"width\"],\n colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n dd: [],\n del: [\"datetime\"],\n details: [\"open\"],\n div: [],\n dl: [],\n dt: [],\n em: [],\n font: [\"color\", \"size\", \"face\"],\n footer: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n header: [],\n hr: [],\n i: [],\n img: [\"src\", \"alt\", \"title\", \"width\", \"height\"],\n ins: [\"datetime\"],\n li: [],\n mark: [],\n nav: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n section: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n table: [\"width\", \"border\", \"align\", \"valign\"],\n tbody: [\"align\", \"valign\"],\n td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n tfoot: [\"align\", \"valign\"],\n th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n thead: [\"align\", \"valign\"],\n tr: [\"rowspan\", \"align\", \"valign\"],\n tt: [],\n u: [],\n ul: [],\n video: [\"autoplay\", \"controls\", \"loop\", \"preload\", \"src\", \"height\", \"width\"]\n };\n}\n\nvar defaultCSSFilter = new FilterCSS();\n\n/**\n * default onTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onIgnoreTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default onIgnoreTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onIgnoreTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default escapeHtml function\n *\n * @param {String} html\n */\nfunction escapeHtml(html) {\n return html.replace(REGEXP_LT, \"<\").replace(REGEXP_GT, \">\");\n}\n\n/**\n * default safeAttrValue function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @param {Object} cssFilter\n * @return {String}\n */\nfunction safeAttrValue(tag, name, value, cssFilter) {\n // unescape attribute value firstly\n value = friendlyAttrValue(value);\n\n if (name === \"href\" || name === \"src\") {\n // filter `href` and `src` attribute\n // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n value = _.trim(value);\n if (value === \"#\") return \"#\";\n if (\n !(\n value.substr(0, 7) === \"http://\" ||\n value.substr(0, 8) === \"https://\" ||\n value.substr(0, 7) === \"mailto:\" ||\n value.substr(0, 4) === \"tel:\" ||\n value[0] === \"#\" ||\n value[0] === \"/\"\n )\n ) {\n return \"\";\n }\n } else if (name === \"background\") {\n // filter `background` attribute (maybe no use)\n // `javascript:`\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n } else if (name === \"style\") {\n // `expression()`\n REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n return \"\";\n }\n // `url()`\n REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n }\n if (cssFilter !== false) {\n cssFilter = cssFilter || defaultCSSFilter;\n value = cssFilter.process(value);\n }\n }\n\n // escape `<>\"` before returns\n value = escapeAttrValue(value);\n return value;\n}\n\n// RegExp list\nvar REGEXP_LT = //g;\nvar REGEXP_QUOTE = /\"/g;\nvar REGEXP_QUOTE_2 = /"/g;\nvar REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;\nvar REGEXP_ATTR_VALUE_COLON = /:?/gim;\nvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_4 = /((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;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_7 = /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\n/**\n * escape doube quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction escapeQuote(str) {\n return str.replace(REGEXP_QUOTE, \""\");\n}\n\n/**\n * unescape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction unescapeQuote(str) {\n return str.replace(REGEXP_QUOTE_2, '\"');\n}\n\n/**\n * escape html entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeHtmlEntities(str) {\n return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n return code[0] === \"x\" || code[0] === \"X\"\n ? String.fromCharCode(parseInt(code.substr(1), 16))\n : String.fromCharCode(parseInt(code, 10));\n });\n}\n\n/**\n * escape html5 new danger entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeDangerHtml5Entities(str) {\n return str\n .replace(REGEXP_ATTR_VALUE_COLON, \":\")\n .replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n}\n\n/**\n * clear nonprintable characters\n *\n * @param {String} str\n * @return {String}\n */\nfunction clearNonPrintableCharacter(str) {\n var str2 = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n }\n return _.trim(str2);\n}\n\n/**\n * get friendly attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction friendlyAttrValue(str) {\n str = unescapeQuote(str);\n str = escapeHtmlEntities(str);\n str = escapeDangerHtml5Entities(str);\n str = clearNonPrintableCharacter(str);\n return str;\n}\n\n/**\n * unescape attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeAttrValue(str) {\n str = escapeQuote(str);\n str = escapeHtml(str);\n return str;\n}\n\n/**\n * `onIgnoreTag` function for removing all the tags that are not in whitelist\n */\nfunction onIgnoreTagStripAll() {\n return \"\";\n}\n\n/**\n * remove tag body\n * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n *\n * @param {array} tags\n * @param {function} next\n */\nfunction StripTagBody(tags, next) {\n if (typeof next !== \"function\") {\n next = function() {};\n }\n\n var isRemoveAllTag = !Array.isArray(tags);\n function isRemoveTag(tag) {\n if (isRemoveAllTag) return true;\n return _.indexOf(tags, tag) !== -1;\n }\n\n var removeList = [];\n var posStart = false;\n\n return {\n onIgnoreTag: function(tag, html, options) {\n if (isRemoveTag(tag)) {\n if (options.isClosing) {\n var ret = \"[/removed]\";\n var end = options.position + ret.length;\n removeList.push([\n posStart !== false ? posStart : options.position,\n end\n ]);\n posStart = false;\n return ret;\n } else {\n if (!posStart) {\n posStart = options.position;\n }\n return \"[removed]\";\n }\n } else {\n return next(tag, html, options);\n }\n },\n remove: function(html) {\n var rethtml = \"\";\n var lastPos = 0;\n _.forEach(removeList, function(pos) {\n rethtml += html.slice(lastPos, pos[0]);\n lastPos = pos[1];\n });\n rethtml += html.slice(lastPos);\n return rethtml;\n }\n };\n}\n\n/**\n * remove html comments\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripCommentTag(html) {\n return html.replace(STRIP_COMMENT_TAG_REGEXP, \"\");\n}\nvar STRIP_COMMENT_TAG_REGEXP = //g;\n\n/**\n * remove invisible characters\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripBlankChar(html) {\n var chars = html.split(\"\");\n chars = chars.filter(function(char) {\n var c = char.charCodeAt(0);\n if (c === 127) return false;\n if (c <= 31) {\n if (c === 10 || c === 13) return true;\n return false;\n }\n return true;\n });\n return chars.join(\"\");\n}\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onTag = onTag;\nexports.onIgnoreTag = onIgnoreTag;\nexports.onTagAttr = onTagAttr;\nexports.onIgnoreTagAttr = onIgnoreTagAttr;\nexports.safeAttrValue = safeAttrValue;\nexports.escapeHtml = escapeHtml;\nexports.escapeQuote = escapeQuote;\nexports.unescapeQuote = unescapeQuote;\nexports.escapeHtmlEntities = escapeHtmlEntities;\nexports.escapeDangerHtml5Entities = escapeDangerHtml5Entities;\nexports.clearNonPrintableCharacter = clearNonPrintableCharacter;\nexports.friendlyAttrValue = friendlyAttrValue;\nexports.escapeAttrValue = escapeAttrValue;\nexports.onIgnoreTagStripAll = onIgnoreTagStripAll;\nexports.StripTagBody = StripTagBody;\nexports.stripCommentTag = stripCommentTag;\nexports.stripBlankChar = stripBlankChar;\nexports.cssFilter = defaultCSSFilter;\nexports.getDefaultCSSWhiteList = getDefaultCSSWhiteList;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nfunction getDefaultWhiteList () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onAttr = onAttr;\nexports.onIgnoreAttr = onIgnoreAttr;\nexports.safeAttrValue = safeAttrValue;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n","/**\n * Simple HTML Parser\n *\n * @author Zongmin Lei\n */\n\nvar _ = require(\"./util\");\n\n/**\n * get tag name\n *\n * @param {String} html e.g. '
    '\n * @return {String}\n */\nfunction getTagName(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n var tagName = html.slice(1, -1);\n } else {\n var tagName = html.slice(1, i + 1);\n }\n tagName = _.trim(tagName).toLowerCase();\n if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n return tagName;\n}\n\n/**\n * is close tag?\n *\n * @param {String} html 如:''\n * @return {Boolean}\n */\nfunction isClosing(html) {\n return html.slice(0, 2) === \"\") {\n rethtml += escapeHtml(html.slice(lastPos, tagStart));\n currentHtml = html.slice(tagStart, currentPos + 1);\n currentTagName = getTagName(currentHtml);\n rethtml += onTag(\n tagStart,\n rethtml.length,\n currentTagName,\n currentHtml,\n isClosing(currentHtml)\n );\n lastPos = currentPos + 1;\n tagStart = false;\n continue;\n }\n if ((c === '\"' || c === \"'\") && html.charAt(currentPos - 1) === \"=\") {\n quoteStart = c;\n continue;\n }\n } else {\n if (c === quoteStart) {\n quoteStart = false;\n continue;\n }\n }\n }\n }\n if (lastPos < html.length) {\n rethtml += escapeHtml(html.substr(lastPos));\n }\n\n return rethtml;\n}\n\nvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9_:\\.\\-]/gim;\n\n/**\n * parse input attributes and returns processed attributes\n *\n * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n * @param {Function} onAttr e.g. `function (name, value)`\n * @return {String}\n */\nfunction parseAttr(html, onAttr) {\n \"user strict\";\n\n var lastPos = 0;\n var retAttrs = [];\n var tmpName = false;\n var len = html.length;\n\n function addAttr(name, value) {\n name = _.trim(name);\n name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n if (name.length < 1) return;\n var ret = onAttr(name, value || \"\");\n if (ret) retAttrs.push(ret);\n }\n\n // 逐个分析字符\n for (var i = 0; i < len; i++) {\n var c = html.charAt(i);\n var v, j;\n if (tmpName === false && c === \"=\") {\n tmpName = html.slice(lastPos, i);\n lastPos = i + 1;\n continue;\n }\n if (tmpName !== false) {\n if (\n i === lastPos &&\n (c === '\"' || c === \"'\") &&\n html.charAt(i - 1) === \"=\"\n ) {\n j = html.indexOf(c, i + 1);\n if (j === -1) {\n break;\n } else {\n v = _.trim(html.slice(lastPos + 1, j));\n addAttr(tmpName, v);\n tmpName = false;\n i = j;\n lastPos = i + 1;\n continue;\n }\n }\n }\n if (/\\s|\\n|\\t/.test(c)) {\n html = html.replace(/\\s|\\n|\\t/g, \" \");\n if (tmpName === false) {\n j = findNextEqual(html, i);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n addAttr(v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n i = j - 1;\n continue;\n }\n } else {\n j = findBeforeEqual(html, i - 1);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n v = stripQuoteWrap(v);\n addAttr(tmpName, v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n continue;\n }\n }\n }\n }\n\n if (lastPos < html.length) {\n if (tmpName === false) {\n addAttr(html.slice(lastPos));\n } else {\n addAttr(tmpName, stripQuoteWrap(_.trim(html.slice(lastPos))));\n }\n }\n\n return _.trim(retAttrs.join(\" \"));\n}\n\nfunction findNextEqual(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction findBeforeEqual(str, i) {\n for (; i > 0; i--) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction isQuoteWrapString(text) {\n if (\n (text[0] === '\"' && text[text.length - 1] === '\"') ||\n (text[0] === \"'\" && text[text.length - 1] === \"'\")\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction stripQuoteWrap(text) {\n if (isQuoteWrapString(text)) {\n return text.substr(1, text.length - 2);\n } else {\n return text;\n }\n}\n\nexports.parseTag = parseTag;\nexports.parseAttr = parseAttr;\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._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])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|`(?!`)|[^\\[\\]\\\\`])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = cap[0].length - (cap[2].length - lastParenIndex) - (cap[3] || '').length;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
    '\n      + (escaped ? code : escape(code, true))\n      + '
    ';\n }\n\n return '
    '\n    + (escaped ? code : escape(code, true))\n    + '
    \\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
    \\n' + quote + '
    \\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '
    ';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * xss\n *\n * @author Zongmin Lei\n */\n\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar FilterXSS = require(\"./xss\");\n\n/**\n * filter xss function\n *\n * @param {String} html\n * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n * @return {String}\n */\nfunction filterXSS(html, options) {\n var xss = new FilterXSS(options);\n return xss.process(html);\n}\n\nexports = module.exports = filterXSS;\nexports.filterXSS = filterXSS;\nexports.FilterXSS = FilterXSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\nfor (var i in parser) exports[i] = parser[i];\n\n// using `xss` on the browser, output `filterXSS` to the globals\nif (typeof window !== \"undefined\") {\n window.filterXSS = module.exports;\n}\n\n// using `xss` on the WebWorker, output `filterXSS` to the globals\nfunction isWorkerEnv() {\n return typeof self !== 'undefined' && typeof DedicatedWorkerGlobalScope !== 'undefined' && self instanceof DedicatedWorkerGlobalScope;\n}\nif (isWorkerEnv()) {\n self.filterXSS = module.exports;\n}\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar parseStyle = require('./parser');\nvar _ = require('./util');\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS (options) {\n options = shallowCopyObject(options || {});\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onAttr = options.onAttr || DEFAULT.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nmodule.exports = FilterCSS;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar _ = require('./util');\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle (css, onAttr) {\n css = _.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _.trim(source.slice(0, j));\n var value = _.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) {\n // 在圆括号里面,忽略\n } else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _.trim(retCSS);\n}\n\nmodule.exports = parseStyle;\n","/**\n * filter xss\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar parseTag = parser.parseTag;\nvar parseAttr = parser.parseAttr;\nvar _ = require(\"./util\");\n\n/**\n * returns `true` if the input value is `undefined` or `null`\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull(obj) {\n return obj === undefined || obj === null;\n}\n\n/**\n * get attributes for a tag\n *\n * @param {String} html\n * @return {Object}\n * - {String} html\n * - {Boolean} closing\n */\nfunction getAttrs(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n return {\n html: \"\",\n closing: html[html.length - 2] === \"/\"\n };\n }\n html = _.trim(html.slice(i + 1, -1));\n var isClosing = html[html.length - 1] === \"/\";\n if (isClosing) html = _.trim(html.slice(0, -1));\n return {\n html: html,\n closing: isClosing\n };\n}\n\n/**\n * shallow copy\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject(obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * FilterXSS class\n *\n * @param {Object} options\n * whiteList, onTag, onTagAttr, onIgnoreTag,\n * onIgnoreTagAttr, safeAttrValue, escapeHtml\n * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n */\nfunction FilterXSS(options) {\n options = shallowCopyObject(options || {});\n\n if (options.stripIgnoreTag) {\n if (options.onIgnoreTag) {\n console.error(\n 'Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'\n );\n }\n options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;\n }\n\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onTag = options.onTag || DEFAULT.onTag;\n options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;\n options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;\n options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;\n this.options = options;\n\n if (options.css === false) {\n this.cssFilter = false;\n } else {\n options.css = options.css || {};\n this.cssFilter = new FilterCSS(options.css);\n }\n}\n\n/**\n * start process and returns result\n *\n * @param {String} html\n * @return {String}\n */\nFilterXSS.prototype.process = function(html) {\n // compatible with the input\n html = html || \"\";\n html = html.toString();\n if (!html) return \"\";\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onTag = options.onTag;\n var onIgnoreTag = options.onIgnoreTag;\n var onTagAttr = options.onTagAttr;\n var onIgnoreTagAttr = options.onIgnoreTagAttr;\n var safeAttrValue = options.safeAttrValue;\n var escapeHtml = options.escapeHtml;\n var cssFilter = me.cssFilter;\n\n // remove invisible characters\n if (options.stripBlankChar) {\n html = DEFAULT.stripBlankChar(html);\n }\n\n // remove html comments\n if (!options.allowCommentTag) {\n html = DEFAULT.stripCommentTag(html);\n }\n\n // if enable stripIgnoreTagBody\n var stripIgnoreTagBody = false;\n if (options.stripIgnoreTagBody) {\n var stripIgnoreTagBody = DEFAULT.StripTagBody(\n options.stripIgnoreTagBody,\n onIgnoreTag\n );\n onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n }\n\n var retHtml = parseTag(\n html,\n function(sourcePosition, position, tag, html, isClosing) {\n var info = {\n sourcePosition: sourcePosition,\n position: position,\n isClosing: isClosing,\n isWhite: whiteList.hasOwnProperty(tag)\n };\n\n // call `onTag()`\n var ret = onTag(tag, html, info);\n if (!isNull(ret)) return ret;\n\n if (info.isWhite) {\n if (info.isClosing) {\n return \"\";\n }\n\n var attrs = getAttrs(html);\n var whiteAttrList = whiteList[tag];\n var attrsHtml = parseAttr(attrs.html, function(name, value) {\n // call `onTagAttr()`\n var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;\n var ret = onTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n\n if (isWhiteAttr) {\n // call `safeAttrValue()`\n value = safeAttrValue(tag, name, value, cssFilter);\n if (value) {\n return name + '=\"' + value + '\"';\n } else {\n return name;\n }\n } else {\n // call `onIgnoreTagAttr()`\n var ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n return;\n }\n });\n\n // build new tag html\n var html = \"<\" + tag;\n if (attrsHtml) html += \" \" + attrsHtml;\n if (attrs.closing) html += \" /\";\n html += \">\";\n return html;\n } else {\n // call `onIgnoreTag()`\n var ret = onIgnoreTag(tag, html, info);\n if (!isNull(ret)) return ret;\n return escapeHtml(html);\n }\n },\n escapeHtml\n );\n\n // if enable stripIgnoreTagBody\n if (stripIgnoreTagBody) {\n retHtml = stripIgnoreTagBody.remove(retHtml);\n }\n\n return retHtml;\n};\n\nmodule.exports = FilterXSS;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar FilterCSS = require('./css');\n\n\n/**\n * XSS过滤\n *\n * @param {String} css 要过滤的CSS代码\n * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n * @return {String}\n */\nfunction filterCSS (html, options) {\n var xss = new FilterCSS(options);\n return xss.process(html);\n}\n\n\n// 输出\nexports = module.exports = filterCSS;\nexports.FilterCSS = FilterCSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n\n// 在浏览器端使用\nif (typeof window !== 'undefined') {\n window.filterCSS = module.exports;\n}\n","module.exports = {\n indexOf: function(arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function(arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function(str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n },\n spaceIndex: function(str) {\n var reg = /\\s|\\n|\\t/;\n var match = reg.exec(str);\n return match ? match.index : -1;\n }\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/entrypoint.582baa2f.js b/hassio/api/panel/entrypoint.582baa2f.js new file mode 100644 index 000000000..168ba9584 --- /dev/null +++ b/hassio/api/panel/entrypoint.582baa2f.js @@ -0,0 +1,2 @@ +!function(e){function n(n){for(var t,o,a=n[0],i=n[1],c=0,f=[];cGl4^MbjJQwKXx&)A=5m*dSzGd@Eh#nPpO#ZL(t;k95bBNLVAb zyN&vZ&OdM^+ctL0(%H;y z?QS+}__6QyaRAT?W#J-{O>n?R+C-XumrBh%s*GXlcS7SII%?==vpzO>KYL0W-tBec zV;a+83{ac~=EP}HCd1|_2R7tDH?iNE9d+P)XQFWDaDTMUcbg#UL_mp?E)8qTiXrEC=zjGQpO?j59CX7Iqu-E4dKD)8HUAQ~vxm z!a%q+?_nt6W>vAHaC797qqpX(2!{ z>6Ft)Pv}N*wU@2~FG%m3%Yrb)y*_~Ly-2f!S#H#9rZ{r^!h5Hy-a|}`H44Z`qzs8p zy^8fQZI&PBMD2U?fs^?uDakU)l1wg|qRv;>iCX8&ye2Fy$y$NTvbSuPSY1Pn zgsdbgk@-q4ih5P7WwpwSqF54^m!!&4q$KM_QmA!RK$8{;Vat-pv|3fGbk(S0t@1Q$ zmeq=|71~G=wX7G7tcq#{Rjn$8glm+@oAr8`RB4hH#iB@-*)k)nC`nP|^$Hf5Di+8A zd79*CV~vDdN?FNV<=2b6NmT|}ig93sX|_(XMV43Vw16~Q=Ict50Sh%J{C!7;7^d3v zV`YEioOK)hoIC7S#jSyW7va`gSqsy*EmJK>_wT7PaWiRo(@ImbPpxK!!9gNHo(Lff z4>R{Of{oN^b3@7rL75DE2uODW{`nS4y6O1=x=!AJAb&M>@jL013Bxc_Ep{brkn>7`yq_>N-k>VT`U3 z9r&k+&ndzn<5SR65R;`3TgQqHQ_r4< zjfY`3sLt|(0Q{?j$G`Q9HfM%mt}VCWN*b{A!Df^49`xeMR z*_VXL4?jTn$aWUHNG5mvtMJEmOJ||aKv)cbvSMb=ixxs#=7CD=Xo`q)OfZ{;AO39V zS!inO(Yf=|ibMa?pbirj`!Bif89|KfTTk9*e2M}v>TGnV8}ssj7Y)^WhR)j zuS;?k`L5SC2m~ERL9XOcUm;JYEnbgTB&dGH;ReFH_CaB>Wz&p z??gg}c>8ub@6d$3<89bM|62Z{mPZdRrrhtryj&?Sr+(`>#0h2LSkm1ivwuBU_J5bQyT2TnyMwiUk1bzDH%>luSbdn-usR>K|Ab2#uVt%c z2leJ`5_$E_-j`9HBqQ=5-HkS7G(ksM*C=}i_m9kJlHBeQGrTk8D+}1s0W12WtE(SJ so$Z~1zaSOW{pX*57AW8zj#i`GvdAhavj*Q%evrri1A~P2`TGh009^ak_W%F@ literal 0 HcmV?d00001 diff --git a/hassio/api/panel/entrypoint.582baa2f.js.map b/hassio/api/panel/entrypoint.582baa2f.js.map new file mode 100644 index 000000000..d77cffcae --- /dev/null +++ b/hassio/api/panel/entrypoint.582baa2f.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./hassio/src/entrypoint.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","3","__webpack_require__","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","0","1","2","4","5","6","7","8","9","10","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","self","oldJsonpFunction","slice","s","window","loadES5Adapter","then","styleEl","innerHTML"],"mappings":"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","file":"entrypoint.582baa2f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t3: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"chunk.\" + {\"0\":\"50202a3f8d4670c9454d\",\"1\":\"9cea224f33b375867edd\",\"2\":\"c0a46a38d689ab648885\",\"4\":\"b21a4609308c9b8ef180\",\"5\":\"a1b6b616fc89c412f5b6\",\"6\":\"900c5d3fab8b6ebdcbc6\",\"7\":\"a4f9950b101883805252\",\"8\":\"884d6e32c83f99e41040\",\"9\":\"84aaaba4c4734f1c2e21\",\"10\":\"12902324b918e12549ba\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/api/hassio/app/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = self[\"webpackJsonp\"] = self[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","window.loadES5Adapter().then(() => {\n // eslint-disable-next-line\n import(/* webpackChunkName: \"hassio-icons\" */ \"./resources/hassio-icons\");\n // eslint-disable-next-line\n import(/* webpackChunkName: \"hassio-main\" */ \"./hassio-main\");\n});\nconst styleEl = document.createElement(\"style\");\nstyleEl.innerHTML = `\nbody {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-weight: 400;\n margin: 0;\n padding: 0;\n height: 100vh;\n}\n`;\ndocument.head.appendChild(styleEl);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/entrypoint.js b/hassio/api/panel/entrypoint.js index 31437235a..370f68607 100644 --- a/hassio/api/panel/entrypoint.js +++ b/hassio/api/panel/entrypoint.js @@ -1,2 +1,2 @@ -!function(e){function n(n){for(var t,o,a=n[0],i=n[1],f=0,c=[]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 {\n import(/* webpackChunkName: \"hassio-icons\" */ \"./resources/hassio-icons\");\n import(/* webpackChunkName: \"hassio-main\" */ \"./hassio-main\");\n});\nconst styleEl = document.createElement(\"style\");\nstyleEl.innerHTML = `\nbody {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-weight: 400;\n margin: 0;\n padding: 0;\n height: 100vh;\n}\n`;\ndocument.head.appendChild(styleEl);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./hassio/src/entrypoint.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","3","__webpack_require__","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","0","1","2","4","5","6","7","8","9","10","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","self","oldJsonpFunction","slice","s","window","loadES5Adapter","then","styleEl","innerHTML"],"mappings":"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","file":"entrypoint.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t3: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"chunk.\" + {\"0\":\"50202a3f8d4670c9454d\",\"1\":\"9cea224f33b375867edd\",\"2\":\"c0a46a38d689ab648885\",\"4\":\"b21a4609308c9b8ef180\",\"5\":\"a1b6b616fc89c412f5b6\",\"6\":\"900c5d3fab8b6ebdcbc6\",\"7\":\"a4f9950b101883805252\",\"8\":\"884d6e32c83f99e41040\",\"9\":\"84aaaba4c4734f1c2e21\",\"10\":\"12902324b918e12549ba\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/api/hassio/app/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = self[\"webpackJsonp\"] = self[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","window.loadES5Adapter().then(() => {\n // eslint-disable-next-line\n import(/* webpackChunkName: \"hassio-icons\" */ \"./resources/hassio-icons\");\n // eslint-disable-next-line\n import(/* webpackChunkName: \"hassio-main\" */ \"./hassio-main\");\n});\nconst styleEl = document.createElement(\"style\");\nstyleEl.innerHTML = `\nbody {\n font-family: Roboto, sans-serif;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-weight: 400;\n margin: 0;\n padding: 0;\n height: 100vh;\n}\n`;\ndocument.head.appendChild(styleEl);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/manifest.json b/hassio/api/panel/manifest.json new file mode 100644 index 000000000..30efdb638 --- /dev/null +++ b/hassio/api/panel/manifest.json @@ -0,0 +1,31 @@ +{ + "vendors~hassio-icons~hassio-main.js": "/api/hassio/app/chunk.50202a3f8d4670c9454d.js", + "vendors~hassio-icons~hassio-main.js.map": "/api/hassio/app/chunk.50202a3f8d4670c9454d.js.map", + "dialog-hassio-markdown.js": "/api/hassio/app/chunk.9cea224f33b375867edd.js", + "dialog-hassio-markdown.js.map": "/api/hassio/app/chunk.9cea224f33b375867edd.js.map", + "dialog-hassio-snapshot.js": "/api/hassio/app/chunk.c0a46a38d689ab648885.js", + "dialog-hassio-snapshot.js.map": "/api/hassio/app/chunk.c0a46a38d689ab648885.js.map", + "entrypoint.js": "/api/hassio/app/entrypoint.js", + "entrypoint.js.map": "/api/hassio/app/entrypoint.js.map", + "hassio-addon-view.js": "/api/hassio/app/chunk.b21a4609308c9b8ef180.js", + "hassio-addon-view.js.map": "/api/hassio/app/chunk.b21a4609308c9b8ef180.js.map", + "hassio-icons.js": "/api/hassio/app/chunk.a1b6b616fc89c412f5b6.js", + "hassio-icons.js.map": "/api/hassio/app/chunk.a1b6b616fc89c412f5b6.js.map", + "hassio-ingress-view.js": "/api/hassio/app/chunk.900c5d3fab8b6ebdcbc6.js", + "hassio-ingress-view.js.map": "/api/hassio/app/chunk.900c5d3fab8b6ebdcbc6.js.map", + "hassio-main.js": "/api/hassio/app/chunk.a4f9950b101883805252.js", + "hassio-main.js.map": "/api/hassio/app/chunk.a4f9950b101883805252.js.map", + "mdi-icons.js": "/api/hassio/app/chunk.884d6e32c83f99e41040.js", + "mdi-icons.js.map": "/api/hassio/app/chunk.884d6e32c83f99e41040.js.map", + "vendors~hassio-addon-view.js": "/api/hassio/app/chunk.84aaaba4c4734f1c2e21.js", + "vendors~hassio-addon-view.js.map": "/api/hassio/app/chunk.84aaaba4c4734f1c2e21.js.map", + "vendors~hassio-main.js": "/api/hassio/app/chunk.12902324b918e12549ba.js", + "vendors~hassio-main.js.map": "/api/hassio/app/chunk.12902324b918e12549ba.js.map", + "201359fd5a526afe13ef.worker.js": "/api/hassio/app/201359fd5a526afe13ef.worker.js", + "201359fd5a526afe13ef.worker.js.map": "/api/hassio/app/201359fd5a526afe13ef.worker.js.map", + "chunk.12902324b918e12549ba.js.LICENSE": "/api/hassio/app/chunk.12902324b918e12549ba.js.LICENSE", + "chunk.50202a3f8d4670c9454d.js.LICENSE": "/api/hassio/app/chunk.50202a3f8d4670c9454d.js.LICENSE", + "chunk.84aaaba4c4734f1c2e21.js.LICENSE": "/api/hassio/app/chunk.84aaaba4c4734f1c2e21.js.LICENSE", + "chunk.9cea224f33b375867edd.js.LICENSE": "/api/hassio/app/chunk.9cea224f33b375867edd.js.LICENSE", + "chunk.c0a46a38d689ab648885.js.LICENSE": "/api/hassio/app/chunk.c0a46a38d689ab648885.js.LICENSE" +} \ No newline at end of file diff --git a/home-assistant-polymer b/home-assistant-polymer index 8238b700b..72e537579 160000 --- a/home-assistant-polymer +++ b/home-assistant-polymer @@ -1 +1 @@ -Subproject commit 8238b700b08a8fa227144feeccf83f843da73917 +Subproject commit 72e537579549f1792efe15967221cdd2b523c38f